ERC-20
Overview
Max Total Supply
1,000,000 BADGER
Holders
56
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
2,079.062463832014500933 BADGERValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
BADGER
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-11-22 */ /** 🌐 https://www.badgerbadger.vip/ 🐦 https://twitter.com/Badger___Badger 💬 https://t.me/badger_badger_badger_badger */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } pragma solidity ^0.8.0; abstract contract Ownable is Context { address private _owner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { _transferOwnership(_msgSender()); } modifier onlyOwner() { _checkOwner(); _; } function owner() public view virtual returns (address) { return _owner; } function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require( newOwner != address(0), "Ownable: new owner is the zero address" ); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } pragma solidity ^0.8.0; interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address to, 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 from, address to, uint256 amount ) external returns (bool); } pragma solidity ^0.8.0; interface IERC20Metadata is IERC20 { function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view returns (uint8); } pragma solidity ^0.8.0; contract ERC20 is Context, IERC20, IERC20Metadata { mapping(address => uint256) private _balances; mapping(address => mapping(address => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } function name() public view virtual override returns (string memory) { return _name; } function symbol() public view virtual override returns (string memory) { return _symbol; } function decimals() public view virtual override returns (uint8) { return 18; } function totalSupply() public view virtual override returns (uint256) { return _totalSupply; } function balanceOf( address account ) public view virtual override returns (uint256) { return _balances[account]; } function transfer( address to, uint256 amount ) public virtual override returns (bool) { address owner = _msgSender(); _transfer(owner, to, amount); return true; } function allowance( address owner, address spender ) public view virtual override returns (uint256) { return _allowances[owner][spender]; } function approve( address spender, uint256 amount ) public virtual override returns (bool) { address owner = _msgSender(); _approve(owner, spender, amount); return true; } function transferFrom( address from, address to, uint256 amount ) public virtual override returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, amount); _transfer(from, to, amount); return true; } function increaseAllowance( address spender, uint256 addedValue ) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, allowance(owner, spender) + addedValue); return true; } function decreaseAllowance( address spender, uint256 subtractedValue ) public virtual returns (bool) { address owner = _msgSender(); uint256 currentAllowance = allowance(owner, spender); require( currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero" ); unchecked { _approve(owner, spender, currentAllowance - subtractedValue); } return true; } function _transfer( address from, address to, uint256 amount ) internal virtual { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); _beforeTokenTransfer(from, to, amount); uint256 fromBalance = _balances[from]; require( fromBalance >= amount, "ERC20: transfer amount exceeds balance" ); unchecked { _balances[from] = fromBalance - amount; _balances[to] += amount; } emit Transfer(from, to, amount); _afterTokenTransfer(from, to, amount); } function _mint(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: mint to the zero address"); _beforeTokenTransfer(address(0), account, amount); _totalSupply += amount; unchecked { // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above. _balances[account] += amount; } emit Transfer(address(0), account, amount); _afterTokenTransfer(address(0), account, amount); } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); _beforeTokenTransfer(account, address(0), amount); uint256 accountBalance = _balances[account]; require(accountBalance >= amount, "ERC20: burn amount exceeds balance"); unchecked { _balances[account] = accountBalance - amount; // Overflow not possible: amount <= accountBalance <= totalSupply. _totalSupply -= amount; } emit Transfer(account, address(0), amount); _afterTokenTransfer(account, address(0), amount); } function _approve( address owner, address spender, uint256 amount ) internal virtual { 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 _spendAllowance( address owner, address spender, uint256 amount ) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { require( currentAllowance >= amount, "ERC20: insufficient allowance" ); unchecked { _approve(owner, spender, currentAllowance - amount); } } } function _beforeTokenTransfer( address from, address to, uint256 amount ) internal virtual {} function _afterTokenTransfer( address from, address to, uint256 amount ) internal virtual {} } pragma solidity ^0.8.9; interface IUniswapV2Factory { function createPair( address tokenA, address tokenB ) external returns (address pair); } pragma solidity ^0.8.9; interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); } pragma solidity ^0.8.19; contract BADGER is ERC20, Ownable { uint256 public _maxTxAmount = 20000 * 10 ** decimals(); uint256 public _maxWalletSize = 20000 * 10 ** decimals(); uint256 public _swapTokensAtAmount = 10000 * 10 ** decimals(); uint256 public _amountToSwap = 10000 * 10 ** decimals(); uint256 private _taxFeeOnBuy = 0; uint256 private _taxFeeOnSell = 0; mapping(address => bool) private _isExcludedFromFee; address payable private constant _feeAddress = payable(0x2Ba97157aBe10B6b7C478759a91Ceaea9F0B1Cd3); IUniswapV2Router02 public constant uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address public uniswapV2Pair; bool private inSwap = false; modifier lockTheSwap() { inSwap = true; _; inSwap = false; } constructor() ERC20("BADGER", "BADGER") { _mint(msg.sender, 1000000 * 10 ** decimals()); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair( address(this), uniswapV2Router.WETH() ); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[address(uniswapV2Router)] = true; _isExcludedFromFee[_feeAddress] = true; } function _transfer( address from, address to, uint256 amount ) internal override { if (from != owner() && to != owner()) { if (to != _feeAddress && from != _feeAddress) { require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit"); } if ( to != uniswapV2Pair && to != _feeAddress && from != _feeAddress ) { require( balanceOf(to) + amount <= _maxWalletSize, "TOKEN: Balance exceeds wallet size!" ); } uint256 contractTokenBalance = balanceOf(address(this)); bool shouldSwap = contractTokenBalance >= _swapTokensAtAmount; if (contractTokenBalance >= _amountToSwap) { contractTokenBalance = _amountToSwap; } if ( shouldSwap && !inSwap && from != uniswapV2Pair && !_isExcludedFromFee[from] && !_isExcludedFromFee[to] ) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { _feeAddress.transfer(contractETHBalance); } } } //Transfer Tokens uint256 _taxFee = 0; if (from == uniswapV2Pair && to != address(uniswapV2Router)) { _taxFee = _taxFeeOnBuy; } if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _taxFee = _taxFeeOnSell; } if ( (_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair) ) { _taxFee = 0; } uint256 tTeam = (amount * _taxFee) / 100; uint256 tTransferAmount = amount - tTeam; if (tTeam > 0) { super._transfer(from, address(this), tTeam); } super._transfer(from, to, tTransferAmount); } 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 ); } // external onlyOwner function setSwapTokensAtAmount( uint256 swapTokensAtAmount ) external onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } function setAmountToSwap(uint256 amountToSwap) external onlyOwner { _amountToSwap = amountToSwap; } function excludeAccountsFromFees( address[] calldata accounts, bool excluded ) external onlyOwner { for (uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } function launchtax() external onlyOwner { _taxFeeOnBuy = 30; _taxFeeOnSell = 30; } function launchtax2() external onlyOwner { _taxFeeOnBuy = 10; _taxFeeOnSell = 20; } function launchtax3() external onlyOwner { _taxFeeOnBuy = 0; _taxFeeOnSell = 15; } function launchtax4() external onlyOwner { _taxFeeOnBuy = 0; _taxFeeOnSell = 8; _maxTxAmount = 1000000 * 10 ** decimals(); _maxWalletSize = 1000000 * 10 ** decimals(); _swapTokensAtAmount = 2000 * 10 ** decimals(); _amountToSwap = 2000 * 10 ** decimals(); } function finaltax() external onlyOwner { _taxFeeOnBuy = 0; _taxFeeOnSell = 0; } // Send the current ETH and token balance to the marketing address function cleanContract() external { uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { _feeAddress.transfer(contractETHBalance); } uint256 contractTokenBalance = balanceOf(address(this)); if (contractTokenBalance > 0) { _transfer(address(this), _feeAddress, contractTokenBalance); } } 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":"_amountToSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"cleanContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finaltax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchtax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchtax2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchtax3","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launchtax4","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"uint256","name":"amountToSwap","type":"uint256"}],"name":"setAmountToSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000146200055260201b60201c565b600a62000022919062000964565b614e20620000319190620009b5565b600655620000446200055260201b60201c565b600a62000052919062000964565b614e20620000619190620009b5565b600755620000746200055260201b60201c565b600a62000082919062000964565b612710620000919190620009b5565b600855620000a46200055260201b60201c565b600a620000b2919062000964565b612710620000c19190620009b5565b6009556000600a556000600b556000600d60146101000a81548160ff021916908315150217905550348015620000f657600080fd5b506040518060400160405280600681526020017f42414447455200000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f4241444745520000000000000000000000000000000000000000000000000000815250816003908162000174919062000c70565b50806004908162000186919062000c70565b505050620001a96200019d6200055b60201b60201c565b6200056360201b60201c565b620001e833620001be6200055260201b60201c565b600a620001cc919062000964565b620f4240620001dc9190620009b5565b6200062960201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000248573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026e919062000dc1565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000310919062000dc1565b6040518363ffffffff1660e01b81526004016200032f92919062000e04565b6020604051808303816000875af11580156200034f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000375919062000dc1565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c6000620003cb6200079660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c6000732ba97157abe10b6b7c478759a91ceaea9f0b1cd373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000f1d565b60006012905090565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200069b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006929062000e92565b60405180910390fd5b620006af60008383620007c060201b60201c565b8060026000828254620006c3919062000eb4565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000776919062000f00565b60405180910390a36200079260008383620007c560201b60201c565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b505050565b505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620008585780860481111562000830576200082f620007ca565b5b6001851615620008405780820291505b80810290506200085085620007f9565b945062000810565b94509492505050565b60008262000873576001905062000946565b8162000883576000905062000946565b81600181146200089c5760028114620008a757620008dd565b600191505062000946565b60ff841115620008bc57620008bb620007ca565b5b8360020a915084821115620008d657620008d5620007ca565b5b5062000946565b5060208310610133831016604e8410600b8410161715620009175782820a905083811115620009115762000910620007ca565b5b62000946565b62000926848484600162000806565b9250905081840481111562000940576200093f620007ca565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000971826200094d565b91506200097e8362000957565b9250620009ad7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000861565b905092915050565b6000620009c2826200094d565b9150620009cf836200094d565b9250828202620009df816200094d565b91508282048414831517620009f957620009f8620007ca565b5b5092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000a8257607f821691505b60208210810362000a985762000a9762000a3a565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000b027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000ac3565b62000b0e868362000ac3565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000b5162000b4b62000b45846200094d565b62000b26565b6200094d565b9050919050565b6000819050919050565b62000b6d8362000b30565b62000b8562000b7c8262000b58565b84845462000ad0565b825550505050565b600090565b62000b9c62000b8d565b62000ba981848462000b62565b505050565b5b8181101562000bd15762000bc560008262000b92565b60018101905062000baf565b5050565b601f82111562000c205762000bea8162000a9e565b62000bf58462000ab3565b8101602085101562000c05578190505b62000c1d62000c148562000ab3565b83018262000bae565b50505b505050565b600082821c905092915050565b600062000c456000198460080262000c25565b1980831691505092915050565b600062000c60838362000c32565b9150826002028217905092915050565b62000c7b8262000a00565b67ffffffffffffffff81111562000c975762000c9662000a0b565b5b62000ca3825462000a69565b62000cb082828562000bd5565b600060209050601f83116001811462000ce8576000841562000cd3578287015190505b62000cdf858262000c52565b86555062000d4f565b601f19841662000cf88662000a9e565b60005b8281101562000d225784890151825560018201915060208501945060208101905062000cfb565b8683101562000d42578489015162000d3e601f89168262000c32565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000d898262000d5c565b9050919050565b62000d9b8162000d7c565b811462000da757600080fd5b50565b60008151905062000dbb8162000d90565b92915050565b60006020828403121562000dda5762000dd962000d57565b5b600062000dea8482850162000daa565b91505092915050565b62000dfe8162000d7c565b82525050565b600060408201905062000e1b600083018562000df3565b62000e2a602083018462000df3565b9392505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000e7a601f8362000e31565b915062000e878262000e42565b602082019050919050565b6000602082019050818103600083015262000ead8162000e6b565b9050919050565b600062000ec1826200094d565b915062000ece836200094d565b925082820190508082111562000ee95762000ee8620007ca565b5b92915050565b62000efa816200094d565b82525050565b600060208201905062000f17600083018462000eef565b92915050565b612d498062000f2d6000396000f3fe6080604052600436106101c65760003560e01c80637be842dd116100f75780639ca689a611610095578063afa4f3b211610064578063afa4f3b2146105f5578063dd62ed3e1461061e578063e039c2801461065b578063f2fde38b14610672576101cd565b80639ca689a61461053b578063a34efa3e14610552578063a457c2d71461057b578063a9059cbb146105b8576101cd565b80638da5cb5b116100d15780638da5cb5b146104915780638f9a55c0146104bc57806390d2c93a146104e757806395d89b4114610510576101cd565b80637be842dd146104385780637d1db4a51461044f578063802f3caf1461047a576101cd565b806323b872dd11610164578063395093511161013e578063395093511461037c57806349bd5a5e146103b957806370a08231146103e4578063715018a614610421576101cd565b806323b872dd146102e95780632fd689e314610326578063313ce56714610351576101cd565b80631694505e116101a05780631694505e1461025157806318160ddd1461027c5780631c127eab146102a757806322473f92146102d2576101cd565b806306fdde03146101d2578063095ea7b3146101fd57806314ccf3091461023a576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e761069b565b6040516101f49190611dd4565b60405180910390f35b34801561020957600080fd5b50610224600480360381019061021f9190611e94565b61072d565b6040516102319190611eef565b60405180910390f35b34801561024657600080fd5b5061024f610750565b005b34801561025d57600080fd5b5061026661076a565b6040516102739190611f69565b60405180910390f35b34801561028857600080fd5b50610291610782565b60405161029e9190611f93565b60405180910390f35b3480156102b357600080fd5b506102bc61078c565b6040516102c99190611f93565b60405180910390f35b3480156102de57600080fd5b506102e7610792565b005b3480156102f557600080fd5b50610310600480360381019061030b9190611fae565b6107ab565b60405161031d9190611eef565b60405180910390f35b34801561033257600080fd5b5061033b6107da565b6040516103489190611f93565b60405180910390f35b34801561035d57600080fd5b506103666107e0565b604051610373919061201d565b60405180910390f35b34801561038857600080fd5b506103a3600480360381019061039e9190611e94565b6107e9565b6040516103b09190611eef565b60405180910390f35b3480156103c557600080fd5b506103ce610820565b6040516103db9190612047565b60405180910390f35b3480156103f057600080fd5b5061040b60048036038101906104069190612062565b610846565b6040516104189190611f93565b60405180910390f35b34801561042d57600080fd5b5061043661088e565b005b34801561044457600080fd5b5061044d6108a2565b005b34801561045b57600080fd5b50610464610946565b6040516104719190611f93565b60405180910390f35b34801561048657600080fd5b5061048f61094c565b005b34801561049d57600080fd5b506104a6610966565b6040516104b39190612047565b60405180910390f35b3480156104c857600080fd5b506104d1610990565b6040516104de9190611f93565b60405180910390f35b3480156104f357600080fd5b5061050e60048036038101906105099190612120565b610996565b005b34801561051c57600080fd5b50610525610a43565b6040516105329190611dd4565b60405180910390f35b34801561054757600080fd5b50610550610ad5565b005b34801561055e57600080fd5b5061057960048036038101906105749190612180565b610b8d565b005b34801561058757600080fd5b506105a2600480360381019061059d9190611e94565b610b9f565b6040516105af9190611eef565b60405180910390f35b3480156105c457600080fd5b506105df60048036038101906105da9190611e94565b610c16565b6040516105ec9190611eef565b60405180910390f35b34801561060157600080fd5b5061061c60048036038101906106179190612180565b610c39565b005b34801561062a57600080fd5b50610645600480360381019061064091906121ad565b610c4b565b6040516106529190611f93565b60405180910390f35b34801561066757600080fd5b50610670610cd2565b005b34801561067e57600080fd5b5061069960048036038101906106949190612062565b610cec565b005b6060600380546106aa9061221c565b80601f01602080910402602001604051908101604052809291908181526020018280546106d69061221c565b80156107235780601f106106f857610100808354040283529160200191610723565b820191906000526020600020905b81548152906001019060200180831161070657829003601f168201915b5050505050905090565b600080610738610d6f565b9050610745818585610d77565b600191505092915050565b610758610f40565b6000600a81905550600f600b81905550565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000600254905090565b60095481565b61079a610f40565b600a80819055506014600b81905550565b6000806107b6610d6f565b90506107c3858285610fbe565b6107ce85858561104a565b60019150509392505050565b60085481565b60006012905090565b6000806107f4610d6f565b90506108158185856108068589610c4b565b610810919061227c565b610d77565b600191505092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610896610f40565b6108a060006117af565b565b6000479050600081111561090c57732ba97157abe10b6b7c478759a91ceaea9f0b1cd373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561090a573d6000803e3d6000fd5b505b600061091730610846565b905060008111156109425761094130732ba97157abe10b6b7c478759a91ceaea9f0b1cd38361104a565b5b5050565b60065481565b610954610f40565b6000600a819055506000600b81905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b61099e610f40565b60005b83839050811015610a3d5781600c60008686858181106109c4576109c36122b0565b5b90506020020160208101906109d99190612062565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a35906122df565b9150506109a1565b50505050565b606060048054610a529061221c565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7e9061221c565b8015610acb5780601f10610aa057610100808354040283529160200191610acb565b820191906000526020600020905b815481529060010190602001808311610aae57829003601f168201915b5050505050905090565b610add610f40565b6000600a819055506008600b81905550610af56107e0565b600a610b01919061245a565b620f4240610b0f91906124a5565b600681905550610b1d6107e0565b600a610b29919061245a565b620f4240610b3791906124a5565b600781905550610b456107e0565b600a610b51919061245a565b6107d0610b5e91906124a5565b600881905550610b6c6107e0565b600a610b78919061245a565b6107d0610b8591906124a5565b600981905550565b610b95610f40565b8060098190555050565b600080610baa610d6f565b90506000610bb88286610c4b565b905083811015610bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf490612559565b60405180910390fd5b610c0a8286868403610d77565b60019250505092915050565b600080610c21610d6f565b9050610c2e81858561104a565b600191505092915050565b610c41610f40565b8060088190555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610cda610f40565b601e600a81905550601e600b81905550565b610cf4610f40565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5a906125eb565b60405180910390fd5b610d6c816117af565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610de6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddd9061267d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4c9061270f565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f339190611f93565b60405180910390a3505050565b610f48610d6f565b73ffffffffffffffffffffffffffffffffffffffff16610f66610966565b73ffffffffffffffffffffffffffffffffffffffff1614610fbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb39061277b565b60405180910390fd5b565b6000610fca8484610c4b565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110445781811015611036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102d906127e7565b60405180910390fd5b6110438484848403610d77565b5b50505050565b611052610966565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110c05750611090610966565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156114ab57732ba97157abe10b6b7c478759a91ceaea9f0b1cd373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156111555750732ba97157abe10b6b7c478759a91ceaea9f0b1cd373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156111a05760065481111561119f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119690612853565b60405180910390fd5b5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561123e5750732ba97157abe10b6b7c478759a91ceaea9f0b1cd373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561128a5750732ba97157abe10b6b7c478759a91ceaea9f0b1cd373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156112e8576007548161129c84610846565b6112a6919061227c565b11156112e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112de906128e5565b60405180910390fd5b5b60006112f330610846565b905060006008548210159050600954821061130e5760095491505b8080156113285750600d60149054906101000a900460ff16155b80156113825750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156113d85750600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561142e5750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156114a85761143c82611875565b600047905060008111156114a657732ba97157abe10b6b7c478759a91ceaea9f0b1cd373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156114a4573d6000803e3d6000fd5b505b505b50505b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561154a5750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561155557600a5490505b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115f25750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156115fd57600b5490505b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061169e5750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806117515750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117505750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561175b57600090505b60006064828461176b91906124a5565b6117759190612934565b9050600081846117859190612965565b9050600082111561179c5761179b863084611ac4565b5b6117a7868683611ac4565b505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600d60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118ad576118ac612999565b5b6040519080825280602002602001820160405280156118db5781602001602082028036833780820191505090505b50905030816000815181106118f3576118f26122b0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561198c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b091906129dd565b816001815181106119c4576119c36122b0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a1d30737a250d5630b4cf539739df2c5dacb4c659f2488d84610d77565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611a73959493929190612b03565b600060405180830381600087803b158015611a8d57600080fd5b505af1158015611aa1573d6000803e3d6000fd5b50505050506000600d60146101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2a90612bcf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ba2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9990612c61565b60405180910390fd5b611bad838383611d3a565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2a90612cf3565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d219190611f93565b60405180910390a3611d34848484611d3f565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d7e578082015181840152602081019050611d63565b60008484015250505050565b6000601f19601f8301169050919050565b6000611da682611d44565b611db08185611d4f565b9350611dc0818560208601611d60565b611dc981611d8a565b840191505092915050565b60006020820190508181036000830152611dee8184611d9b565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e2b82611e00565b9050919050565b611e3b81611e20565b8114611e4657600080fd5b50565b600081359050611e5881611e32565b92915050565b6000819050919050565b611e7181611e5e565b8114611e7c57600080fd5b50565b600081359050611e8e81611e68565b92915050565b60008060408385031215611eab57611eaa611df6565b5b6000611eb985828601611e49565b9250506020611eca85828601611e7f565b9150509250929050565b60008115159050919050565b611ee981611ed4565b82525050565b6000602082019050611f046000830184611ee0565b92915050565b6000819050919050565b6000611f2f611f2a611f2584611e00565b611f0a565b611e00565b9050919050565b6000611f4182611f14565b9050919050565b6000611f5382611f36565b9050919050565b611f6381611f48565b82525050565b6000602082019050611f7e6000830184611f5a565b92915050565b611f8d81611e5e565b82525050565b6000602082019050611fa86000830184611f84565b92915050565b600080600060608486031215611fc757611fc6611df6565b5b6000611fd586828701611e49565b9350506020611fe686828701611e49565b9250506040611ff786828701611e7f565b9150509250925092565b600060ff82169050919050565b61201781612001565b82525050565b6000602082019050612032600083018461200e565b92915050565b61204181611e20565b82525050565b600060208201905061205c6000830184612038565b92915050565b60006020828403121561207857612077611df6565b5b600061208684828501611e49565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126120b4576120b361208f565b5b8235905067ffffffffffffffff8111156120d1576120d0612094565b5b6020830191508360208202830111156120ed576120ec612099565b5b9250929050565b6120fd81611ed4565b811461210857600080fd5b50565b60008135905061211a816120f4565b92915050565b60008060006040848603121561213957612138611df6565b5b600084013567ffffffffffffffff81111561215757612156611dfb565b5b6121638682870161209e565b935093505060206121768682870161210b565b9150509250925092565b60006020828403121561219657612195611df6565b5b60006121a484828501611e7f565b91505092915050565b600080604083850312156121c4576121c3611df6565b5b60006121d285828601611e49565b92505060206121e385828601611e49565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061223457607f821691505b602082108103612247576122466121ed565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061228782611e5e565b915061229283611e5e565b92508282019050808211156122aa576122a961224d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006122ea82611e5e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361231c5761231b61224d565b5b600182019050919050565b60008160011c9050919050565b6000808291508390505b600185111561237e5780860481111561235a5761235961224d565b5b60018516156123695780820291505b808102905061237785612327565b945061233e565b94509492505050565b6000826123975760019050612453565b816123a55760009050612453565b81600181146123bb57600281146123c5576123f4565b6001915050612453565b60ff8411156123d7576123d661224d565b5b8360020a9150848211156123ee576123ed61224d565b5b50612453565b5060208310610133831016604e8410600b84101617156124295782820a9050838111156124245761242361224d565b5b612453565b6124368484846001612334565b9250905081840481111561244d5761244c61224d565b5b81810290505b9392505050565b600061246582611e5e565b915061247083612001565b925061249d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612387565b905092915050565b60006124b082611e5e565b91506124bb83611e5e565b92508282026124c981611e5e565b915082820484148315176124e0576124df61224d565b5b5092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612543602583611d4f565b915061254e826124e7565b604082019050919050565b6000602082019050818103600083015261257281612536565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006125d5602683611d4f565b91506125e082612579565b604082019050919050565b60006020820190508181036000830152612604816125c8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612667602483611d4f565b91506126728261260b565b604082019050919050565b600060208201905081810360008301526126968161265a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006126f9602283611d4f565b91506127048261269d565b604082019050919050565b60006020820190508181036000830152612728816126ec565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612765602083611d4f565b91506127708261272f565b602082019050919050565b6000602082019050818103600083015261279481612758565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006127d1601d83611d4f565b91506127dc8261279b565b602082019050919050565b60006020820190508181036000830152612800816127c4565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b600061283d601c83611d4f565b915061284882612807565b602082019050919050565b6000602082019050818103600083015261286c81612830565b9050919050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006128cf602383611d4f565b91506128da82612873565b604082019050919050565b600060208201905081810360008301526128fe816128c2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061293f82611e5e565b915061294a83611e5e565b92508261295a57612959612905565b5b828204905092915050565b600061297082611e5e565b915061297b83611e5e565b92508282039050818111156129935761299261224d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506129d781611e32565b92915050565b6000602082840312156129f3576129f2611df6565b5b6000612a01848285016129c8565b91505092915050565b6000819050919050565b6000612a2f612a2a612a2584612a0a565b611f0a565b611e5e565b9050919050565b612a3f81612a14565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a7a81611e20565b82525050565b6000612a8c8383612a71565b60208301905092915050565b6000602082019050919050565b6000612ab082612a45565b612aba8185612a50565b9350612ac583612a61565b8060005b83811015612af6578151612add8882612a80565b9750612ae883612a98565b925050600181019050612ac9565b5085935050505092915050565b600060a082019050612b186000830188611f84565b612b256020830187612a36565b8181036040830152612b378186612aa5565b9050612b466060830185612038565b612b536080830184611f84565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612bb9602583611d4f565b9150612bc482612b5d565b604082019050919050565b60006020820190508181036000830152612be881612bac565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c4b602383611d4f565b9150612c5682612bef565b604082019050919050565b60006020820190508181036000830152612c7a81612c3e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612cdd602683611d4f565b9150612ce882612c81565b604082019050919050565b60006020820190508181036000830152612d0c81612cd0565b905091905056fea26469706673582212208586814f32715e430ce873dbe7b092cc906e86ebcbe5f063fc0222d4ab55d84964736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101c65760003560e01c80637be842dd116100f75780639ca689a611610095578063afa4f3b211610064578063afa4f3b2146105f5578063dd62ed3e1461061e578063e039c2801461065b578063f2fde38b14610672576101cd565b80639ca689a61461053b578063a34efa3e14610552578063a457c2d71461057b578063a9059cbb146105b8576101cd565b80638da5cb5b116100d15780638da5cb5b146104915780638f9a55c0146104bc57806390d2c93a146104e757806395d89b4114610510576101cd565b80637be842dd146104385780637d1db4a51461044f578063802f3caf1461047a576101cd565b806323b872dd11610164578063395093511161013e578063395093511461037c57806349bd5a5e146103b957806370a08231146103e4578063715018a614610421576101cd565b806323b872dd146102e95780632fd689e314610326578063313ce56714610351576101cd565b80631694505e116101a05780631694505e1461025157806318160ddd1461027c5780631c127eab146102a757806322473f92146102d2576101cd565b806306fdde03146101d2578063095ea7b3146101fd57806314ccf3091461023a576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e761069b565b6040516101f49190611dd4565b60405180910390f35b34801561020957600080fd5b50610224600480360381019061021f9190611e94565b61072d565b6040516102319190611eef565b60405180910390f35b34801561024657600080fd5b5061024f610750565b005b34801561025d57600080fd5b5061026661076a565b6040516102739190611f69565b60405180910390f35b34801561028857600080fd5b50610291610782565b60405161029e9190611f93565b60405180910390f35b3480156102b357600080fd5b506102bc61078c565b6040516102c99190611f93565b60405180910390f35b3480156102de57600080fd5b506102e7610792565b005b3480156102f557600080fd5b50610310600480360381019061030b9190611fae565b6107ab565b60405161031d9190611eef565b60405180910390f35b34801561033257600080fd5b5061033b6107da565b6040516103489190611f93565b60405180910390f35b34801561035d57600080fd5b506103666107e0565b604051610373919061201d565b60405180910390f35b34801561038857600080fd5b506103a3600480360381019061039e9190611e94565b6107e9565b6040516103b09190611eef565b60405180910390f35b3480156103c557600080fd5b506103ce610820565b6040516103db9190612047565b60405180910390f35b3480156103f057600080fd5b5061040b60048036038101906104069190612062565b610846565b6040516104189190611f93565b60405180910390f35b34801561042d57600080fd5b5061043661088e565b005b34801561044457600080fd5b5061044d6108a2565b005b34801561045b57600080fd5b50610464610946565b6040516104719190611f93565b60405180910390f35b34801561048657600080fd5b5061048f61094c565b005b34801561049d57600080fd5b506104a6610966565b6040516104b39190612047565b60405180910390f35b3480156104c857600080fd5b506104d1610990565b6040516104de9190611f93565b60405180910390f35b3480156104f357600080fd5b5061050e60048036038101906105099190612120565b610996565b005b34801561051c57600080fd5b50610525610a43565b6040516105329190611dd4565b60405180910390f35b34801561054757600080fd5b50610550610ad5565b005b34801561055e57600080fd5b5061057960048036038101906105749190612180565b610b8d565b005b34801561058757600080fd5b506105a2600480360381019061059d9190611e94565b610b9f565b6040516105af9190611eef565b60405180910390f35b3480156105c457600080fd5b506105df60048036038101906105da9190611e94565b610c16565b6040516105ec9190611eef565b60405180910390f35b34801561060157600080fd5b5061061c60048036038101906106179190612180565b610c39565b005b34801561062a57600080fd5b50610645600480360381019061064091906121ad565b610c4b565b6040516106529190611f93565b60405180910390f35b34801561066757600080fd5b50610670610cd2565b005b34801561067e57600080fd5b5061069960048036038101906106949190612062565b610cec565b005b6060600380546106aa9061221c565b80601f01602080910402602001604051908101604052809291908181526020018280546106d69061221c565b80156107235780601f106106f857610100808354040283529160200191610723565b820191906000526020600020905b81548152906001019060200180831161070657829003601f168201915b5050505050905090565b600080610738610d6f565b9050610745818585610d77565b600191505092915050565b610758610f40565b6000600a81905550600f600b81905550565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000600254905090565b60095481565b61079a610f40565b600a80819055506014600b81905550565b6000806107b6610d6f565b90506107c3858285610fbe565b6107ce85858561104a565b60019150509392505050565b60085481565b60006012905090565b6000806107f4610d6f565b90506108158185856108068589610c4b565b610810919061227c565b610d77565b600191505092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610896610f40565b6108a060006117af565b565b6000479050600081111561090c57732ba97157abe10b6b7c478759a91ceaea9f0b1cd373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561090a573d6000803e3d6000fd5b505b600061091730610846565b905060008111156109425761094130732ba97157abe10b6b7c478759a91ceaea9f0b1cd38361104a565b5b5050565b60065481565b610954610f40565b6000600a819055506000600b81905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b61099e610f40565b60005b83839050811015610a3d5781600c60008686858181106109c4576109c36122b0565b5b90506020020160208101906109d99190612062565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a35906122df565b9150506109a1565b50505050565b606060048054610a529061221c565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7e9061221c565b8015610acb5780601f10610aa057610100808354040283529160200191610acb565b820191906000526020600020905b815481529060010190602001808311610aae57829003601f168201915b5050505050905090565b610add610f40565b6000600a819055506008600b81905550610af56107e0565b600a610b01919061245a565b620f4240610b0f91906124a5565b600681905550610b1d6107e0565b600a610b29919061245a565b620f4240610b3791906124a5565b600781905550610b456107e0565b600a610b51919061245a565b6107d0610b5e91906124a5565b600881905550610b6c6107e0565b600a610b78919061245a565b6107d0610b8591906124a5565b600981905550565b610b95610f40565b8060098190555050565b600080610baa610d6f565b90506000610bb88286610c4b565b905083811015610bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf490612559565b60405180910390fd5b610c0a8286868403610d77565b60019250505092915050565b600080610c21610d6f565b9050610c2e81858561104a565b600191505092915050565b610c41610f40565b8060088190555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610cda610f40565b601e600a81905550601e600b81905550565b610cf4610f40565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5a906125eb565b60405180910390fd5b610d6c816117af565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610de6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddd9061267d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4c9061270f565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f339190611f93565b60405180910390a3505050565b610f48610d6f565b73ffffffffffffffffffffffffffffffffffffffff16610f66610966565b73ffffffffffffffffffffffffffffffffffffffff1614610fbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb39061277b565b60405180910390fd5b565b6000610fca8484610c4b565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110445781811015611036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102d906127e7565b60405180910390fd5b6110438484848403610d77565b5b50505050565b611052610966565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110c05750611090610966565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156114ab57732ba97157abe10b6b7c478759a91ceaea9f0b1cd373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156111555750732ba97157abe10b6b7c478759a91ceaea9f0b1cd373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156111a05760065481111561119f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119690612853565b60405180910390fd5b5b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561123e5750732ba97157abe10b6b7c478759a91ceaea9f0b1cd373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561128a5750732ba97157abe10b6b7c478759a91ceaea9f0b1cd373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156112e8576007548161129c84610846565b6112a6919061227c565b11156112e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112de906128e5565b60405180910390fd5b5b60006112f330610846565b905060006008548210159050600954821061130e5760095491505b8080156113285750600d60149054906101000a900460ff16155b80156113825750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156113d85750600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561142e5750600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156114a85761143c82611875565b600047905060008111156114a657732ba97157abe10b6b7c478759a91ceaea9f0b1cd373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156114a4573d6000803e3d6000fd5b505b505b50505b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561154a5750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561155557600a5490505b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156115f25750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156115fd57600b5490505b600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061169e5750600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806117515750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117505750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561175b57600090505b60006064828461176b91906124a5565b6117759190612934565b9050600081846117859190612965565b9050600082111561179c5761179b863084611ac4565b5b6117a7868683611ac4565b505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600d60146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118ad576118ac612999565b5b6040519080825280602002602001820160405280156118db5781602001602082028036833780820191505090505b50905030816000815181106118f3576118f26122b0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561198c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b091906129dd565b816001815181106119c4576119c36122b0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a1d30737a250d5630b4cf539739df2c5dacb4c659f2488d84610d77565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611a73959493929190612b03565b600060405180830381600087803b158015611a8d57600080fd5b505af1158015611aa1573d6000803e3d6000fd5b50505050506000600d60146101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2a90612bcf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ba2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9990612c61565b60405180910390fd5b611bad838383611d3a565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611c33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2a90612cf3565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d219190611f93565b60405180910390a3611d34848484611d3f565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611d7e578082015181840152602081019050611d63565b60008484015250505050565b6000601f19601f8301169050919050565b6000611da682611d44565b611db08185611d4f565b9350611dc0818560208601611d60565b611dc981611d8a565b840191505092915050565b60006020820190508181036000830152611dee8184611d9b565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611e2b82611e00565b9050919050565b611e3b81611e20565b8114611e4657600080fd5b50565b600081359050611e5881611e32565b92915050565b6000819050919050565b611e7181611e5e565b8114611e7c57600080fd5b50565b600081359050611e8e81611e68565b92915050565b60008060408385031215611eab57611eaa611df6565b5b6000611eb985828601611e49565b9250506020611eca85828601611e7f565b9150509250929050565b60008115159050919050565b611ee981611ed4565b82525050565b6000602082019050611f046000830184611ee0565b92915050565b6000819050919050565b6000611f2f611f2a611f2584611e00565b611f0a565b611e00565b9050919050565b6000611f4182611f14565b9050919050565b6000611f5382611f36565b9050919050565b611f6381611f48565b82525050565b6000602082019050611f7e6000830184611f5a565b92915050565b611f8d81611e5e565b82525050565b6000602082019050611fa86000830184611f84565b92915050565b600080600060608486031215611fc757611fc6611df6565b5b6000611fd586828701611e49565b9350506020611fe686828701611e49565b9250506040611ff786828701611e7f565b9150509250925092565b600060ff82169050919050565b61201781612001565b82525050565b6000602082019050612032600083018461200e565b92915050565b61204181611e20565b82525050565b600060208201905061205c6000830184612038565b92915050565b60006020828403121561207857612077611df6565b5b600061208684828501611e49565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126120b4576120b361208f565b5b8235905067ffffffffffffffff8111156120d1576120d0612094565b5b6020830191508360208202830111156120ed576120ec612099565b5b9250929050565b6120fd81611ed4565b811461210857600080fd5b50565b60008135905061211a816120f4565b92915050565b60008060006040848603121561213957612138611df6565b5b600084013567ffffffffffffffff81111561215757612156611dfb565b5b6121638682870161209e565b935093505060206121768682870161210b565b9150509250925092565b60006020828403121561219657612195611df6565b5b60006121a484828501611e7f565b91505092915050565b600080604083850312156121c4576121c3611df6565b5b60006121d285828601611e49565b92505060206121e385828601611e49565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061223457607f821691505b602082108103612247576122466121ed565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061228782611e5e565b915061229283611e5e565b92508282019050808211156122aa576122a961224d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006122ea82611e5e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361231c5761231b61224d565b5b600182019050919050565b60008160011c9050919050565b6000808291508390505b600185111561237e5780860481111561235a5761235961224d565b5b60018516156123695780820291505b808102905061237785612327565b945061233e565b94509492505050565b6000826123975760019050612453565b816123a55760009050612453565b81600181146123bb57600281146123c5576123f4565b6001915050612453565b60ff8411156123d7576123d661224d565b5b8360020a9150848211156123ee576123ed61224d565b5b50612453565b5060208310610133831016604e8410600b84101617156124295782820a9050838111156124245761242361224d565b5b612453565b6124368484846001612334565b9250905081840481111561244d5761244c61224d565b5b81810290505b9392505050565b600061246582611e5e565b915061247083612001565b925061249d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612387565b905092915050565b60006124b082611e5e565b91506124bb83611e5e565b92508282026124c981611e5e565b915082820484148315176124e0576124df61224d565b5b5092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612543602583611d4f565b915061254e826124e7565b604082019050919050565b6000602082019050818103600083015261257281612536565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006125d5602683611d4f565b91506125e082612579565b604082019050919050565b60006020820190508181036000830152612604816125c8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612667602483611d4f565b91506126728261260b565b604082019050919050565b600060208201905081810360008301526126968161265a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006126f9602283611d4f565b91506127048261269d565b604082019050919050565b60006020820190508181036000830152612728816126ec565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612765602083611d4f565b91506127708261272f565b602082019050919050565b6000602082019050818103600083015261279481612758565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006127d1601d83611d4f565b91506127dc8261279b565b602082019050919050565b60006020820190508181036000830152612800816127c4565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b600061283d601c83611d4f565b915061284882612807565b602082019050919050565b6000602082019050818103600083015261286c81612830565b9050919050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006128cf602383611d4f565b91506128da82612873565b604082019050919050565b600060208201905081810360008301526128fe816128c2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061293f82611e5e565b915061294a83611e5e565b92508261295a57612959612905565b5b828204905092915050565b600061297082611e5e565b915061297b83611e5e565b92508282039050818111156129935761299261224d565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506129d781611e32565b92915050565b6000602082840312156129f3576129f2611df6565b5b6000612a01848285016129c8565b91505092915050565b6000819050919050565b6000612a2f612a2a612a2584612a0a565b611f0a565b611e5e565b9050919050565b612a3f81612a14565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612a7a81611e20565b82525050565b6000612a8c8383612a71565b60208301905092915050565b6000602082019050919050565b6000612ab082612a45565b612aba8185612a50565b9350612ac583612a61565b8060005b83811015612af6578151612add8882612a80565b9750612ae883612a98565b925050600181019050612ac9565b5085935050505092915050565b600060a082019050612b186000830188611f84565b612b256020830187612a36565b8181036040830152612b378186612aa5565b9050612b466060830185612038565b612b536080830184611f84565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612bb9602583611d4f565b9150612bc482612b5d565b604082019050919050565b60006020820190508181036000830152612be881612bac565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c4b602383611d4f565b9150612c5682612bef565b604082019050919050565b60006020820190508181036000830152612c7a81612c3e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000612cdd602683611d4f565b9150612ce882612c81565b604082019050919050565b60006020820190508181036000830152612d0c81612cd0565b905091905056fea26469706673582212208586814f32715e430ce873dbe7b092cc906e86ebcbe5f063fc0222d4ab55d84964736f6c63430008130033
Deployed Bytecode Sourcemap
9141:5882:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3093:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4091:226;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13949:102;;;;;;;;;;;;;:::i;:::-;;9695:124;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3414:108;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9374:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13838:103;;;;;;;;;;;;;:::i;:::-;;4325:295;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9306:61;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3313:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4628:263;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9828:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3530:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1051:103;;;;;;;;;;;;;:::i;:::-;;14583:400;;;;;;;;;;;;;:::i;:::-;;9182:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14388:99;;;;;;;;;;;;;:::i;:::-;;814:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9243:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13466:254;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3201:104;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14063:313;;;;;;;;;;;;;:::i;:::-;;13345:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4899:498;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3681:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13184:153;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3907:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13728:102;;;;;;;;;;;;;:::i;:::-;;1162:238;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3093:100;3147:13;3180:5;3173:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3093:100;:::o;4091:226::-;4199:4;4216:13;4232:12;:10;:12::i;:::-;4216:28;;4255:32;4264:5;4271:7;4280:6;4255:8;:32::i;:::-;4305:4;4298:11;;;4091:226;;;;:::o;13949:102::-;773:13;:11;:13::i;:::-;14016:1:::1;14001:12;:16;;;;14041:2;14025:13;:18;;;;13949:102::o:0;9695:124::-;9776:42;9695:124;:::o;3414:108::-;3475:7;3502:12;;3495:19;;3414:108;:::o;9374:55::-;;;;:::o;13838:103::-;773:13;:11;:13::i;:::-;13905:2:::1;13890:12:::0;:17:::1;;;;13931:2;13915:13;:18;;;;13838:103::o:0;4325:295::-;4456:4;4473:15;4491:12;:10;:12::i;:::-;4473:30;;4514:38;4530:4;4536:7;4545:6;4514:15;:38::i;:::-;4563:27;4573:4;4579:2;4583:6;4563:9;:27::i;:::-;4608:4;4601:11;;;4325:295;;;;;:::o;9306:61::-;;;;:::o;3313:93::-;3371:5;3396:2;3389:9;;3313:93;:::o;4628:263::-;4741:4;4758:13;4774:12;:10;:12::i;:::-;4758:28;;4797:64;4806:5;4813:7;4850:10;4822:25;4832:5;4839:7;4822:9;:25::i;:::-;:38;;;;:::i;:::-;4797:8;:64::i;:::-;4879:4;4872:11;;;4628:263;;;;:::o;9828:28::-;;;;;;;;;;;;;:::o;3530:143::-;3620:7;3647:9;:18;3657:7;3647:18;;;;;;;;;;;;;;;;3640:25;;3530:143;;;:::o;1051:103::-;773:13;:11;:13::i;:::-;1116:30:::1;1143:1;1116:18;:30::i;:::-;1051:103::o:0;14583:400::-;14628:26;14657:21;14628:50;;14714:1;14693:18;:22;14689:95;;;9643:42;14732:20;;:40;14753:18;14732:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14689:95;14794:28;14825:24;14843:4;14825:9;:24::i;:::-;14794:55;;14887:1;14864:20;:24;14860:116;;;14905:59;14923:4;9643:42;14943:20;14905:9;:59::i;:::-;14860:116;14617:366;;14583:400::o;9182:54::-;;;;:::o;14388:99::-;773:13;:11;:13::i;:::-;14453:1:::1;14438:12;:16;;;;14478:1;14462:13;:17;;;;14388:99::o:0;814:87::-;860:7;887:6;;;;;;;;;;;880:13;;814:87;:::o;9243:56::-;;;;:::o;13466:254::-;773:13;:11;:13::i;:::-;13603:9:::1;13598:115;13622:8;;:15;;13618:1;:19;13598:115;;;13693:8;13659:18;:31;13678:8;;13687:1;13678:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;13659:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;13639:3;;;;;:::i;:::-;;;;13598:115;;;;13466:254:::0;;;:::o;3201:104::-;3257:13;3290:7;3283:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3201:104;:::o;14063:313::-;773:13;:11;:13::i;:::-;14130:1:::1;14115:12;:16;;;;14155:1;14139:13;:17;;;;14198:10;:8;:10::i;:::-;14192:2;:16;;;;:::i;:::-;14182:7;:26;;;;:::i;:::-;14167:12;:41;;;;14252:10;:8;:10::i;:::-;14246:2;:16;;;;:::i;:::-;14236:7;:26;;;;:::i;:::-;14219:14;:43;;;;14308:10;:8;:10::i;:::-;14302:2;:16;;;;:::i;:::-;14295:4;:23;;;;:::i;:::-;14273:19;:45;;;;14358:10;:8;:10::i;:::-;14352:2;:16;;;;:::i;:::-;14345:4;:23;;;;:::i;:::-;14329:13;:39;;;;14063:313::o:0;13345:113::-;773:13;:11;:13::i;:::-;13438:12:::1;13422:13;:28;;;;13345:113:::0;:::o;4899:498::-;5017:4;5034:13;5050:12;:10;:12::i;:::-;5034:28;;5073:24;5100:25;5110:5;5117:7;5100:9;:25::i;:::-;5073:52;;5178:15;5158:16;:35;;5136:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;5294:60;5303:5;5310:7;5338:15;5319:16;:34;5294:8;:60::i;:::-;5385:4;5378:11;;;;4899:498;;;;:::o;3681:218::-;3785:4;3802:13;3818:12;:10;:12::i;:::-;3802:28;;3841;3851:5;3858:2;3862:6;3841:9;:28::i;:::-;3887:4;3880:11;;;3681:218;;;;:::o;13184:153::-;773:13;:11;:13::i;:::-;13311:18:::1;13289:19;:40;;;;13184:153:::0;:::o;3907:176::-;4021:7;4048:11;:18;4060:5;4048:18;;;;;;;;;;;;;;;:27;4067:7;4048:27;;;;;;;;;;;;;;;;4041:34;;3907:176;;;;:::o;13728:102::-;773:13;:11;:13::i;:::-;13794:2:::1;13779:12;:17;;;;13820:2;13804:13;:18;;;;13728:102::o:0;1162:238::-;773:13;:11;:13::i;:::-;1285:1:::1;1265:22;;:8;:22;;::::0;1243:110:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1364:28;1383:8;1364:18;:28::i;:::-;1162:238:::0;:::o;235:98::-;288:7;315:10;308:17;;235:98;:::o;7370:380::-;7523:1;7506:19;;:5;:19;;;7498:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7604:1;7585:21;;:7;:21;;;7577:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7688:6;7658:11;:18;7670:5;7658:18;;;;;;;;;;;;;;;:27;7677:7;7658:27;;;;;;;;;;;;;;;:36;;;;7726:7;7710:32;;7719:5;7710:32;;;7735:6;7710:32;;;;;;:::i;:::-;;;;;;;;7370:380;;;:::o;911:132::-;986:12;:10;:12::i;:::-;975:23;;:7;:5;:7::i;:::-;:23;;;967:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;911:132::o;7758:502::-;7893:24;7920:25;7930:5;7937:7;7920:9;:25::i;:::-;7893:52;;7980:17;7960:16;:37;7956:297;;8060:6;8040:16;:26;;8014:117;;;;;;;;;;;;:::i;:::-;;;;;;;;;8175:51;8184:5;8191:7;8219:6;8200:16;:25;8175:8;:51::i;:::-;7956:297;7882:378;7758:502;;;:::o;10494:2162::-;10630:7;:5;:7::i;:::-;10622:15;;:4;:15;;;;:32;;;;;10647:7;:5;:7::i;:::-;10641:13;;:2;:13;;;;10622:32;10618:1282;;;9643:42;10675:17;;:2;:17;;;;:40;;;;;9643:42;10696:19;;:4;:19;;;;10675:40;10671:144;;;10754:12;;10744:6;:22;;10736:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10671:144;10859:13;;;;;;;;;;;10853:19;;:2;:19;;;;:40;;;;;9643:42;10876:17;;:2;:17;;;;10853:40;:63;;;;;9643:42;10897:19;;:4;:19;;;;10853:63;10831:285;;;11007:14;;10997:6;10981:13;10991:2;10981:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;10951:149;;;;;;;;;;;;:::i;:::-;;;;;;;;;10831:285;11130:28;11161:24;11179:4;11161:9;:24::i;:::-;11130:55;;11200:15;11242:19;;11218:20;:43;;11200:61;;11306:13;;11282:20;:37;11278:114;;11363:13;;11340:36;;11278:114;11430:10;:38;;;;;11462:6;;;;;;;;;;;11461:7;11430:38;:80;;;;;11497:13;;;;;;;;;;;11489:21;;:4;:21;;;;11430:80;:126;;;;;11532:18;:24;11551:4;11532:24;;;;;;;;;;;;;;;;;;;;;;;;;11531:25;11430:126;:170;;;;;11578:18;:22;11597:2;11578:22;;;;;;;;;;;;;;;;;;;;;;;;;11577:23;11430:170;11408:481;;;11635:38;11652:20;11635:16;:38::i;:::-;11694:26;11723:21;11694:50;;11788:1;11767:18;:22;11763:111;;;9643:42;11814:20;;:40;11835:18;11814:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11763:111;11616:273;11408:481;10656:1244;;10618:1282;11939:15;11981:13;;;;;;;;;;;11973:21;;:4;:21;;;:55;;;;;9776:42;11998:30;;:2;:30;;;;11973:55;11969:110;;;12055:12;;12045:22;;11969:110;12101:13;;;;;;;;;;;12095:19;;:2;:19;;;:55;;;;;9776:42;12118:32;;:4;:32;;;;12095:55;12091:111;;;12177:13;;12167:23;;12091:111;12233:18;:24;12252:4;12233:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;12261:18;:22;12280:2;12261:22;;;;;;;;;;;;;;;;;;;;;;;;;12233:50;12232:115;;;;12310:13;;;;;;;;;;;12302:21;;:4;:21;;;;:44;;;;;12333:13;;;;;;;;;;;12327:19;;:2;:19;;;;12302:44;12232:115;12214:183;;;12384:1;12374:11;;12214:183;12409:13;12446:3;12435:7;12426:6;:16;;;;:::i;:::-;12425:24;;;;:::i;:::-;12409:40;;12460:23;12495:5;12486:6;:14;;;;:::i;:::-;12460:40;;12523:1;12515:5;:9;12511:85;;;12541:43;12557:4;12571;12578:5;12541:15;:43::i;:::-;12511:85;12606:42;12622:4;12628:2;12632:15;12606;:42::i;:::-;10607:2049;;;10494:2162;;;:::o;1408:191::-;1482:16;1501:6;;;;;;;;;;;1482:25;;1527:8;1518:6;;:17;;;;;;;;;;;;;;;;;;1582:8;1551:40;;1572:8;1551:40;;;;;;;;;;;;1471:128;1408:191;:::o;12664:483::-;9944:4;9935:6;;:13;;;;;;;;;;;;;;;;;;12742:21:::1;12780:1;12766:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12742:40;;12811:4;12793;12798:1;12793:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9776:42;12837:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12827:4;12832:1;12827:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;12870:62;12887:4;9776:42;12920:11;12870:8;:62::i;:::-;9776:42;12943:66;;;13024:11;13050:1;13066:4;13093;13113:15;12943:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12731:416;9980:5:::0;9971:6;;:14;;;;;;;;;;;;;;;;;;12664:483;:::o;5405:714::-;5552:1;5536:18;;:4;:18;;;5528:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5629:1;5615:16;;:2;:16;;;5607:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;5684:38;5705:4;5711:2;5715:6;5684:20;:38::i;:::-;5735:19;5757:9;:15;5767:4;5757:15;;;;;;;;;;;;;;;;5735:37;;5820:6;5805:11;:21;;5783:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;5960:6;5946:11;:20;5928:9;:15;5938:4;5928:15;;;;;;;;;;;;;;;:38;;;;6000:6;5983:9;:13;5993:2;5983:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;6050:2;6035:26;;6044:4;6035:26;;;6054:6;6035:26;;;;;;:::i;:::-;;;;;;;;6074:37;6094:4;6100:2;6104:6;6074:19;:37::i;:::-;5517:602;5405:714;;;:::o;8268:125::-;;;;:::o;8403:124::-;;;;:::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;1553:117;1662:1;1659;1652: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:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:619::-;4848:6;4856;4864;4913:2;4901:9;4892:7;4888:23;4884:32;4881:119;;;4919:79;;:::i;:::-;4881:119;5039:1;5064:53;5109:7;5100:6;5089:9;5085:22;5064:53;:::i;:::-;5054:63;;5010:117;5166:2;5192:53;5237:7;5228:6;5217:9;5213:22;5192:53;:::i;:::-;5182:63;;5137:118;5294:2;5320:53;5365:7;5356:6;5345:9;5341:22;5320:53;:::i;:::-;5310:63;;5265:118;4771:619;;;;;:::o;5396:86::-;5431:7;5471:4;5464:5;5460:16;5449:27;;5396:86;;;:::o;5488:112::-;5571:22;5587:5;5571:22;:::i;:::-;5566:3;5559:35;5488:112;;:::o;5606:214::-;5695:4;5733:2;5722:9;5718:18;5710:26;;5746:67;5810:1;5799:9;5795:17;5786:6;5746:67;:::i;:::-;5606:214;;;;:::o;5826:118::-;5913:24;5931:5;5913:24;:::i;:::-;5908:3;5901:37;5826:118;;:::o;5950:222::-;6043:4;6081:2;6070:9;6066:18;6058:26;;6094:71;6162:1;6151:9;6147:17;6138:6;6094:71;:::i;:::-;5950:222;;;;:::o;6178:329::-;6237:6;6286:2;6274:9;6265:7;6261:23;6257:32;6254:119;;;6292:79;;:::i;:::-;6254:119;6412:1;6437:53;6482:7;6473:6;6462:9;6458:22;6437:53;:::i;:::-;6427:63;;6383:117;6178:329;;;;:::o;6513:117::-;6622:1;6619;6612:12;6636:117;6745:1;6742;6735:12;6759:117;6868:1;6865;6858:12;6899:568;6972:8;6982:6;7032:3;7025:4;7017:6;7013:17;7009:27;6999:122;;7040:79;;:::i;:::-;6999:122;7153:6;7140:20;7130:30;;7183:18;7175:6;7172:30;7169:117;;;7205:79;;:::i;:::-;7169:117;7319:4;7311:6;7307:17;7295:29;;7373:3;7365:4;7357:6;7353:17;7343:8;7339:32;7336:41;7333:128;;;7380:79;;:::i;:::-;7333:128;6899:568;;;;;:::o;7473:116::-;7543:21;7558:5;7543:21;:::i;:::-;7536:5;7533:32;7523:60;;7579:1;7576;7569:12;7523:60;7473:116;:::o;7595:133::-;7638:5;7676:6;7663:20;7654:29;;7692:30;7716:5;7692:30;:::i;:::-;7595:133;;;;:::o;7734:698::-;7826:6;7834;7842;7891:2;7879:9;7870:7;7866:23;7862:32;7859:119;;;7897:79;;:::i;:::-;7859:119;8045:1;8034:9;8030:17;8017:31;8075:18;8067:6;8064:30;8061:117;;;8097:79;;:::i;:::-;8061:117;8210:80;8282:7;8273:6;8262:9;8258:22;8210:80;:::i;:::-;8192:98;;;;7988:312;8339:2;8365:50;8407:7;8398:6;8387:9;8383:22;8365:50;:::i;:::-;8355:60;;8310:115;7734:698;;;;;:::o;8438:329::-;8497:6;8546:2;8534:9;8525:7;8521:23;8517:32;8514:119;;;8552:79;;:::i;:::-;8514:119;8672:1;8697:53;8742:7;8733:6;8722:9;8718:22;8697:53;:::i;:::-;8687:63;;8643:117;8438:329;;;;:::o;8773:474::-;8841:6;8849;8898:2;8886:9;8877:7;8873:23;8869:32;8866:119;;;8904:79;;:::i;:::-;8866:119;9024:1;9049:53;9094:7;9085:6;9074:9;9070:22;9049:53;:::i;:::-;9039:63;;8995:117;9151:2;9177:53;9222:7;9213:6;9202:9;9198:22;9177:53;:::i;:::-;9167:63;;9122:118;8773:474;;;;;:::o;9253:180::-;9301:77;9298:1;9291:88;9398:4;9395:1;9388:15;9422:4;9419:1;9412:15;9439:320;9483:6;9520:1;9514:4;9510:12;9500:22;;9567:1;9561:4;9557:12;9588:18;9578:81;;9644:4;9636:6;9632:17;9622:27;;9578:81;9706:2;9698:6;9695:14;9675:18;9672:38;9669:84;;9725:18;;:::i;:::-;9669:84;9490:269;9439:320;;;:::o;9765:180::-;9813:77;9810:1;9803:88;9910:4;9907:1;9900:15;9934:4;9931:1;9924:15;9951:191;9991:3;10010:20;10028:1;10010:20;:::i;:::-;10005:25;;10044:20;10062:1;10044:20;:::i;:::-;10039:25;;10087:1;10084;10080:9;10073:16;;10108:3;10105:1;10102:10;10099:36;;;10115:18;;:::i;:::-;10099:36;9951:191;;;;:::o;10148:180::-;10196:77;10193:1;10186:88;10293:4;10290:1;10283:15;10317:4;10314:1;10307:15;10334:233;10373:3;10396:24;10414:5;10396:24;:::i;:::-;10387:33;;10442:66;10435:5;10432:77;10429:103;;10512:18;;:::i;:::-;10429:103;10559:1;10552:5;10548:13;10541:20;;10334:233;;;:::o;10573:102::-;10615:8;10662:5;10659:1;10655:13;10634:34;;10573:102;;;:::o;10681:848::-;10742:5;10749:4;10773:6;10764:15;;10797:5;10788:14;;10811:712;10832:1;10822:8;10819:15;10811:712;;;10927:4;10922:3;10918:14;10912:4;10909:24;10906:50;;;10936:18;;:::i;:::-;10906:50;10986:1;10976:8;10972:16;10969:451;;;11401:4;11394:5;11390:16;11381:25;;10969:451;11451:4;11445;11441:15;11433:23;;11481:32;11504:8;11481:32;:::i;:::-;11469:44;;10811:712;;;10681:848;;;;;;;:::o;11535:1073::-;11589:5;11780:8;11770:40;;11801:1;11792:10;;11803:5;;11770:40;11829:4;11819:36;;11846:1;11837:10;;11848:5;;11819:36;11915:4;11963:1;11958:27;;;;11999:1;11994:191;;;;11908:277;;11958:27;11976:1;11967:10;;11978:5;;;11994:191;12039:3;12029:8;12026:17;12023:43;;;12046:18;;:::i;:::-;12023:43;12095:8;12092:1;12088:16;12079:25;;12130:3;12123:5;12120:14;12117:40;;;12137:18;;:::i;:::-;12117:40;12170:5;;;11908:277;;12294:2;12284:8;12281:16;12275:3;12269:4;12266:13;12262:36;12244:2;12234:8;12231:16;12226:2;12220:4;12217:12;12213:35;12197:111;12194:246;;;12350:8;12344:4;12340:19;12331:28;;12385:3;12378:5;12375:14;12372:40;;;12392:18;;:::i;:::-;12372:40;12425:5;;12194:246;12465:42;12503:3;12493:8;12487:4;12484:1;12465:42;:::i;:::-;12450:57;;;;12539:4;12534:3;12530:14;12523:5;12520:25;12517:51;;;12548:18;;:::i;:::-;12517:51;12597:4;12590:5;12586:16;12577:25;;11535:1073;;;;;;:::o;12614:281::-;12672:5;12696:23;12714:4;12696:23;:::i;:::-;12688:31;;12740:25;12756:8;12740:25;:::i;:::-;12728:37;;12784:104;12821:66;12811:8;12805:4;12784:104;:::i;:::-;12775:113;;12614:281;;;;:::o;12901:410::-;12941:7;12964:20;12982:1;12964:20;:::i;:::-;12959:25;;12998:20;13016:1;12998:20;:::i;:::-;12993:25;;13053:1;13050;13046:9;13075:30;13093:11;13075:30;:::i;:::-;13064:41;;13254:1;13245:7;13241:15;13238:1;13235:22;13215:1;13208:9;13188:83;13165:139;;13284:18;;:::i;:::-;13165:139;12949:362;12901:410;;;;:::o;13317:224::-;13457:34;13453:1;13445:6;13441:14;13434:58;13526:7;13521:2;13513:6;13509:15;13502:32;13317:224;:::o;13547:366::-;13689:3;13710:67;13774:2;13769:3;13710:67;:::i;:::-;13703:74;;13786:93;13875:3;13786:93;:::i;:::-;13904:2;13899:3;13895:12;13888:19;;13547:366;;;:::o;13919:419::-;14085:4;14123:2;14112:9;14108:18;14100:26;;14172:9;14166:4;14162:20;14158:1;14147:9;14143:17;14136:47;14200:131;14326:4;14200:131;:::i;:::-;14192:139;;13919:419;;;:::o;14344:225::-;14484:34;14480:1;14472:6;14468:14;14461:58;14553:8;14548:2;14540:6;14536:15;14529:33;14344:225;:::o;14575:366::-;14717:3;14738:67;14802:2;14797:3;14738:67;:::i;:::-;14731:74;;14814:93;14903:3;14814:93;:::i;:::-;14932:2;14927:3;14923:12;14916:19;;14575:366;;;:::o;14947:419::-;15113:4;15151:2;15140:9;15136:18;15128:26;;15200:9;15194:4;15190:20;15186:1;15175:9;15171:17;15164:47;15228:131;15354:4;15228:131;:::i;:::-;15220:139;;14947:419;;;:::o;15372:223::-;15512:34;15508:1;15500:6;15496:14;15489:58;15581:6;15576:2;15568:6;15564:15;15557:31;15372:223;:::o;15601:366::-;15743:3;15764:67;15828:2;15823:3;15764:67;:::i;:::-;15757:74;;15840:93;15929:3;15840:93;:::i;:::-;15958:2;15953:3;15949:12;15942:19;;15601:366;;;:::o;15973:419::-;16139:4;16177:2;16166:9;16162:18;16154:26;;16226:9;16220:4;16216:20;16212:1;16201:9;16197:17;16190:47;16254:131;16380:4;16254:131;:::i;:::-;16246:139;;15973:419;;;:::o;16398:221::-;16538:34;16534:1;16526:6;16522:14;16515:58;16607:4;16602:2;16594:6;16590:15;16583:29;16398:221;:::o;16625:366::-;16767:3;16788:67;16852:2;16847:3;16788:67;:::i;:::-;16781:74;;16864:93;16953:3;16864:93;:::i;:::-;16982:2;16977:3;16973:12;16966:19;;16625:366;;;:::o;16997:419::-;17163:4;17201:2;17190:9;17186:18;17178:26;;17250:9;17244:4;17240:20;17236:1;17225:9;17221:17;17214:47;17278:131;17404:4;17278:131;:::i;:::-;17270:139;;16997:419;;;:::o;17422:182::-;17562:34;17558:1;17550:6;17546:14;17539:58;17422:182;:::o;17610:366::-;17752:3;17773:67;17837:2;17832:3;17773:67;:::i;:::-;17766:74;;17849:93;17938:3;17849:93;:::i;:::-;17967:2;17962:3;17958:12;17951:19;;17610:366;;;:::o;17982:419::-;18148:4;18186:2;18175:9;18171:18;18163:26;;18235:9;18229:4;18225:20;18221:1;18210:9;18206:17;18199:47;18263:131;18389:4;18263:131;:::i;:::-;18255:139;;17982:419;;;:::o;18407:179::-;18547:31;18543:1;18535:6;18531:14;18524:55;18407:179;:::o;18592:366::-;18734:3;18755:67;18819:2;18814:3;18755:67;:::i;:::-;18748:74;;18831:93;18920:3;18831:93;:::i;:::-;18949:2;18944:3;18940:12;18933:19;;18592:366;;;:::o;18964:419::-;19130:4;19168:2;19157:9;19153:18;19145:26;;19217:9;19211:4;19207:20;19203:1;19192:9;19188:17;19181:47;19245:131;19371:4;19245:131;:::i;:::-;19237:139;;18964:419;;;:::o;19389:178::-;19529:30;19525:1;19517:6;19513:14;19506:54;19389:178;:::o;19573:366::-;19715:3;19736:67;19800:2;19795:3;19736:67;:::i;:::-;19729:74;;19812:93;19901:3;19812:93;:::i;:::-;19930:2;19925:3;19921:12;19914:19;;19573:366;;;:::o;19945:419::-;20111:4;20149:2;20138:9;20134:18;20126:26;;20198:9;20192:4;20188:20;20184:1;20173:9;20169:17;20162:47;20226:131;20352:4;20226:131;:::i;:::-;20218:139;;19945:419;;;:::o;20370:222::-;20510:34;20506:1;20498:6;20494:14;20487:58;20579:5;20574:2;20566:6;20562:15;20555:30;20370:222;:::o;20598:366::-;20740:3;20761:67;20825:2;20820:3;20761:67;:::i;:::-;20754:74;;20837:93;20926:3;20837:93;:::i;:::-;20955:2;20950:3;20946:12;20939:19;;20598:366;;;:::o;20970:419::-;21136:4;21174:2;21163:9;21159:18;21151:26;;21223:9;21217:4;21213:20;21209:1;21198:9;21194:17;21187:47;21251:131;21377:4;21251:131;:::i;:::-;21243:139;;20970:419;;;:::o;21395:180::-;21443:77;21440:1;21433:88;21540:4;21537:1;21530:15;21564:4;21561:1;21554:15;21581:185;21621:1;21638:20;21656:1;21638:20;:::i;:::-;21633:25;;21672:20;21690:1;21672:20;:::i;:::-;21667:25;;21711:1;21701:35;;21716:18;;:::i;:::-;21701:35;21758:1;21755;21751:9;21746:14;;21581:185;;;;:::o;21772:194::-;21812:4;21832:20;21850:1;21832:20;:::i;:::-;21827:25;;21866:20;21884:1;21866:20;:::i;:::-;21861:25;;21910:1;21907;21903:9;21895:17;;21934:1;21928:4;21925:11;21922:37;;;21939:18;;:::i;:::-;21922:37;21772:194;;;;:::o;21972:180::-;22020:77;22017:1;22010:88;22117:4;22114:1;22107:15;22141:4;22138:1;22131:15;22158:143;22215:5;22246:6;22240:13;22231:22;;22262:33;22289:5;22262:33;:::i;:::-;22158:143;;;;:::o;22307:351::-;22377:6;22426:2;22414:9;22405:7;22401:23;22397:32;22394:119;;;22432:79;;:::i;:::-;22394:119;22552:1;22577:64;22633:7;22624:6;22613:9;22609:22;22577:64;:::i;:::-;22567:74;;22523:128;22307:351;;;;:::o;22664:85::-;22709:7;22738:5;22727:16;;22664:85;;;:::o;22755:158::-;22813:9;22846:61;22864:42;22873:32;22899:5;22873:32;:::i;:::-;22864:42;:::i;:::-;22846:61;:::i;:::-;22833:74;;22755:158;;;:::o;22919:147::-;23014:45;23053:5;23014:45;:::i;:::-;23009:3;23002:58;22919:147;;:::o;23072:114::-;23139:6;23173:5;23167:12;23157:22;;23072:114;;;:::o;23192:184::-;23291:11;23325:6;23320:3;23313:19;23365:4;23360:3;23356:14;23341:29;;23192:184;;;;:::o;23382:132::-;23449:4;23472:3;23464:11;;23502:4;23497:3;23493:14;23485:22;;23382:132;;;:::o;23520:108::-;23597:24;23615:5;23597:24;:::i;:::-;23592:3;23585:37;23520:108;;:::o;23634:179::-;23703:10;23724:46;23766:3;23758:6;23724:46;:::i;:::-;23802:4;23797:3;23793:14;23779:28;;23634:179;;;;:::o;23819:113::-;23889:4;23921;23916:3;23912:14;23904:22;;23819:113;;;:::o;23968:732::-;24087:3;24116:54;24164:5;24116:54;:::i;:::-;24186:86;24265:6;24260:3;24186:86;:::i;:::-;24179:93;;24296:56;24346:5;24296:56;:::i;:::-;24375:7;24406:1;24391:284;24416:6;24413:1;24410:13;24391:284;;;24492:6;24486:13;24519:63;24578:3;24563:13;24519:63;:::i;:::-;24512:70;;24605:60;24658:6;24605:60;:::i;:::-;24595:70;;24451:224;24438:1;24435;24431:9;24426:14;;24391:284;;;24395:14;24691:3;24684:10;;24092:608;;;23968:732;;;;:::o;24706:831::-;24969:4;25007:3;24996:9;24992:19;24984:27;;25021:71;25089:1;25078:9;25074:17;25065:6;25021:71;:::i;:::-;25102:80;25178:2;25167:9;25163:18;25154:6;25102:80;:::i;:::-;25229:9;25223:4;25219:20;25214:2;25203:9;25199:18;25192:48;25257:108;25360:4;25351:6;25257:108;:::i;:::-;25249:116;;25375:72;25443:2;25432:9;25428:18;25419:6;25375:72;:::i;:::-;25457:73;25525:3;25514:9;25510:19;25501:6;25457:73;:::i;:::-;24706:831;;;;;;;;:::o;25543:224::-;25683:34;25679:1;25671:6;25667:14;25660:58;25752:7;25747:2;25739:6;25735:15;25728:32;25543:224;:::o;25773:366::-;25915:3;25936:67;26000:2;25995:3;25936:67;:::i;:::-;25929:74;;26012:93;26101:3;26012:93;:::i;:::-;26130:2;26125:3;26121:12;26114:19;;25773:366;;;:::o;26145:419::-;26311:4;26349:2;26338:9;26334:18;26326:26;;26398:9;26392:4;26388:20;26384:1;26373:9;26369:17;26362:47;26426:131;26552:4;26426:131;:::i;:::-;26418:139;;26145:419;;;:::o;26570:222::-;26710:34;26706:1;26698:6;26694:14;26687:58;26779:5;26774:2;26766:6;26762:15;26755:30;26570:222;:::o;26798:366::-;26940:3;26961:67;27025:2;27020:3;26961:67;:::i;:::-;26954:74;;27037:93;27126:3;27037:93;:::i;:::-;27155:2;27150:3;27146:12;27139:19;;26798:366;;;:::o;27170:419::-;27336:4;27374:2;27363:9;27359:18;27351:26;;27423:9;27417:4;27413:20;27409:1;27398:9;27394:17;27387:47;27451:131;27577:4;27451:131;:::i;:::-;27443:139;;27170:419;;;:::o;27595:225::-;27735:34;27731:1;27723:6;27719:14;27712:58;27804:8;27799:2;27791:6;27787:15;27780:33;27595:225;:::o;27826:366::-;27968:3;27989:67;28053:2;28048:3;27989:67;:::i;:::-;27982:74;;28065:93;28154:3;28065:93;:::i;:::-;28183:2;28178:3;28174:12;28167:19;;27826:366;;;:::o;28198:419::-;28364:4;28402:2;28391:9;28387:18;28379:26;;28451:9;28445:4;28441:20;28437:1;28426:9;28422:17;28415:47;28479:131;28605:4;28479:131;:::i;:::-;28471:139;;28198:419;;;:::o
Swarm Source
ipfs://8586814f32715e430ce873dbe7b092cc906e86ebcbe5f063fc0222d4ab55d849
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.