ERC-20
Overview
Max Total Supply
1,000,000 MAG
Holders
51
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
12,000 MAGValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
ERC20
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-01-18 */ /* SPDX-License-Identifier: Unlicensed https://t.me/MagnifyPNL https://x.com/MagnifyPNL https://Magnify.Money */ pragma solidity 0.8.23; 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 ); } 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 ERC20 is Context, IERC20, Ownable { uint256 private constant _totalSupply = 1_000_000e18; uint256 private twoPercent = 20_000e18; uint256 private constant minSwap = 1_0000e18; uint8 private constant _decimals = 18; IUniswapV2Router02 immutable uniswapV2Router; address immutable uniswapV2Pair; address immutable WETH; address payable immutable marketingWallet; uint256 public buyTax; uint256 public sellTax; uint8 private launch; uint8 private inSwapAndLiquify; uint256 private launchBlock; uint256 public maxTxAmount = 20_000e18; //max Tx string public constant _name = "Magnify"; string public constant _symbol = "MAG"; mapping(address => uint256) private _balance; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFeeWallet; constructor() { uniswapV2Router = IUniswapV2Router02( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D ); WETH = uniswapV2Router.WETH(); buyTax = 20; sellTax = 20; uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), WETH ); marketingWallet = payable(msg.sender); _balance[address(this)] = _totalSupply; _isExcludedFromFeeWallet[marketingWallet] = true; _isExcludedFromFeeWallet[msg.sender] = true; _isExcludedFromFeeWallet[address(this)] = true; _allowances[address(this)][address(uniswapV2Router)] = type(uint256) .max; _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max; _allowances[marketingWallet][address(uniswapV2Router)] = type(uint256) .max; emit Transfer(address(0), _msgSender(), _totalSupply); } 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 _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balance[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()] - amount ); return true; } 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 addLp() external payable onlyOwner { _approve(address(this), address(uniswapV2Router), type(uint).max); uniswapV2Router.addLiquidityETH{value: msg.value}( address(this), balanceOf(address(this)), 0, 0, owner(), block.timestamp ); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function openTrading() external onlyOwner { launch = 1; launchBlock = block.number; } function removeLimits(uint256 finalTaxRate) external onlyOwner { require(finalTaxRate <= 5, "Cannot set tax greater than 5%"); maxTxAmount = _totalSupply; twoPercent = _totalSupply; buyTax = finalTaxRate; sellTax = finalTaxRate; } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(amount > 1e9, "Min transfer amt"); uint256 _tax; if (_isExcludedFromFeeWallet[from] || _isExcludedFromFeeWallet[to]) { _tax = 0; } else { require( launch != 0 && amount <= maxTxAmount, "Launch / Max TxAmount 2% at launch" ); if (inSwapAndLiquify == 1) { //No tax transfer _balance[from] -= amount; _balance[to] += amount; emit Transfer(from, to, amount); return; } if (from == uniswapV2Pair) { _tax = buyTax; } else if (to == uniswapV2Pair) { uint256 tokensToSwap = _balance[address(this)]; if (tokensToSwap > minSwap && inSwapAndLiquify == 0) { if (tokensToSwap > twoPercent) { tokensToSwap = twoPercent; } inSwapAndLiquify = 1; address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; uniswapV2Router .swapExactTokensForETHSupportingFeeOnTransferTokens( tokensToSwap, 0, path, marketingWallet, block.timestamp ); inSwapAndLiquify = 0; } _tax = sellTax; } else { _tax = 0; } } //Is there tax for sender|receiver? if (_tax != 0) { //Tax transfer uint256 taxTokens = (amount * _tax) / 100; uint256 transferAmount = amount - taxTokens; _balance[from] -= amount; _balance[to] += transferAmount; _balance[address(this)] += taxTokens; emit Transfer(from, address(this), taxTokens); emit Transfer(from, to, transferAmount); } else { //No tax transfer _balance[from] -= amount; _balance[to] += amount; emit Transfer(from, to, amount); } } receive() external payable {} }
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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLp","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyTax","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":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"finalTaxRate","type":"uint256"}],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"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
61010060405269043c33c193756480000060025569043c33c19375648000006007553480156200002d575f80fd5b505f6200003f620006e460201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200016f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000195919062000750565b73ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250506014600381905550601460048190555060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000224573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200024a919062000750565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060c0516040518363ffffffff1660e01b81526004016200028892919062000791565b6020604051808303815f875af1158015620002a5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002cb919062000750565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250503373ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff168152505069d3c21bcecceda100000060085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506001600a5f60e05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60095f60e05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506200066e620006e460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef69d3c21bcecceda1000000604051620006d69190620007d6565b60405180910390a3620007f1565b5f33905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200071a82620006ef565b9050919050565b6200072c816200070e565b811462000737575f80fd5b50565b5f815190506200074a8162000721565b92915050565b5f60208284031215620007685762000767620006eb565b5b5f62000777848285016200073a565b91505092915050565b6200078b816200070e565b82525050565b5f604082019050620007a65f83018562000780565b620007b5602083018462000780565b9392505050565b5f819050919050565b620007d081620007bc565b82525050565b5f602082019050620007eb5f830184620007c5565b92915050565b60805160a05160c05160e0516122e3620008485f395f61141301525f61136501525f818161070e0152818161117e01526111db01525f8181610610015281816106570152818161074a01526113d401526122e35ff3fe608060405260043610610117575f3560e01c80638c0b5e221161009f578063c9567bf911610063578063c9567bf914610382578063cc1776d314610398578063d28d8852146103c2578063dd62ed3e146103ec578063e559d86a146104285761011e565b80638c0b5e221461029e5780638da5cb5b146102c857806395d89b41146102f2578063a9059cbb1461031c578063b09f1266146103585761011e565b8063313ce567116100e6578063313ce567146101ee578063427a5c02146102185780634f7041a51461022257806370a082311461024c578063715018a6146102885761011e565b806306fdde0314610122578063095ea7b31461014c57806318160ddd1461018857806323b872dd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b50610136610450565b6040516101439190611846565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d91906118f7565b61048d565b60405161017f919061194f565b60405180910390f35b348015610193575f80fd5b5061019c6104aa565b6040516101a99190611977565b60405180910390f35b3480156101bd575f80fd5b506101d860048036038101906101d39190611990565b6104bb565b6040516101e5919061194f565b60405180910390f35b3480156101f9575f80fd5b5061020261056e565b60405161020f91906119fb565b60405180910390f35b610220610576565b005b34801561022d575f80fd5b506102366107ea565b6040516102439190611977565b60405180910390f35b348015610257575f80fd5b50610272600480360381019061026d9190611a14565b6107f0565b60405161027f9190611977565b60405180910390f35b348015610293575f80fd5b5061029c610836565b005b3480156102a9575f80fd5b506102b2610984565b6040516102bf9190611977565b60405180910390f35b3480156102d3575f80fd5b506102dc61098a565b6040516102e99190611a4e565b60405180910390f35b3480156102fd575f80fd5b506103066109b1565b6040516103139190611846565b60405180910390f35b348015610327575f80fd5b50610342600480360381019061033d91906118f7565b6109ee565b60405161034f919061194f565b60405180910390f35b348015610363575f80fd5b5061036c610a0b565b6040516103799190611846565b60405180910390f35b34801561038d575f80fd5b50610396610a44565b005b3480156103a3575f80fd5b506103ac610afc565b6040516103b99190611977565b60405180910390f35b3480156103cd575f80fd5b506103d6610b02565b6040516103e39190611846565b60405180910390f35b3480156103f7575f80fd5b50610412600480360381019061040d9190611a67565b610b3b565b60405161041f9190611977565b60405180910390f35b348015610433575f80fd5b5061044e60048036038101906104499190611aa5565b610bbd565b005b60606040518060400160405280600781526020017f4d61676e69667900000000000000000000000000000000000000000000000000815250905090565b5f6104a0610499610cc8565b8484610ccf565b6001905092915050565b5f69d3c21bcecceda1000000905090565b5f6104c7848484610e92565b610563846104d3610cc8565b8460095f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61051a610cc8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461055e9190611afd565b610ccf565b600190509392505050565b5f6012905090565b61057e610cc8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461060a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060190611b7a565b60405180910390fd5b610655307f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610ccf565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d719343061069c306107f0565b5f806106a661098a565b426040518863ffffffff1660e01b81526004016106c896959493929190611bda565b60606040518083038185885af11580156106e4573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107099190611c4d565b5050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f00000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016107a7929190611c9d565b6020604051808303815f875af11580156107c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e79190611cee565b50565b60035481565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61083e610cc8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c190611b7a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4d41470000000000000000000000000000000000000000000000000000000000815250905090565b5f610a016109fa610cc8565b8484610e92565b6001905092915050565b6040518060400160405280600381526020017f4d4147000000000000000000000000000000000000000000000000000000000081525081565b610a4c610cc8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acf90611b7a565b60405180910390fd5b600160055f6101000a81548160ff021916908360ff16021790555043600681905550565b60045481565b6040518060400160405280600781526020017f4d61676e6966790000000000000000000000000000000000000000000000000081525081565b5f60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610bc5610cc8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4890611b7a565b60405180910390fd5b6005811115610c95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8c90611d63565b60405180910390fd5b69d3c21bcecceda100000060078190555069d3c21bcecceda1000000600281905550806003819055508060048190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3490611df1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da290611e7f565b60405180910390fd5b8060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e859190611977565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef790611f0d565b60405180910390fd5b633b9aca008111610f46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3d90611f75565b60405180910390fd5b5f600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610fe25750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15610fef575f90506114ae565b5f60055f9054906101000a900460ff1660ff161415801561101257506007548211155b611051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104890612003565b60405180910390fd5b6001600560019054906101000a900460ff1660ff160361117c578160085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546110b79190611afd565b925050819055508160085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461110a9190612021565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161116e9190611977565b60405180910390a3506117b7565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036111d95760035490506114ad565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114a8575f60085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905069021e19e0c9bab24000008111801561129757505f600560019054906101000a900460ff1660ff16145b1561149d576002548111156112ac5760025490505b6001600560016101000a81548160ff021916908360ff1602179055505f600267ffffffffffffffff8111156112e4576112e3612054565b5b6040519080825280602002602001820160405280156113125781602001602082028036833780820191505090505b50905030815f8151811061132957611328612081565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061139857611397612081565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f847f0000000000000000000000000000000000000000000000000000000000000000426040518663ffffffff1660e01b81526004016114539594939291906121b7565b5f604051808303815f87803b15801561146a575f80fd5b505af115801561147c573d5f803e3d5ffd5b505050505f600560016101000a81548160ff021916908360ff160217905550505b6004549150506114ac565b5f90505b5b5b5f81146116a9575f606482846114c4919061220f565b6114ce919061227d565b90505f81846114dd9190611afd565b90508360085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461152b9190611afd565b925050819055508060085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461157e9190612021565b925050819055508160085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546115d19190612021565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116359190611977565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161169a9190611977565b60405180910390a350506117b5565b8160085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546116f59190611afd565b925050819055508160085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546117489190612021565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117ac9190611977565b60405180910390a35b505b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156117f35780820151818401526020810190506117d8565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611818826117bc565b61182281856117c6565b93506118328185602086016117d6565b61183b816117fe565b840191505092915050565b5f6020820190508181035f83015261185e818461180e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118938261186a565b9050919050565b6118a381611889565b81146118ad575f80fd5b50565b5f813590506118be8161189a565b92915050565b5f819050919050565b6118d6816118c4565b81146118e0575f80fd5b50565b5f813590506118f1816118cd565b92915050565b5f806040838503121561190d5761190c611866565b5b5f61191a858286016118b0565b925050602061192b858286016118e3565b9150509250929050565b5f8115159050919050565b61194981611935565b82525050565b5f6020820190506119625f830184611940565b92915050565b611971816118c4565b82525050565b5f60208201905061198a5f830184611968565b92915050565b5f805f606084860312156119a7576119a6611866565b5b5f6119b4868287016118b0565b93505060206119c5868287016118b0565b92505060406119d6868287016118e3565b9150509250925092565b5f60ff82169050919050565b6119f5816119e0565b82525050565b5f602082019050611a0e5f8301846119ec565b92915050565b5f60208284031215611a2957611a28611866565b5b5f611a36848285016118b0565b91505092915050565b611a4881611889565b82525050565b5f602082019050611a615f830184611a3f565b92915050565b5f8060408385031215611a7d57611a7c611866565b5b5f611a8a858286016118b0565b9250506020611a9b858286016118b0565b9150509250929050565b5f60208284031215611aba57611ab9611866565b5b5f611ac7848285016118e3565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611b07826118c4565b9150611b12836118c4565b9250828203905081811115611b2a57611b29611ad0565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611b646020836117c6565b9150611b6f82611b30565b602082019050919050565b5f6020820190508181035f830152611b9181611b58565b9050919050565b5f819050919050565b5f819050919050565b5f611bc4611bbf611bba84611b98565b611ba1565b6118c4565b9050919050565b611bd481611baa565b82525050565b5f60c082019050611bed5f830189611a3f565b611bfa6020830188611968565b611c076040830187611bcb565b611c146060830186611bcb565b611c216080830185611a3f565b611c2e60a0830184611968565b979650505050505050565b5f81519050611c47816118cd565b92915050565b5f805f60608486031215611c6457611c63611866565b5b5f611c7186828701611c39565b9350506020611c8286828701611c39565b9250506040611c9386828701611c39565b9150509250925092565b5f604082019050611cb05f830185611a3f565b611cbd6020830184611968565b9392505050565b611ccd81611935565b8114611cd7575f80fd5b50565b5f81519050611ce881611cc4565b92915050565b5f60208284031215611d0357611d02611866565b5b5f611d1084828501611cda565b91505092915050565b7f43616e6e6f7420736574207461782067726561746572207468616e20352500005f82015250565b5f611d4d601e836117c6565b9150611d5882611d19565b602082019050919050565b5f6020820190508181035f830152611d7a81611d41565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611ddb6024836117c6565b9150611de682611d81565b604082019050919050565b5f6020820190508181035f830152611e0881611dcf565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611e696022836117c6565b9150611e7482611e0f565b604082019050919050565b5f6020820190508181035f830152611e9681611e5d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611ef76025836117c6565b9150611f0282611e9d565b604082019050919050565b5f6020820190508181035f830152611f2481611eeb565b9050919050565b7f4d696e207472616e7366657220616d74000000000000000000000000000000005f82015250565b5f611f5f6010836117c6565b9150611f6a82611f2b565b602082019050919050565b5f6020820190508181035f830152611f8c81611f53565b9050919050565b7f4c61756e6368202f204d6178205478416d6f756e74203225206174206c61756e5f8201527f6368000000000000000000000000000000000000000000000000000000000000602082015250565b5f611fed6022836117c6565b9150611ff882611f93565b604082019050919050565b5f6020820190508181035f83015261201a81611fe1565b9050919050565b5f61202b826118c4565b9150612036836118c4565b925082820190508082111561204e5761204d611ad0565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6120e081611889565b82525050565b5f6120f183836120d7565b60208301905092915050565b5f602082019050919050565b5f612113826120ae565b61211d81856120b8565b9350612128836120c8565b805f5b8381101561215857815161213f88826120e6565b975061214a836120fd565b92505060018101905061212b565b5085935050505092915050565b5f61217f61217a6121758461186a565b611ba1565b61186a565b9050919050565b5f61219082612165565b9050919050565b5f6121a182612186565b9050919050565b6121b181612197565b82525050565b5f60a0820190506121ca5f830188611968565b6121d76020830187611bcb565b81810360408301526121e98186612109565b90506121f860608301856121a8565b6122056080830184611968565b9695505050505050565b5f612219826118c4565b9150612224836118c4565b9250828202612232816118c4565b9150828204841483151761224957612248611ad0565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612287826118c4565b9150612292836118c4565b9250826122a2576122a1612250565b5b82820490509291505056fea26469706673582212208af6edd0827776da15b8ca74a0b5d6a7a12591d3b1cd81c8c75aff1a818fe47664736f6c63430008170033
Deployed Bytecode
0x608060405260043610610117575f3560e01c80638c0b5e221161009f578063c9567bf911610063578063c9567bf914610382578063cc1776d314610398578063d28d8852146103c2578063dd62ed3e146103ec578063e559d86a146104285761011e565b80638c0b5e221461029e5780638da5cb5b146102c857806395d89b41146102f2578063a9059cbb1461031c578063b09f1266146103585761011e565b8063313ce567116100e6578063313ce567146101ee578063427a5c02146102185780634f7041a51461022257806370a082311461024c578063715018a6146102885761011e565b806306fdde0314610122578063095ea7b31461014c57806318160ddd1461018857806323b872dd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b50610136610450565b6040516101439190611846565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d91906118f7565b61048d565b60405161017f919061194f565b60405180910390f35b348015610193575f80fd5b5061019c6104aa565b6040516101a99190611977565b60405180910390f35b3480156101bd575f80fd5b506101d860048036038101906101d39190611990565b6104bb565b6040516101e5919061194f565b60405180910390f35b3480156101f9575f80fd5b5061020261056e565b60405161020f91906119fb565b60405180910390f35b610220610576565b005b34801561022d575f80fd5b506102366107ea565b6040516102439190611977565b60405180910390f35b348015610257575f80fd5b50610272600480360381019061026d9190611a14565b6107f0565b60405161027f9190611977565b60405180910390f35b348015610293575f80fd5b5061029c610836565b005b3480156102a9575f80fd5b506102b2610984565b6040516102bf9190611977565b60405180910390f35b3480156102d3575f80fd5b506102dc61098a565b6040516102e99190611a4e565b60405180910390f35b3480156102fd575f80fd5b506103066109b1565b6040516103139190611846565b60405180910390f35b348015610327575f80fd5b50610342600480360381019061033d91906118f7565b6109ee565b60405161034f919061194f565b60405180910390f35b348015610363575f80fd5b5061036c610a0b565b6040516103799190611846565b60405180910390f35b34801561038d575f80fd5b50610396610a44565b005b3480156103a3575f80fd5b506103ac610afc565b6040516103b99190611977565b60405180910390f35b3480156103cd575f80fd5b506103d6610b02565b6040516103e39190611846565b60405180910390f35b3480156103f7575f80fd5b50610412600480360381019061040d9190611a67565b610b3b565b60405161041f9190611977565b60405180910390f35b348015610433575f80fd5b5061044e60048036038101906104499190611aa5565b610bbd565b005b60606040518060400160405280600781526020017f4d61676e69667900000000000000000000000000000000000000000000000000815250905090565b5f6104a0610499610cc8565b8484610ccf565b6001905092915050565b5f69d3c21bcecceda1000000905090565b5f6104c7848484610e92565b610563846104d3610cc8565b8460095f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61051a610cc8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461055e9190611afd565b610ccf565b600190509392505050565b5f6012905090565b61057e610cc8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461060a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060190611b7a565b60405180910390fd5b610655307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610ccf565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d719343061069c306107f0565b5f806106a661098a565b426040518863ffffffff1660e01b81526004016106c896959493929190611bda565b60606040518083038185885af11580156106e4573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107099190611c4d565b5050507f00000000000000000000000045dcecc2d7a924a4fd6201457230c191b760aadb73ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016107a7929190611c9d565b6020604051808303815f875af11580156107c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107e79190611cee565b50565b60035481565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61083e610cc8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c190611b7a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4d41470000000000000000000000000000000000000000000000000000000000815250905090565b5f610a016109fa610cc8565b8484610e92565b6001905092915050565b6040518060400160405280600381526020017f4d4147000000000000000000000000000000000000000000000000000000000081525081565b610a4c610cc8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acf90611b7a565b60405180910390fd5b600160055f6101000a81548160ff021916908360ff16021790555043600681905550565b60045481565b6040518060400160405280600781526020017f4d61676e6966790000000000000000000000000000000000000000000000000081525081565b5f60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610bc5610cc8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4890611b7a565b60405180910390fd5b6005811115610c95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8c90611d63565b60405180910390fd5b69d3c21bcecceda100000060078190555069d3c21bcecceda1000000600281905550806003819055508060048190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3490611df1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610dab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da290611e7f565b60405180910390fd5b8060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e859190611977565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef790611f0d565b60405180910390fd5b633b9aca008111610f46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3d90611f75565b60405180910390fd5b5f600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610fe25750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15610fef575f90506114ae565b5f60055f9054906101000a900460ff1660ff161415801561101257506007548211155b611051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104890612003565b60405180910390fd5b6001600560019054906101000a900460ff1660ff160361117c578160085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546110b79190611afd565b925050819055508160085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461110a9190612021565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161116e9190611977565b60405180910390a3506117b7565b7f00000000000000000000000045dcecc2d7a924a4fd6201457230c191b760aadb73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036111d95760035490506114ad565b7f00000000000000000000000045dcecc2d7a924a4fd6201457230c191b760aadb73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114a8575f60085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905069021e19e0c9bab24000008111801561129757505f600560019054906101000a900460ff1660ff16145b1561149d576002548111156112ac5760025490505b6001600560016101000a81548160ff021916908360ff1602179055505f600267ffffffffffffffff8111156112e4576112e3612054565b5b6040519080825280602002602001820160405280156113125781602001602082028036833780820191505090505b50905030815f8151811061132957611328612081565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061139857611397612081565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f847f000000000000000000000000be7d01a0330fbd306dbff490af6937418bf198ab426040518663ffffffff1660e01b81526004016114539594939291906121b7565b5f604051808303815f87803b15801561146a575f80fd5b505af115801561147c573d5f803e3d5ffd5b505050505f600560016101000a81548160ff021916908360ff160217905550505b6004549150506114ac565b5f90505b5b5b5f81146116a9575f606482846114c4919061220f565b6114ce919061227d565b90505f81846114dd9190611afd565b90508360085f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461152b9190611afd565b925050819055508060085f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461157e9190612021565b925050819055508160085f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546115d19190612021565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116359190611977565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161169a9190611977565b60405180910390a350506117b5565b8160085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546116f59190611afd565b925050819055508160085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546117489190612021565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117ac9190611977565b60405180910390a35b505b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156117f35780820151818401526020810190506117d8565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611818826117bc565b61182281856117c6565b93506118328185602086016117d6565b61183b816117fe565b840191505092915050565b5f6020820190508181035f83015261185e818461180e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6118938261186a565b9050919050565b6118a381611889565b81146118ad575f80fd5b50565b5f813590506118be8161189a565b92915050565b5f819050919050565b6118d6816118c4565b81146118e0575f80fd5b50565b5f813590506118f1816118cd565b92915050565b5f806040838503121561190d5761190c611866565b5b5f61191a858286016118b0565b925050602061192b858286016118e3565b9150509250929050565b5f8115159050919050565b61194981611935565b82525050565b5f6020820190506119625f830184611940565b92915050565b611971816118c4565b82525050565b5f60208201905061198a5f830184611968565b92915050565b5f805f606084860312156119a7576119a6611866565b5b5f6119b4868287016118b0565b93505060206119c5868287016118b0565b92505060406119d6868287016118e3565b9150509250925092565b5f60ff82169050919050565b6119f5816119e0565b82525050565b5f602082019050611a0e5f8301846119ec565b92915050565b5f60208284031215611a2957611a28611866565b5b5f611a36848285016118b0565b91505092915050565b611a4881611889565b82525050565b5f602082019050611a615f830184611a3f565b92915050565b5f8060408385031215611a7d57611a7c611866565b5b5f611a8a858286016118b0565b9250506020611a9b858286016118b0565b9150509250929050565b5f60208284031215611aba57611ab9611866565b5b5f611ac7848285016118e3565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611b07826118c4565b9150611b12836118c4565b9250828203905081811115611b2a57611b29611ad0565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611b646020836117c6565b9150611b6f82611b30565b602082019050919050565b5f6020820190508181035f830152611b9181611b58565b9050919050565b5f819050919050565b5f819050919050565b5f611bc4611bbf611bba84611b98565b611ba1565b6118c4565b9050919050565b611bd481611baa565b82525050565b5f60c082019050611bed5f830189611a3f565b611bfa6020830188611968565b611c076040830187611bcb565b611c146060830186611bcb565b611c216080830185611a3f565b611c2e60a0830184611968565b979650505050505050565b5f81519050611c47816118cd565b92915050565b5f805f60608486031215611c6457611c63611866565b5b5f611c7186828701611c39565b9350506020611c8286828701611c39565b9250506040611c9386828701611c39565b9150509250925092565b5f604082019050611cb05f830185611a3f565b611cbd6020830184611968565b9392505050565b611ccd81611935565b8114611cd7575f80fd5b50565b5f81519050611ce881611cc4565b92915050565b5f60208284031215611d0357611d02611866565b5b5f611d1084828501611cda565b91505092915050565b7f43616e6e6f7420736574207461782067726561746572207468616e20352500005f82015250565b5f611d4d601e836117c6565b9150611d5882611d19565b602082019050919050565b5f6020820190508181035f830152611d7a81611d41565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611ddb6024836117c6565b9150611de682611d81565b604082019050919050565b5f6020820190508181035f830152611e0881611dcf565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611e696022836117c6565b9150611e7482611e0f565b604082019050919050565b5f6020820190508181035f830152611e9681611e5d565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611ef76025836117c6565b9150611f0282611e9d565b604082019050919050565b5f6020820190508181035f830152611f2481611eeb565b9050919050565b7f4d696e207472616e7366657220616d74000000000000000000000000000000005f82015250565b5f611f5f6010836117c6565b9150611f6a82611f2b565b602082019050919050565b5f6020820190508181035f830152611f8c81611f53565b9050919050565b7f4c61756e6368202f204d6178205478416d6f756e74203225206174206c61756e5f8201527f6368000000000000000000000000000000000000000000000000000000000000602082015250565b5f611fed6022836117c6565b9150611ff882611f93565b604082019050919050565b5f6020820190508181035f83015261201a81611fe1565b9050919050565b5f61202b826118c4565b9150612036836118c4565b925082820190508082111561204e5761204d611ad0565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6120e081611889565b82525050565b5f6120f183836120d7565b60208301905092915050565b5f602082019050919050565b5f612113826120ae565b61211d81856120b8565b9350612128836120c8565b805f5b8381101561215857815161213f88826120e6565b975061214a836120fd565b92505060018101905061212b565b5085935050505092915050565b5f61217f61217a6121758461186a565b611ba1565b61186a565b9050919050565b5f61219082612165565b9050919050565b5f6121a182612186565b9050919050565b6121b181612197565b82525050565b5f60a0820190506121ca5f830188611968565b6121d76020830187611bcb565b81810360408301526121e98186612109565b90506121f860608301856121a8565b6122056080830184611968565b9695505050505050565b5f612219826118c4565b9150612224836118c4565b9250828202612232816118c4565b9150828204841483151761224957612248611ad0565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612287826118c4565b9150612292836118c4565b9250826122a2576122a1612250565b5b82820490509291505056fea26469706673582212208af6edd0827776da15b8ca74a0b5d6a7a12591d3b1cd81c8c75aff1a818fe47664736f6c63430008170033
Deployed Bytecode Sourcemap
2991:7735:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5068:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6060:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5381:106;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6278:386;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5278:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7042:465;;;:::i;:::-;;3443:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5501:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1899:157;;;;;;;;;;;;;:::i;:::-;;3623:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1654:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5171:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5639:210;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3735:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7521:117;;;;;;;;;;;;;:::i;:::-;;3474:22;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3685:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5863:183;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7652:298;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5068:89;5105:13;5141:5;;;;;;;;;;;;;;;;;5134:12;;5068:89;:::o;6060:204::-;6169:4;6189:39;6198:12;:10;:12::i;:::-;6212:7;6221:6;6189:8;:39::i;:::-;6249:4;6242:11;;6060:204;;;;:::o;5381:106::-;5434:7;3084:12;5457:19;;5381:106;:::o;6278:386::-;6422:4;6442:36;6452:6;6460:9;6471:6;6442:9;:36::i;:::-;6492:136;6518:6;6542:12;:10;:12::i;:::-;6608:6;6572:11;:19;6584:6;6572:19;;;;;;;;;;;;;;;:33;6592:12;:10;:12::i;:::-;6572:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;6492:8;:136::i;:::-;6649:4;6642:11;;6278:386;;;;;:::o;5278:89::-;5319:5;3243:2;5340:16;;5278:89;:::o;7042:465::-;1806:12;:10;:12::i;:::-;1796:22;;:6;;;;;;;;;;:22;;;1788:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7100:65:::1;7117:4;7132:15;7150:14;7100:8;:65::i;:::-;7179:15;:31;;;7218:9;7254:4;7277:24;7295:4;7277:9;:24::i;:::-;7319:1;7338::::0;7357:7:::1;:5;:7::i;:::-;7382:15;7179:232;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;7432:13;7425:29;;;7463:15;7481:14;7425:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7042:465::o:0;3443:21::-;;;;:::o;5501:124::-;5567:7;5597:8;:17;5606:7;5597:17;;;;;;;;;;;;;;;;5590:24;;5501:124;;;:::o;1899:157::-;1806:12;:10;:12::i;:::-;1796:22;;:6;;;;;;;;;;:22;;;1788:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2009:1:::1;1972:40;;1993:6;::::0;::::1;;;;;;;;1972:40;;;;;;;;;;;;2043:1;2026:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1899:157::o:0;3623:38::-;;;;:::o;1654:85::-;1692:7;1722:6;;;;;;;;;;;1715:13;;1654:85;:::o;5171:93::-;5210:13;5246:7;;;;;;;;;;;;;;;;;5239:14;;5171:93;:::o;5639:210::-;5751:4;5771:42;5781:12;:10;:12::i;:::-;5795:9;5806:6;5771:9;:42::i;:::-;5834:4;5827:11;;5639:210;;;;:::o;3735:38::-;;;;;;;;;;;;;;;;;;;:::o;7521:117::-;1806:12;:10;:12::i;:::-;1796:22;;:6;;;;;;;;;;:22;;;1788:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7586:1:::1;7577:6;;:10;;;;;;;;;;;;;;;;;;7615:12;7601:11;:26;;;;7521:117::o:0;3474:22::-;;;;:::o;3685:40::-;;;;;;;;;;;;;;;;;;;:::o;5863:183::-;5978:7;6008:11;:18;6020:5;6008:18;;;;;;;;;;;;;;;:27;6027:7;6008:27;;;;;;;;;;;;;;;;6001:34;;5863:183;;;;:::o;7652:298::-;1806:12;:10;:12::i;:::-;1796:22;;:6;;;;;;;;;;:22;;;1788:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7753:1:::1;7737:12;:17;;7729:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;3084:12;7803:11;:26;;;;3084:12;7843:10;:25;;;;7891:12;7882:6;:21;;;;7927:12;7917:7;:22;;;;7652:298:::0;:::o;213:104::-;266:7;296:10;289:17;;213:104;:::o;6678:350::-;6791:1;6774:19;;:5;:19;;;6766:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6875:1;6856:21;;:7;:21;;;6848:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6960:6;6930:11;:18;6942:5;6930:18;;;;;;;;;;;;;;;:27;6949:7;6930:27;;;;;;;;;;;;;;;:36;;;;7001:7;6985:32;;6994:5;6985:32;;;7010:6;6985:32;;;;;;:::i;:::-;;;;;;;;6678:350;;;:::o;7976:2701::-;8083:1;8067:18;;:4;:18;;;8059:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8158:3;8149:6;:12;8141:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;8201:12;8231:24;:30;8256:4;8231:30;;;;;;;;;;;;;;;;;;;;;;;;;:62;;;;8265:24;:28;8290:2;8265:28;;;;;;;;;;;;;;;;;;;;;;;;;8231:62;8227:1733;;;8320:1;8313:8;;8227:1733;;;8399:1;8389:6;;;;;;;;;;;:11;;;;:36;;;;;8414:11;;8404:6;:21;;8389:36;8360:141;;;;;;;;;;;;:::i;:::-;;;;;;;;;8548:1;8528:16;;;;;;;;;;;:21;;;8524:260;;8629:6;8611:8;:14;8620:4;8611:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;8673:6;8657:8;:12;8666:2;8657:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;8726:2;8711:26;;8720:4;8711:26;;;8730:6;8711:26;;;;;;:::i;:::-;;;;;;;;8759:7;;;8524:260;8818:13;8810:21;;:4;:21;;;8806:1140;;8862:6;;8855:13;;8806:1140;;;8903:13;8897:19;;:2;:19;;;8893:1053;;8940:20;8963:8;:23;8980:4;8963:23;;;;;;;;;;;;;;;;8940:46;;3189:9;9012:12;:22;:47;;;;;9058:1;9038:16;;;;;;;;;;;:21;;;9012:47;9008:829;;;9106:10;;9091:12;:25;9087:113;;;9163:10;;9148:25;;9087:113;9244:1;9225:16;;:20;;;;;;;;;;;;;;;;;;9271:21;9309:1;9295:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9271:40;;9355:4;9337;9342:1;9337:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;9396:4;9386;9391:1;9386:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;;;9426:15;:95;;;9555:12;9601:1;9636:4;9674:15;9723;9426:342;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9813:1;9794:16;;:20;;;;;;;;;;;;;;;;;;9061:776;9008:829;9865:7;;9858:14;;8918:973;8893:1053;;;9926:1;9919:8;;8893:1053;8806:1140;8227:1733;10038:1;10030:4;:9;10026:641;;10090:17;10128:3;10120:4;10111:6;:13;;;;:::i;:::-;10110:21;;;;:::i;:::-;10090:41;;10149:22;10183:9;10174:6;:18;;;;:::i;:::-;10149:43;;10233:6;10215:8;:14;10224:4;10215:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;10273:14;10257:8;:12;10266:2;10257:12;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;10332:9;10305:8;:23;10322:4;10305:23;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;10387:4;10364:40;;10373:4;10364:40;;;10394:9;10364:40;;;;;;:::i;:::-;;;;;;;;10442:2;10427:34;;10436:4;10427:34;;;10446:14;10427:34;;;;;;:::i;:::-;;;;;;;;10041:435;;10026:641;;;10552:6;10534:8;:14;10543:4;10534:14;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;10592:6;10576:8;:12;10585:2;10576:12;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;10641:2;10626:26;;10635:4;10626:26;;;10645:6;10626:26;;;;;;:::i;:::-;;;;;;;;10026:641;8045:2632;7976:2701;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:329::-;6079:6;6128:2;6116:9;6107:7;6103:23;6099:32;6096:119;;;6134:79;;:::i;:::-;6096:119;6254:1;6279:53;6324:7;6315:6;6304:9;6300:22;6279:53;:::i;:::-;6269:63;;6225:117;6020:329;;;;:::o;6355:180::-;6403:77;6400:1;6393:88;6500:4;6497:1;6490:15;6524:4;6521:1;6514:15;6541:194;6581:4;6601:20;6619:1;6601:20;:::i;:::-;6596:25;;6635:20;6653:1;6635:20;:::i;:::-;6630:25;;6679:1;6676;6672:9;6664:17;;6703:1;6697:4;6694:11;6691:37;;;6708:18;;:::i;:::-;6691:37;6541:194;;;;:::o;6741:182::-;6881:34;6877:1;6869:6;6865:14;6858:58;6741:182;:::o;6929:366::-;7071:3;7092:67;7156:2;7151:3;7092:67;:::i;:::-;7085:74;;7168:93;7257:3;7168:93;:::i;:::-;7286:2;7281:3;7277:12;7270:19;;6929:366;;;:::o;7301:419::-;7467:4;7505:2;7494:9;7490:18;7482:26;;7554:9;7548:4;7544:20;7540:1;7529:9;7525:17;7518:47;7582:131;7708:4;7582:131;:::i;:::-;7574:139;;7301:419;;;:::o;7726:85::-;7771:7;7800:5;7789:16;;7726:85;;;:::o;7817:60::-;7845:3;7866:5;7859:12;;7817:60;;;:::o;7883:158::-;7941:9;7974:61;7992:42;8001:32;8027:5;8001:32;:::i;:::-;7992:42;:::i;:::-;7974:61;:::i;:::-;7961:74;;7883:158;;;:::o;8047:147::-;8142:45;8181:5;8142:45;:::i;:::-;8137:3;8130:58;8047:147;;:::o;8200:807::-;8449:4;8487:3;8476:9;8472:19;8464:27;;8501:71;8569:1;8558:9;8554:17;8545:6;8501:71;:::i;:::-;8582:72;8650:2;8639:9;8635:18;8626:6;8582:72;:::i;:::-;8664:80;8740:2;8729:9;8725:18;8716:6;8664:80;:::i;:::-;8754;8830:2;8819:9;8815:18;8806:6;8754:80;:::i;:::-;8844:73;8912:3;8901:9;8897:19;8888:6;8844:73;:::i;:::-;8927;8995:3;8984:9;8980:19;8971:6;8927:73;:::i;:::-;8200:807;;;;;;;;;:::o;9013:143::-;9070:5;9101:6;9095:13;9086:22;;9117:33;9144:5;9117:33;:::i;:::-;9013:143;;;;:::o;9162:663::-;9250:6;9258;9266;9315:2;9303:9;9294:7;9290:23;9286:32;9283:119;;;9321:79;;:::i;:::-;9283:119;9441:1;9466:64;9522:7;9513:6;9502:9;9498:22;9466:64;:::i;:::-;9456:74;;9412:128;9579:2;9605:64;9661:7;9652:6;9641:9;9637:22;9605:64;:::i;:::-;9595:74;;9550:129;9718:2;9744:64;9800:7;9791:6;9780:9;9776:22;9744:64;:::i;:::-;9734:74;;9689:129;9162:663;;;;;:::o;9831:332::-;9952:4;9990:2;9979:9;9975:18;9967:26;;10003:71;10071:1;10060:9;10056:17;10047:6;10003:71;:::i;:::-;10084:72;10152:2;10141:9;10137:18;10128:6;10084:72;:::i;:::-;9831:332;;;;;:::o;10169:116::-;10239:21;10254:5;10239:21;:::i;:::-;10232:5;10229:32;10219:60;;10275:1;10272;10265:12;10219:60;10169:116;:::o;10291:137::-;10345:5;10376:6;10370:13;10361:22;;10392:30;10416:5;10392:30;:::i;:::-;10291:137;;;;:::o;10434:345::-;10501:6;10550:2;10538:9;10529:7;10525:23;10521:32;10518:119;;;10556:79;;:::i;:::-;10518:119;10676:1;10701:61;10754:7;10745:6;10734:9;10730:22;10701:61;:::i;:::-;10691:71;;10647:125;10434:345;;;;:::o;10785:180::-;10925:32;10921:1;10913:6;10909:14;10902:56;10785:180;:::o;10971:366::-;11113:3;11134:67;11198:2;11193:3;11134:67;:::i;:::-;11127:74;;11210:93;11299:3;11210:93;:::i;:::-;11328:2;11323:3;11319:12;11312:19;;10971:366;;;:::o;11343:419::-;11509:4;11547:2;11536:9;11532:18;11524:26;;11596:9;11590:4;11586:20;11582:1;11571:9;11567:17;11560:47;11624:131;11750:4;11624:131;:::i;:::-;11616:139;;11343:419;;;:::o;11768:223::-;11908:34;11904:1;11896:6;11892:14;11885:58;11977:6;11972:2;11964:6;11960:15;11953:31;11768:223;:::o;11997:366::-;12139:3;12160:67;12224:2;12219:3;12160:67;:::i;:::-;12153:74;;12236:93;12325:3;12236:93;:::i;:::-;12354:2;12349:3;12345:12;12338:19;;11997:366;;;:::o;12369:419::-;12535:4;12573:2;12562:9;12558:18;12550:26;;12622:9;12616:4;12612:20;12608:1;12597:9;12593:17;12586:47;12650:131;12776:4;12650:131;:::i;:::-;12642:139;;12369:419;;;:::o;12794:221::-;12934:34;12930:1;12922:6;12918:14;12911:58;13003:4;12998:2;12990:6;12986:15;12979:29;12794:221;:::o;13021:366::-;13163:3;13184:67;13248:2;13243:3;13184:67;:::i;:::-;13177:74;;13260:93;13349:3;13260:93;:::i;:::-;13378:2;13373:3;13369:12;13362:19;;13021:366;;;:::o;13393:419::-;13559:4;13597:2;13586:9;13582:18;13574:26;;13646:9;13640:4;13636:20;13632:1;13621:9;13617:17;13610:47;13674:131;13800:4;13674:131;:::i;:::-;13666:139;;13393:419;;;:::o;13818:224::-;13958:34;13954:1;13946:6;13942:14;13935:58;14027:7;14022:2;14014:6;14010:15;14003:32;13818:224;:::o;14048:366::-;14190:3;14211:67;14275:2;14270:3;14211:67;:::i;:::-;14204:74;;14287:93;14376:3;14287:93;:::i;:::-;14405:2;14400:3;14396:12;14389:19;;14048:366;;;:::o;14420:419::-;14586:4;14624:2;14613:9;14609:18;14601:26;;14673:9;14667:4;14663:20;14659:1;14648:9;14644:17;14637:47;14701:131;14827:4;14701:131;:::i;:::-;14693:139;;14420:419;;;:::o;14845:166::-;14985:18;14981:1;14973:6;14969:14;14962:42;14845:166;:::o;15017:366::-;15159:3;15180:67;15244:2;15239:3;15180:67;:::i;:::-;15173:74;;15256:93;15345:3;15256:93;:::i;:::-;15374:2;15369:3;15365:12;15358:19;;15017:366;;;:::o;15389:419::-;15555:4;15593:2;15582:9;15578:18;15570:26;;15642:9;15636:4;15632:20;15628:1;15617:9;15613:17;15606:47;15670:131;15796:4;15670:131;:::i;:::-;15662:139;;15389:419;;;:::o;15814:221::-;15954:34;15950:1;15942:6;15938:14;15931:58;16023:4;16018:2;16010:6;16006:15;15999:29;15814:221;:::o;16041:366::-;16183:3;16204:67;16268:2;16263:3;16204:67;:::i;:::-;16197:74;;16280:93;16369:3;16280:93;:::i;:::-;16398:2;16393:3;16389:12;16382:19;;16041:366;;;:::o;16413:419::-;16579:4;16617:2;16606:9;16602:18;16594:26;;16666:9;16660:4;16656:20;16652:1;16641:9;16637:17;16630:47;16694:131;16820:4;16694:131;:::i;:::-;16686:139;;16413:419;;;:::o;16838:191::-;16878:3;16897:20;16915:1;16897:20;:::i;:::-;16892:25;;16931:20;16949:1;16931:20;:::i;:::-;16926:25;;16974:1;16971;16967:9;16960:16;;16995:3;16992:1;16989:10;16986:36;;;17002:18;;:::i;:::-;16986:36;16838:191;;;;:::o;17035:180::-;17083:77;17080:1;17073:88;17180:4;17177:1;17170:15;17204:4;17201:1;17194:15;17221:180;17269:77;17266:1;17259:88;17366:4;17363:1;17356:15;17390:4;17387:1;17380:15;17407:114;17474:6;17508:5;17502:12;17492:22;;17407:114;;;:::o;17527:184::-;17626:11;17660:6;17655:3;17648:19;17700:4;17695:3;17691:14;17676:29;;17527:184;;;;:::o;17717:132::-;17784:4;17807:3;17799:11;;17837:4;17832:3;17828:14;17820:22;;17717:132;;;:::o;17855:108::-;17932:24;17950:5;17932:24;:::i;:::-;17927:3;17920:37;17855:108;;:::o;17969:179::-;18038:10;18059:46;18101:3;18093:6;18059:46;:::i;:::-;18137:4;18132:3;18128:14;18114:28;;17969:179;;;;:::o;18154:113::-;18224:4;18256;18251:3;18247:14;18239:22;;18154:113;;;:::o;18303:732::-;18422:3;18451:54;18499:5;18451:54;:::i;:::-;18521:86;18600:6;18595:3;18521:86;:::i;:::-;18514:93;;18631:56;18681:5;18631:56;:::i;:::-;18710:7;18741:1;18726:284;18751:6;18748:1;18745:13;18726:284;;;18827:6;18821:13;18854:63;18913:3;18898:13;18854:63;:::i;:::-;18847:70;;18940:60;18993:6;18940:60;:::i;:::-;18930:70;;18786:224;18773:1;18770;18766:9;18761:14;;18726:284;;;18730:14;19026:3;19019:10;;18427:608;;;18303:732;;;;:::o;19041:142::-;19091:9;19124:53;19142:34;19151:24;19169:5;19151:24;:::i;:::-;19142:34;:::i;:::-;19124:53;:::i;:::-;19111:66;;19041:142;;;:::o;19189:126::-;19239:9;19272:37;19303:5;19272:37;:::i;:::-;19259:50;;19189:126;;;:::o;19321:134::-;19379:9;19412:37;19443:5;19412:37;:::i;:::-;19399:50;;19321:134;;;:::o;19461:147::-;19556:45;19595:5;19556:45;:::i;:::-;19551:3;19544:58;19461:147;;:::o;19614:847::-;19885:4;19923:3;19912:9;19908:19;19900:27;;19937:71;20005:1;19994:9;19990:17;19981:6;19937:71;:::i;:::-;20018:80;20094:2;20083:9;20079:18;20070:6;20018:80;:::i;:::-;20145:9;20139:4;20135:20;20130:2;20119:9;20115:18;20108:48;20173:108;20276:4;20267:6;20173:108;:::i;:::-;20165:116;;20291:80;20367:2;20356:9;20352:18;20343:6;20291:80;:::i;:::-;20381:73;20449:3;20438:9;20434:19;20425:6;20381:73;:::i;:::-;19614:847;;;;;;;;:::o;20467:410::-;20507:7;20530:20;20548:1;20530:20;:::i;:::-;20525:25;;20564:20;20582:1;20564:20;:::i;:::-;20559:25;;20619:1;20616;20612:9;20641:30;20659:11;20641:30;:::i;:::-;20630:41;;20820:1;20811:7;20807:15;20804:1;20801:22;20781:1;20774:9;20754:83;20731:139;;20850:18;;:::i;:::-;20731:139;20515:362;20467:410;;;;:::o;20883:180::-;20931:77;20928:1;20921:88;21028:4;21025:1;21018:15;21052:4;21049:1;21042:15;21069:185;21109:1;21126:20;21144:1;21126:20;:::i;:::-;21121:25;;21160:20;21178:1;21160:20;:::i;:::-;21155:25;;21199:1;21189:35;;21204:18;;:::i;:::-;21189:35;21246:1;21243;21239:9;21234:14;;21069:185;;;;:::o
Swarm Source
ipfs://8af6edd0827776da15b8ca74a0b5d6a7a12591d3b1cd81c8c75aff1a818fe476
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.