ERC-20
Overview
Max Total Supply
1,000,000,000,000 Sake
Holders
35
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
9,500,000,000.000000365 SakeValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
sakesmartcontract
Compiler Version
v0.8.15+commit.e14f2714
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-08-28 */ // SPDX-License-Identifier: NONE /** Token Name: Kuchikamizake Ticker: Sake Supply: 1,000,000,000,000 Trillion Max Buy at Launch: 5000000001 Telegram https://t.me/KuchikamizakeERC20 5% Tax */ pragma solidity ^0.8.4; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _setOwner(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { _setOwner(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _setOwner(newOwner); } function _setOwner(address newOwner) private { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract sakesmartcontract is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; string private constant _name = "Kuchikamizake"; string private constant _symbol = "Sake"; uint8 private constant _decimals = 9; uint256 public buyAutoBurnFee = 100; uint256 public buyAutoLiquidityFee = 0; uint256 public buyMarketingFee = 400; uint256 public totalBuyFees = buyAutoBurnFee + buyAutoLiquidityFee + buyMarketingFee; uint256 public sellAutoBurnFee = 100; uint256 public sellAutoLiquidityFee = 0; uint256 public sellMarketingFee = 400; uint256 public totalSellFees = sellAutoBurnFee + sellAutoLiquidityFee + sellMarketingFee; uint256 public tokensForAutoBurn; uint256 public tokensForAutoLiquidity; uint256 public tokensForMarketing; uint16 public masterTaxDivisor = 10000; address public constant DEAD = 0x000000000000000000000000000000000000dEaD; address public pairAddress; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; uint256 private constant _tTotal = 1000000000000 * 10**9; uint256 private maxWalletAmount = 5000000001 * 10**9; uint256 private maxTxAmount = 5000000001 * 10**9; address payable private feeAddrWallet; event MaxWalletAmountUpdated(uint maxWalletAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); pairAddress = IUniswapV2Factory(_uniswapV2Router.factory()).getPair(address(this), _uniswapV2Router.WETH()); feeAddrWallet = payable(0x74e48D4e60dA951a75B4C44f105e7607175E4912); _tOwned[owner()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[feeAddrWallet] = true; uint256 _buyAutoBurnFee = 100; uint256 _buyAutoLiquidityFee = 0; uint256 _buyMarketingFee = 400; uint256 _sellAutoBurnFee = 100; uint256 _sellAutoLiquidityFee = 0; uint256 _sellMarketingFee = 400; buyAutoBurnFee = _buyAutoBurnFee; buyAutoLiquidityFee = _buyAutoLiquidityFee; buyMarketingFee = _buyMarketingFee; totalBuyFees = buyAutoBurnFee + buyAutoLiquidityFee + buyMarketingFee; sellAutoBurnFee = _sellAutoBurnFee; sellAutoLiquidityFee = _sellAutoLiquidityFee; sellMarketingFee = _sellMarketingFee; totalSellFees = sellAutoBurnFee + sellAutoLiquidityFee + sellMarketingFee; swapEnabled = true; maxTxAmount = 5000000001 * 10**9; maxWalletAmount = 5000000001 * 10**9; tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); emit Transfer(address(0), owner(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _tOwned[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) { _transfer(sender, recipient, amount); uint256 currentAllowance = _allowances[sender][_msgSender()]; require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); _approve(sender, _msgSender(), currentAllowance - amount); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require(amount <= balanceOf(from),"You are trying to transfer more than your balance"); require(tradingOpen || _isExcludedFromFee[from] || _isExcludedFromFee[to], "Trading not enabled yet"); if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to]) { require(amount <= maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= maxWalletAmount, "Exceeds the maxWalletSize."); } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>0) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } _tokenTransfer(from, to, amount, !(_isExcludedFromFee[from] || _isExcludedFromFee[to])); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private { _tOwned[sender] -= amount; uint256 amountReceived = (takeFee) ? takeTaxes(sender, recipient, amount) : amount; _tOwned[recipient] += amountReceived; emit Transfer(sender, recipient, amountReceived); } function takeTaxes(address from, address to, uint256 amount) internal returns (uint256) { if(from == uniswapV2Pair && totalBuyFees > 0 ) { tokensForAutoBurn = amount * buyAutoBurnFee / masterTaxDivisor; tokensForAutoLiquidity = amount * buyAutoLiquidityFee / masterTaxDivisor; tokensForMarketing = amount * buyMarketingFee / masterTaxDivisor; } else if (to == uniswapV2Pair && totalSellFees > 0 ) { tokensForAutoBurn = amount * sellAutoBurnFee / masterTaxDivisor; tokensForAutoLiquidity = amount * sellAutoLiquidityFee / masterTaxDivisor; tokensForMarketing = amount * sellMarketingFee / masterTaxDivisor; } _tOwned[DEAD] += tokensForAutoBurn; emit Transfer(from, DEAD, tokensForAutoBurn); _tOwned[pairAddress] += tokensForAutoLiquidity; emit Transfer(from, pairAddress, tokensForAutoLiquidity); _tOwned[address(this)] += tokensForMarketing; emit Transfer(from, address(this), tokensForMarketing); uint256 feeAmount = tokensForAutoBurn + tokensForMarketing + tokensForAutoLiquidity; return amount - feeAmount; } function excludeFromFee(address account) public onlyOwner { _isExcludedFromFee[account] = true; } function includeInFee(address account) public onlyOwner { _isExcludedFromFee[account] = false; } function SetWalletandTxtAmount(uint256 _maxTxAmount, uint256 _maxWalletSize) external onlyOwner{ maxTxAmount = _maxTxAmount * 10 **_decimals; maxWalletAmount = _maxWalletSize * 10 **_decimals; } function updateBuyFees(uint256 _buyAutoBurnFee, uint256 _buyAutoLiquidityFee, uint256 _buyMarketingFee) external onlyOwner { buyAutoBurnFee = _buyAutoBurnFee; buyAutoLiquidityFee = _buyAutoLiquidityFee; buyMarketingFee = _buyMarketingFee; totalBuyFees = buyAutoBurnFee + buyAutoLiquidityFee + buyMarketingFee; require(totalBuyFees <= 20, "Must keep fees at 20% or less"); } function updateSellFees(uint256 _sellAutoBurnFee, uint256 _sellAutoLiquidityFee, uint256 _sellMarketingFee) external onlyOwner { sellAutoBurnFee = _sellAutoBurnFee; sellAutoLiquidityFee = _sellAutoLiquidityFee; sellMarketingFee = _sellMarketingFee; totalBuyFees = sellAutoBurnFee + sellAutoLiquidityFee + sellMarketingFee; require(totalBuyFees <= 20, "Must keep fees at 20% or less"); } function sendETHToFee(uint256 amount) private { feeAddrWallet.transfer(amount); } receive() external payable{ } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWalletAmount","type":"uint256"}],"name":"MaxWalletAmountUpdated","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":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTxAmount","type":"uint256"},{"internalType":"uint256","name":"_maxWalletSize","type":"uint256"}],"name":"SetWalletandTxtAmount","outputs":[],"stateMutability":"nonpayable","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":"buyAutoBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyAutoLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"masterTaxDivisor","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellAutoBurnFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellAutoLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tokensForAutoBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForAutoLiquidity","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensForMarketing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBuyFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSellFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyAutoBurnFee","type":"uint256"},{"internalType":"uint256","name":"_buyAutoLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"_buyMarketingFee","type":"uint256"}],"name":"updateBuyFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_sellAutoBurnFee","type":"uint256"},{"internalType":"uint256","name":"_sellAutoLiquidityFee","type":"uint256"},{"internalType":"uint256","name":"_sellMarketingFee","type":"uint256"}],"name":"updateSellFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526064600455600060055561019060065560065460055460045462000029919062000a71565b62000035919062000a71565b60075560646008556000600955610190600a55600a546009546008546200005d919062000a71565b62000069919062000a71565b600b55612710600f60006101000a81548161ffff021916908361ffff1602179055506000601160156101000a81548160ff0219169083151502179055506000601160166101000a81548160ff0219169083151502179055506745639182808eca006012556745639182808eca00601355348015620000e657600080fd5b5062000107620000fb6200094360201b60201c565b6200094b60201b60201c565b601160149054906101000a900460ff16156200015a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001519062000b2f565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000200573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000226919062000bbb565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200028e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b4919062000bbb565b6040518363ffffffff1660e01b8152600401620002d392919062000bfe565b6020604051808303816000875af1158015620002f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000319919062000bbb565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003a5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003cb919062000bbb565b73ffffffffffffffffffffffffffffffffffffffff1663e6a43905308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000433573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000459919062000bbb565b6040518363ffffffff1660e01b81526004016200047892919062000bfe565b602060405180830381865afa15801562000496573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004bc919062000bbb565b600f60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507374e48d4e60da951a75b4c44f105e7607175e4912601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550683635c9adc5dea00000600160006200056f62000a0f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160036000620005c362000a0f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600060649050600080610190905060006064905060008061019090508560048190555084600581905550836006819055506006546005546004546200072c919062000a71565b62000738919062000a71565b600781905550826008819055508160098190555080600a81905550600a5460095460085462000768919062000a71565b62000774919062000a71565b600b819055506001601160166101000a81548160ff0219169083151502179055506745639182808eca006013819055506745639182808eca006012819055506001601160146101000a81548160ff021916908315150217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016200086f92919062000c3c565b6020604051808303816000875af11580156200088f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008b5919062000ca6565b50620008c662000a0f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200092e919062000cd8565b60405180910390a35050505050505062000cf5565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000a7e8262000a38565b915062000a8b8362000a38565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000ac35762000ac262000a42565b5b828201905092915050565b600082825260208201905092915050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b600062000b1760178362000ace565b915062000b248262000adf565b602082019050919050565b6000602082019050818103600083015262000b4a8162000b08565b9050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b838262000b56565b9050919050565b62000b958162000b76565b811462000ba157600080fd5b50565b60008151905062000bb58162000b8a565b92915050565b60006020828403121562000bd45762000bd362000b51565b5b600062000be48482850162000ba4565b91505092915050565b62000bf88162000b76565b82525050565b600060408201905062000c15600083018562000bed565b62000c24602083018462000bed565b9392505050565b62000c368162000a38565b82525050565b600060408201905062000c53600083018562000bed565b62000c62602083018462000c2b565b9392505050565b60008115159050919050565b62000c808162000c69565b811462000c8c57600080fd5b50565b60008151905062000ca08162000c75565b92915050565b60006020828403121562000cbf5762000cbe62000b51565b5b600062000ccf8482850162000c8f565b91505092915050565b600060208201905062000cef600083018462000c2b565b92915050565b6131268062000d056000396000f3fe6080604052600436106101dc5760003560e01c80638da5cb5b11610102578063c99f2fed11610095578063ea2f0b3711610064578063ea2f0b37146106b1578063ebece9c9146106da578063f239eab814610703578063f2fde38b1461072e576101e3565b8063c99f2fed146105f3578063cc70acee1461061e578063d0a3981414610649578063dd62ed3e14610674576101e3565b8063a8b08982116100d1578063a8b0898214610537578063a9059cbb14610562578063b9e937001461059f578063c17b5b8c146105ca576101e3565b80638da5cb5b1461048b57806392136913146104b657806395d89b41146104e15780639740a9461461050c576101e3565b8063313ce5671161017a57806370a082311161014957806370a08231146103e3578063715018a6146104205780637bce5a04146104375780638095d56414610462576101e3565b8063313ce56714610339578063437823ec1461036457806347afcbfe1461038d5780636cce46fc146103b8576101e3565b806318160ddd116101b657806318160ddd1461027b5780631d6167ac146102a65780631f3fed8f146102d157806323b872dd146102fc576101e3565b806303fd2a45146101e857806306fdde0314610213578063095ea7b31461023e576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd610757565b60405161020a91906121b7565b60405180910390f35b34801561021f57600080fd5b5061022861075d565b604051610235919061226b565b60405180910390f35b34801561024a57600080fd5b50610265600480360381019061026091906122f4565b61079a565b604051610272919061234f565b60405180910390f35b34801561028757600080fd5b506102906107b8565b60405161029d9190612379565b60405180910390f35b3480156102b257600080fd5b506102bb6107c9565b6040516102c891906123b1565b60405180910390f35b3480156102dd57600080fd5b506102e66107dd565b6040516102f39190612379565b60405180910390f35b34801561030857600080fd5b50610323600480360381019061031e91906123cc565b6107e3565b604051610330919061234f565b60405180910390f35b34801561034557600080fd5b5061034e6108e4565b60405161035b919061243b565b60405180910390f35b34801561037057600080fd5b5061038b60048036038101906103869190612456565b6108ed565b005b34801561039957600080fd5b506103a26109c4565b6040516103af9190612379565b60405180910390f35b3480156103c457600080fd5b506103cd6109ca565b6040516103da9190612379565b60405180910390f35b3480156103ef57600080fd5b5061040a60048036038101906104059190612456565b6109d0565b6040516104179190612379565b60405180910390f35b34801561042c57600080fd5b50610435610a19565b005b34801561044357600080fd5b5061044c610aa1565b6040516104599190612379565b60405180910390f35b34801561046e57600080fd5b5061048960048036038101906104849190612483565b610aa7565b005b34801561049757600080fd5b506104a0610ba6565b6040516104ad91906121b7565b60405180910390f35b3480156104c257600080fd5b506104cb610bcf565b6040516104d89190612379565b60405180910390f35b3480156104ed57600080fd5b506104f6610bd5565b604051610503919061226b565b60405180910390f35b34801561051857600080fd5b50610521610c12565b60405161052e9190612379565b60405180910390f35b34801561054357600080fd5b5061054c610c18565b60405161055991906121b7565b60405180910390f35b34801561056e57600080fd5b50610589600480360381019061058491906122f4565b610c3e565b604051610596919061234f565b60405180910390f35b3480156105ab57600080fd5b506105b4610c5c565b6040516105c19190612379565b60405180910390f35b3480156105d657600080fd5b506105f160048036038101906105ec9190612483565b610c62565b005b3480156105ff57600080fd5b50610608610d61565b6040516106159190612379565b60405180910390f35b34801561062a57600080fd5b50610633610d67565b6040516106409190612379565b60405180910390f35b34801561065557600080fd5b5061065e610d6d565b60405161066b9190612379565b60405180910390f35b34801561068057600080fd5b5061069b600480360381019061069691906124d6565b610d73565b6040516106a89190612379565b60405180910390f35b3480156106bd57600080fd5b506106d860048036038101906106d39190612456565b610dfa565b005b3480156106e657600080fd5b5061070160048036038101906106fc9190612516565b610ed1565b005b34801561070f57600080fd5b50610718610f8f565b6040516107259190612379565b60405180910390f35b34801561073a57600080fd5b5061075560048036038101906107509190612456565b610f95565b005b61dead81565b60606040518060400160405280600d81526020017f4b756368696b616d697a616b6500000000000000000000000000000000000000815250905090565b60006107ae6107a761108c565b8484611094565b6001905092915050565b6000683635c9adc5dea00000905090565b600f60009054906101000a900461ffff1681565b600e5481565b60006107f084848461125d565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061083b61108c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b2906125c8565b60405180910390fd5b6108d8856108c761108c565b85846108d39190612617565b611094565b60019150509392505050565b60006009905090565b6108f561108c565b73ffffffffffffffffffffffffffffffffffffffff16610913610ba6565b73ffffffffffffffffffffffffffffffffffffffff1614610969576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096090612697565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60085481565b60095481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a2161108c565b73ffffffffffffffffffffffffffffffffffffffff16610a3f610ba6565b73ffffffffffffffffffffffffffffffffffffffff1614610a95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8c90612697565b60405180910390fd5b610a9f60006117db565b565b60065481565b610aaf61108c565b73ffffffffffffffffffffffffffffffffffffffff16610acd610ba6565b73ffffffffffffffffffffffffffffffffffffffff1614610b23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1a90612697565b60405180910390fd5b826004819055508160058190555080600681905550600654600554600454610b4b91906126b7565b610b5591906126b7565b60078190555060146007541115610ba1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9890612759565b60405180910390fd5b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600481526020017f53616b6500000000000000000000000000000000000000000000000000000000815250905090565b600d5481565b600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610c52610c4b61108c565b848461125d565b6001905092915050565b60075481565b610c6a61108c565b73ffffffffffffffffffffffffffffffffffffffff16610c88610ba6565b73ffffffffffffffffffffffffffffffffffffffff1614610cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd590612697565b60405180910390fd5b826008819055508160098190555080600a81905550600a54600954600854610d0691906126b7565b610d1091906126b7565b60078190555060146007541115610d5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5390612759565b60405180910390fd5b505050565b60045481565b600c5481565b600b5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e0261108c565b73ffffffffffffffffffffffffffffffffffffffff16610e20610ba6565b73ffffffffffffffffffffffffffffffffffffffff1614610e76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6d90612697565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610ed961108c565b73ffffffffffffffffffffffffffffffffffffffff16610ef7610ba6565b73ffffffffffffffffffffffffffffffffffffffff1614610f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4490612697565b60405180910390fd5b6009600a610f5b91906128ac565b82610f6691906128f7565b6013819055506009600a610f7a91906128ac565b81610f8591906128f7565b6012819055505050565b60055481565b610f9d61108c565b73ffffffffffffffffffffffffffffffffffffffff16610fbb610ba6565b73ffffffffffffffffffffffffffffffffffffffff1614611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100890612697565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611080576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611077906129c3565b60405180910390fd5b611089816117db565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fa90612a55565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611172576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116990612ae7565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112509190612379565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c390612b79565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361133b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133290612c0b565b60405180910390fd5b6000811161137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137590612c9d565b60405180910390fd5b611387836109d0565b8111156113c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c090612d2f565b60405180910390fd5b601160149054906101000a900460ff168061142d5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806114815750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6114c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b790612d9b565b60405180910390fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561156b5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115c15750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116645760135481111561160b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160290612e07565b60405180910390fd5b60125481611618846109d0565b61162291906126b7565b1115611663576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165a90612e73565b60405180910390fd5b5b600061166f306109d0565b9050601160159054906101000a900460ff161580156116dc5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156116f45750601160169054906101000a900460ff165b80156117005750600081115b156117285761170e8161189f565b600047905060008111156117265761172547611b18565b5b505b6117d5848484600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117cf5750600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611b84565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118d7576118d6612e93565b5b6040519080825280602002602001820160405280156119055781602001602082028036833780820191505090505b509050308160008151811061191d5761191c612ec2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e89190612f06565b816001815181106119fc576119fb612ec2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a6330601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611094565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ac7959493929190613036565b600060405180830381600087803b158015611ae157600080fd5b505af1158015611af5573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b80573d6000803e3d6000fd5b5050565b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611bd39190612617565b92505081905550600081611be75782611bf3565b611bf2858585611cb7565b5b905080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c4491906126b7565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ca89190612379565b60405180910390a35050505050565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611d1857506000600754115b15611dbb57600f60009054906101000a900461ffff1661ffff1660045483611d4091906128f7565b611d4a91906130bf565b600c81905550600f60009054906101000a900461ffff1661ffff1660055483611d7391906128f7565b611d7d91906130bf565b600d81905550600f60009054906101000a900461ffff1661ffff1660065483611da691906128f7565b611db091906130bf565b600e81905550611eba565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611e1a57506000600b54115b15611eb957600f60009054906101000a900461ffff1661ffff1660085483611e4291906128f7565b611e4c91906130bf565b600c81905550600f60009054906101000a900461ffff1661ffff1660095483611e7591906128f7565b611e7f91906130bf565b600d81905550600f60009054906101000a900461ffff1661ffff16600a5483611ea891906128f7565b611eb291906130bf565b600e819055505b5b600c546001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f0d91906126b7565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c54604051611f759190612379565b60405180910390a3600d5460016000600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ff091906126b7565b92505081905550600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d546040516120789190612379565b60405180910390a3600e54600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546120d191906126b7565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600e546040516121379190612379565b60405180910390a36000600d54600e54600c5461215491906126b7565b61215e91906126b7565b9050808361216c9190612617565b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121a182612176565b9050919050565b6121b181612196565b82525050565b60006020820190506121cc60008301846121a8565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561220c5780820151818401526020810190506121f1565b8381111561221b576000848401525b50505050565b6000601f19601f8301169050919050565b600061223d826121d2565b61224781856121dd565b93506122578185602086016121ee565b61226081612221565b840191505092915050565b600060208201905081810360008301526122858184612232565b905092915050565b600080fd5b61229b81612196565b81146122a657600080fd5b50565b6000813590506122b881612292565b92915050565b6000819050919050565b6122d1816122be565b81146122dc57600080fd5b50565b6000813590506122ee816122c8565b92915050565b6000806040838503121561230b5761230a61228d565b5b6000612319858286016122a9565b925050602061232a858286016122df565b9150509250929050565b60008115159050919050565b61234981612334565b82525050565b60006020820190506123646000830184612340565b92915050565b612373816122be565b82525050565b600060208201905061238e600083018461236a565b92915050565b600061ffff82169050919050565b6123ab81612394565b82525050565b60006020820190506123c660008301846123a2565b92915050565b6000806000606084860312156123e5576123e461228d565b5b60006123f3868287016122a9565b9350506020612404868287016122a9565b9250506040612415868287016122df565b9150509250925092565b600060ff82169050919050565b6124358161241f565b82525050565b6000602082019050612450600083018461242c565b92915050565b60006020828403121561246c5761246b61228d565b5b600061247a848285016122a9565b91505092915050565b60008060006060848603121561249c5761249b61228d565b5b60006124aa868287016122df565b93505060206124bb868287016122df565b92505060406124cc868287016122df565b9150509250925092565b600080604083850312156124ed576124ec61228d565b5b60006124fb858286016122a9565b925050602061250c858286016122a9565b9150509250929050565b6000806040838503121561252d5761252c61228d565b5b600061253b858286016122df565b925050602061254c858286016122df565b9150509250929050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006125b26028836121dd565b91506125bd82612556565b604082019050919050565b600060208201905081810360008301526125e1816125a5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612622826122be565b915061262d836122be565b9250828210156126405761263f6125e8565b5b828203905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006126816020836121dd565b915061268c8261264b565b602082019050919050565b600060208201905081810360008301526126b081612674565b9050919050565b60006126c2826122be565b91506126cd836122be565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612702576127016125e8565b5b828201905092915050565b7f4d757374206b656570206665657320617420323025206f72206c657373000000600082015250565b6000612743601d836121dd565b915061274e8261270d565b602082019050919050565b6000602082019050818103600083015261277281612736565b9050919050565b60008160011c9050919050565b6000808291508390505b60018511156127d0578086048111156127ac576127ab6125e8565b5b60018516156127bb5780820291505b80810290506127c985612779565b9450612790565b94509492505050565b6000826127e957600190506128a5565b816127f757600090506128a5565b816001811461280d576002811461281757612846565b60019150506128a5565b60ff841115612829576128286125e8565b5b8360020a9150848211156128405761283f6125e8565b5b506128a5565b5060208310610133831016604e8410600b841016171561287b5782820a905083811115612876576128756125e8565b5b6128a5565b6128888484846001612786565b9250905081840481111561289f5761289e6125e8565b5b81810290505b9392505050565b60006128b7826122be565b91506128c28361241f565b92506128ef7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127d9565b905092915050565b6000612902826122be565b915061290d836122be565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612946576129456125e8565b5b828202905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006129ad6026836121dd565b91506129b882612951565b604082019050919050565b600060208201905081810360008301526129dc816129a0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a3f6024836121dd565b9150612a4a826129e3565b604082019050919050565b60006020820190508181036000830152612a6e81612a32565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ad16022836121dd565b9150612adc82612a75565b604082019050919050565b60006020820190508181036000830152612b0081612ac4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b636025836121dd565b9150612b6e82612b07565b604082019050919050565b60006020820190508181036000830152612b9281612b56565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612bf56023836121dd565b9150612c0082612b99565b604082019050919050565b60006020820190508181036000830152612c2481612be8565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612c876029836121dd565b9150612c9282612c2b565b604082019050919050565b60006020820190508181036000830152612cb681612c7a565b9050919050565b7f596f752061726520747279696e6720746f207472616e73666572206d6f72652060008201527f7468616e20796f75722062616c616e6365000000000000000000000000000000602082015250565b6000612d196031836121dd565b9150612d2482612cbd565b604082019050919050565b60006020820190508181036000830152612d4881612d0c565b9050919050565b7f54726164696e67206e6f7420656e61626c656420796574000000000000000000600082015250565b6000612d856017836121dd565b9150612d9082612d4f565b602082019050919050565b60006020820190508181036000830152612db481612d78565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612df16019836121dd565b9150612dfc82612dbb565b602082019050919050565b60006020820190508181036000830152612e2081612de4565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612e5d601a836121dd565b9150612e6882612e27565b602082019050919050565b60006020820190508181036000830152612e8c81612e50565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612f0081612292565b92915050565b600060208284031215612f1c57612f1b61228d565b5b6000612f2a84828501612ef1565b91505092915050565b6000819050919050565b6000819050919050565b6000612f62612f5d612f5884612f33565b612f3d565b6122be565b9050919050565b612f7281612f47565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612fad81612196565b82525050565b6000612fbf8383612fa4565b60208301905092915050565b6000602082019050919050565b6000612fe382612f78565b612fed8185612f83565b9350612ff883612f94565b8060005b838110156130295781516130108882612fb3565b975061301b83612fcb565b925050600181019050612ffc565b5085935050505092915050565b600060a08201905061304b600083018861236a565b6130586020830187612f69565b818103604083015261306a8186612fd8565b905061307960608301856121a8565b613086608083018461236a565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006130ca826122be565b91506130d5836122be565b9250826130e5576130e4613090565b5b82820490509291505056fea26469706673582212201f8cdfa1eb0bd4d931995f0f49d959499f6b457a693e756e0c6a911cf9db3ba864736f6c634300080f0033
Deployed Bytecode
0x6080604052600436106101dc5760003560e01c80638da5cb5b11610102578063c99f2fed11610095578063ea2f0b3711610064578063ea2f0b37146106b1578063ebece9c9146106da578063f239eab814610703578063f2fde38b1461072e576101e3565b8063c99f2fed146105f3578063cc70acee1461061e578063d0a3981414610649578063dd62ed3e14610674576101e3565b8063a8b08982116100d1578063a8b0898214610537578063a9059cbb14610562578063b9e937001461059f578063c17b5b8c146105ca576101e3565b80638da5cb5b1461048b57806392136913146104b657806395d89b41146104e15780639740a9461461050c576101e3565b8063313ce5671161017a57806370a082311161014957806370a08231146103e3578063715018a6146104205780637bce5a04146104375780638095d56414610462576101e3565b8063313ce56714610339578063437823ec1461036457806347afcbfe1461038d5780636cce46fc146103b8576101e3565b806318160ddd116101b657806318160ddd1461027b5780631d6167ac146102a65780631f3fed8f146102d157806323b872dd146102fc576101e3565b806303fd2a45146101e857806306fdde0314610213578063095ea7b31461023e576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd610757565b60405161020a91906121b7565b60405180910390f35b34801561021f57600080fd5b5061022861075d565b604051610235919061226b565b60405180910390f35b34801561024a57600080fd5b50610265600480360381019061026091906122f4565b61079a565b604051610272919061234f565b60405180910390f35b34801561028757600080fd5b506102906107b8565b60405161029d9190612379565b60405180910390f35b3480156102b257600080fd5b506102bb6107c9565b6040516102c891906123b1565b60405180910390f35b3480156102dd57600080fd5b506102e66107dd565b6040516102f39190612379565b60405180910390f35b34801561030857600080fd5b50610323600480360381019061031e91906123cc565b6107e3565b604051610330919061234f565b60405180910390f35b34801561034557600080fd5b5061034e6108e4565b60405161035b919061243b565b60405180910390f35b34801561037057600080fd5b5061038b60048036038101906103869190612456565b6108ed565b005b34801561039957600080fd5b506103a26109c4565b6040516103af9190612379565b60405180910390f35b3480156103c457600080fd5b506103cd6109ca565b6040516103da9190612379565b60405180910390f35b3480156103ef57600080fd5b5061040a60048036038101906104059190612456565b6109d0565b6040516104179190612379565b60405180910390f35b34801561042c57600080fd5b50610435610a19565b005b34801561044357600080fd5b5061044c610aa1565b6040516104599190612379565b60405180910390f35b34801561046e57600080fd5b5061048960048036038101906104849190612483565b610aa7565b005b34801561049757600080fd5b506104a0610ba6565b6040516104ad91906121b7565b60405180910390f35b3480156104c257600080fd5b506104cb610bcf565b6040516104d89190612379565b60405180910390f35b3480156104ed57600080fd5b506104f6610bd5565b604051610503919061226b565b60405180910390f35b34801561051857600080fd5b50610521610c12565b60405161052e9190612379565b60405180910390f35b34801561054357600080fd5b5061054c610c18565b60405161055991906121b7565b60405180910390f35b34801561056e57600080fd5b50610589600480360381019061058491906122f4565b610c3e565b604051610596919061234f565b60405180910390f35b3480156105ab57600080fd5b506105b4610c5c565b6040516105c19190612379565b60405180910390f35b3480156105d657600080fd5b506105f160048036038101906105ec9190612483565b610c62565b005b3480156105ff57600080fd5b50610608610d61565b6040516106159190612379565b60405180910390f35b34801561062a57600080fd5b50610633610d67565b6040516106409190612379565b60405180910390f35b34801561065557600080fd5b5061065e610d6d565b60405161066b9190612379565b60405180910390f35b34801561068057600080fd5b5061069b600480360381019061069691906124d6565b610d73565b6040516106a89190612379565b60405180910390f35b3480156106bd57600080fd5b506106d860048036038101906106d39190612456565b610dfa565b005b3480156106e657600080fd5b5061070160048036038101906106fc9190612516565b610ed1565b005b34801561070f57600080fd5b50610718610f8f565b6040516107259190612379565b60405180910390f35b34801561073a57600080fd5b5061075560048036038101906107509190612456565b610f95565b005b61dead81565b60606040518060400160405280600d81526020017f4b756368696b616d697a616b6500000000000000000000000000000000000000815250905090565b60006107ae6107a761108c565b8484611094565b6001905092915050565b6000683635c9adc5dea00000905090565b600f60009054906101000a900461ffff1681565b600e5481565b60006107f084848461125d565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061083b61108c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b2906125c8565b60405180910390fd5b6108d8856108c761108c565b85846108d39190612617565b611094565b60019150509392505050565b60006009905090565b6108f561108c565b73ffffffffffffffffffffffffffffffffffffffff16610913610ba6565b73ffffffffffffffffffffffffffffffffffffffff1614610969576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096090612697565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60085481565b60095481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a2161108c565b73ffffffffffffffffffffffffffffffffffffffff16610a3f610ba6565b73ffffffffffffffffffffffffffffffffffffffff1614610a95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8c90612697565b60405180910390fd5b610a9f60006117db565b565b60065481565b610aaf61108c565b73ffffffffffffffffffffffffffffffffffffffff16610acd610ba6565b73ffffffffffffffffffffffffffffffffffffffff1614610b23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1a90612697565b60405180910390fd5b826004819055508160058190555080600681905550600654600554600454610b4b91906126b7565b610b5591906126b7565b60078190555060146007541115610ba1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9890612759565b60405180910390fd5b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b60606040518060400160405280600481526020017f53616b6500000000000000000000000000000000000000000000000000000000815250905090565b600d5481565b600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610c52610c4b61108c565b848461125d565b6001905092915050565b60075481565b610c6a61108c565b73ffffffffffffffffffffffffffffffffffffffff16610c88610ba6565b73ffffffffffffffffffffffffffffffffffffffff1614610cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd590612697565b60405180910390fd5b826008819055508160098190555080600a81905550600a54600954600854610d0691906126b7565b610d1091906126b7565b60078190555060146007541115610d5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5390612759565b60405180910390fd5b505050565b60045481565b600c5481565b600b5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e0261108c565b73ffffffffffffffffffffffffffffffffffffffff16610e20610ba6565b73ffffffffffffffffffffffffffffffffffffffff1614610e76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6d90612697565b60405180910390fd5b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610ed961108c565b73ffffffffffffffffffffffffffffffffffffffff16610ef7610ba6565b73ffffffffffffffffffffffffffffffffffffffff1614610f4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4490612697565b60405180910390fd5b6009600a610f5b91906128ac565b82610f6691906128f7565b6013819055506009600a610f7a91906128ac565b81610f8591906128f7565b6012819055505050565b60055481565b610f9d61108c565b73ffffffffffffffffffffffffffffffffffffffff16610fbb610ba6565b73ffffffffffffffffffffffffffffffffffffffff1614611011576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100890612697565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611080576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611077906129c3565b60405180910390fd5b611089816117db565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fa90612a55565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611172576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116990612ae7565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112509190612379565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c390612b79565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361133b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133290612c0b565b60405180910390fd5b6000811161137e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137590612c9d565b60405180910390fd5b611387836109d0565b8111156113c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c090612d2f565b60405180910390fd5b601160149054906101000a900460ff168061142d5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806114815750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6114c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b790612d9b565b60405180910390fd5b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561156b5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156115c15750600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116645760135481111561160b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160290612e07565b60405180910390fd5b60125481611618846109d0565b61162291906126b7565b1115611663576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165a90612e73565b60405180910390fd5b5b600061166f306109d0565b9050601160159054906101000a900460ff161580156116dc5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156116f45750601160169054906101000a900460ff165b80156117005750600081115b156117285761170e8161189f565b600047905060008111156117265761172547611b18565b5b505b6117d5848484600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117cf5750600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611b84565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601160156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118d7576118d6612e93565b5b6040519080825280602002602001820160405280156119055781602001602082028036833780820191505090505b509050308160008151811061191d5761191c612ec2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e89190612f06565b816001815181106119fc576119fb612ec2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a6330601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611094565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ac7959493929190613036565b600060405180830381600087803b158015611ae157600080fd5b505af1158015611af5573d6000803e3d6000fd5b50505050506000601160156101000a81548160ff02191690831515021790555050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b80573d6000803e3d6000fd5b5050565b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611bd39190612617565b92505081905550600081611be75782611bf3565b611bf2858585611cb7565b5b905080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c4491906126b7565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ca89190612379565b60405180910390a35050505050565b6000601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611d1857506000600754115b15611dbb57600f60009054906101000a900461ffff1661ffff1660045483611d4091906128f7565b611d4a91906130bf565b600c81905550600f60009054906101000a900461ffff1661ffff1660055483611d7391906128f7565b611d7d91906130bf565b600d81905550600f60009054906101000a900461ffff1661ffff1660065483611da691906128f7565b611db091906130bf565b600e81905550611eba565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611e1a57506000600b54115b15611eb957600f60009054906101000a900461ffff1661ffff1660085483611e4291906128f7565b611e4c91906130bf565b600c81905550600f60009054906101000a900461ffff1661ffff1660095483611e7591906128f7565b611e7f91906130bf565b600d81905550600f60009054906101000a900461ffff1661ffff16600a5483611ea891906128f7565b611eb291906130bf565b600e819055505b5b600c546001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611f0d91906126b7565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600c54604051611f759190612379565b60405180910390a3600d5460016000600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ff091906126b7565b92505081905550600f60029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d546040516120789190612379565b60405180910390a3600e54600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546120d191906126b7565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600e546040516121379190612379565b60405180910390a36000600d54600e54600c5461215491906126b7565b61215e91906126b7565b9050808361216c9190612617565b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121a182612176565b9050919050565b6121b181612196565b82525050565b60006020820190506121cc60008301846121a8565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561220c5780820151818401526020810190506121f1565b8381111561221b576000848401525b50505050565b6000601f19601f8301169050919050565b600061223d826121d2565b61224781856121dd565b93506122578185602086016121ee565b61226081612221565b840191505092915050565b600060208201905081810360008301526122858184612232565b905092915050565b600080fd5b61229b81612196565b81146122a657600080fd5b50565b6000813590506122b881612292565b92915050565b6000819050919050565b6122d1816122be565b81146122dc57600080fd5b50565b6000813590506122ee816122c8565b92915050565b6000806040838503121561230b5761230a61228d565b5b6000612319858286016122a9565b925050602061232a858286016122df565b9150509250929050565b60008115159050919050565b61234981612334565b82525050565b60006020820190506123646000830184612340565b92915050565b612373816122be565b82525050565b600060208201905061238e600083018461236a565b92915050565b600061ffff82169050919050565b6123ab81612394565b82525050565b60006020820190506123c660008301846123a2565b92915050565b6000806000606084860312156123e5576123e461228d565b5b60006123f3868287016122a9565b9350506020612404868287016122a9565b9250506040612415868287016122df565b9150509250925092565b600060ff82169050919050565b6124358161241f565b82525050565b6000602082019050612450600083018461242c565b92915050565b60006020828403121561246c5761246b61228d565b5b600061247a848285016122a9565b91505092915050565b60008060006060848603121561249c5761249b61228d565b5b60006124aa868287016122df565b93505060206124bb868287016122df565b92505060406124cc868287016122df565b9150509250925092565b600080604083850312156124ed576124ec61228d565b5b60006124fb858286016122a9565b925050602061250c858286016122a9565b9150509250929050565b6000806040838503121561252d5761252c61228d565b5b600061253b858286016122df565b925050602061254c858286016122df565b9150509250929050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006125b26028836121dd565b91506125bd82612556565b604082019050919050565b600060208201905081810360008301526125e1816125a5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612622826122be565b915061262d836122be565b9250828210156126405761263f6125e8565b5b828203905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006126816020836121dd565b915061268c8261264b565b602082019050919050565b600060208201905081810360008301526126b081612674565b9050919050565b60006126c2826122be565b91506126cd836122be565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612702576127016125e8565b5b828201905092915050565b7f4d757374206b656570206665657320617420323025206f72206c657373000000600082015250565b6000612743601d836121dd565b915061274e8261270d565b602082019050919050565b6000602082019050818103600083015261277281612736565b9050919050565b60008160011c9050919050565b6000808291508390505b60018511156127d0578086048111156127ac576127ab6125e8565b5b60018516156127bb5780820291505b80810290506127c985612779565b9450612790565b94509492505050565b6000826127e957600190506128a5565b816127f757600090506128a5565b816001811461280d576002811461281757612846565b60019150506128a5565b60ff841115612829576128286125e8565b5b8360020a9150848211156128405761283f6125e8565b5b506128a5565b5060208310610133831016604e8410600b841016171561287b5782820a905083811115612876576128756125e8565b5b6128a5565b6128888484846001612786565b9250905081840481111561289f5761289e6125e8565b5b81810290505b9392505050565b60006128b7826122be565b91506128c28361241f565b92506128ef7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846127d9565b905092915050565b6000612902826122be565b915061290d836122be565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612946576129456125e8565b5b828202905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006129ad6026836121dd565b91506129b882612951565b604082019050919050565b600060208201905081810360008301526129dc816129a0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a3f6024836121dd565b9150612a4a826129e3565b604082019050919050565b60006020820190508181036000830152612a6e81612a32565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612ad16022836121dd565b9150612adc82612a75565b604082019050919050565b60006020820190508181036000830152612b0081612ac4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612b636025836121dd565b9150612b6e82612b07565b604082019050919050565b60006020820190508181036000830152612b9281612b56565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612bf56023836121dd565b9150612c0082612b99565b604082019050919050565b60006020820190508181036000830152612c2481612be8565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612c876029836121dd565b9150612c9282612c2b565b604082019050919050565b60006020820190508181036000830152612cb681612c7a565b9050919050565b7f596f752061726520747279696e6720746f207472616e73666572206d6f72652060008201527f7468616e20796f75722062616c616e6365000000000000000000000000000000602082015250565b6000612d196031836121dd565b9150612d2482612cbd565b604082019050919050565b60006020820190508181036000830152612d4881612d0c565b9050919050565b7f54726164696e67206e6f7420656e61626c656420796574000000000000000000600082015250565b6000612d856017836121dd565b9150612d9082612d4f565b602082019050919050565b60006020820190508181036000830152612db481612d78565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612df16019836121dd565b9150612dfc82612dbb565b602082019050919050565b60006020820190508181036000830152612e2081612de4565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000612e5d601a836121dd565b9150612e6882612e27565b602082019050919050565b60006020820190508181036000830152612e8c81612e50565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612f0081612292565b92915050565b600060208284031215612f1c57612f1b61228d565b5b6000612f2a84828501612ef1565b91505092915050565b6000819050919050565b6000819050919050565b6000612f62612f5d612f5884612f33565b612f3d565b6122be565b9050919050565b612f7281612f47565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612fad81612196565b82525050565b6000612fbf8383612fa4565b60208301905092915050565b6000602082019050919050565b6000612fe382612f78565b612fed8185612f83565b9350612ff883612f94565b8060005b838110156130295781516130108882612fb3565b975061301b83612fcb565b925050600181019050612ffc565b5085935050505092915050565b600060a08201905061304b600083018861236a565b6130586020830187612f69565b818103604083015261306a8186612fd8565b905061307960608301856121a8565b613086608083018461236a565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006130ca826122be565b91506130d5836122be565b9250826130e5576130e4613090565b5b82820490509291505056fea26469706673582212201f8cdfa1eb0bd4d931995f0f49d959499f6b457a693e756e0c6a911cf9db3ba864736f6c634300080f0033
Deployed Bytecode Sourcemap
4231:9997:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5285:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7721:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8431:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7950:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5238:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5198:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8577:420;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7875:69;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12746:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4885:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4928:39;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8037:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2894:94;;;;;;;;;;;;;:::i;:::-;;4749:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13208:423;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2671:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4974:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7796:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5154:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5365:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8146:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4792:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13643:436;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4662:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5115:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5018:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8296:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12865:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12983:217;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4704:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2996:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5285:73;5316:42;5285:73;:::o;7721:69::-;7758:13;7782:5;;;;;;;;;;;;;;;;;7775:12;;7721:69;:::o;8431:138::-;8506:4;8514:39;8523:12;:10;:12::i;:::-;8537:7;8546:6;8514:8;:39::i;:::-;8562:4;8555:11;;8431:138;;;;:::o;7950:81::-;8003:7;5628:21;8014:14;;7950:81;:::o;5238:38::-;;;;;;;;;;;;;:::o;5198:33::-;;;;:::o;8577:420::-;8683:4;8700:36;8710:6;8718:9;8729:6;8700:9;:36::i;:::-;8749:24;8776:11;:19;8788:6;8776:19;;;;;;;;;;;;;;;:33;8796:12;:10;:12::i;:::-;8776:33;;;;;;;;;;;;;;;;8749:60;;8848:6;8828:16;:26;;8820:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8910:57;8919:6;8927:12;:10;:12::i;:::-;8960:6;8941:16;:25;;;;:::i;:::-;8910:8;:57::i;:::-;8985:4;8978:11;;;8577:420;;;;;:::o;7875:69::-;7916:5;4652:1;7925:16;;7875:69;:::o;12746:111::-;2817:12;:10;:12::i;:::-;2806:23;;:7;:5;:7::i;:::-;:23;;;2798:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12845:4:::1;12815:18;:27;12834:7;12815:27;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;12746:111:::0;:::o;4885:36::-;;;;:::o;4928:39::-;;;;:::o;8037:103::-;8103:7;8121;:16;8129:7;8121:16;;;;;;;;;;;;;;;;8114:23;;8037:103;;;:::o;2894:94::-;2817:12;:10;:12::i;:::-;2806:23;;:7;:5;:7::i;:::-;:23;;;2798:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2959:21:::1;2977:1;2959:9;:21::i;:::-;2894:94::o:0;4749:36::-;;;;:::o;13208:423::-;2817:12;:10;:12::i;:::-;2806:23;;:7;:5;:7::i;:::-;:23;;;2798:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13359:15:::1;13342:14;:32;;;;13407:20;13385:19;:42;;;;13456:16;13438:15;:34;;;;13537:15;;13515:19;;13498:14;;:36;;;;:::i;:::-;:54;;;;:::i;:::-;13483:12;:69;;;;13587:2;13571:12;;:18;;13563:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;13208:423:::0;;;:::o;2671:87::-;2717:7;2744:6;;;;;;;;;;;2737:13;;2671:87;:::o;4974:37::-;;;;:::o;7796:73::-;7835:13;7859:7;;;;;;;;;;;;;;;;;7852:14;;7796:73;:::o;5154:37::-;;;;:::o;5365:26::-;;;;;;;;;;;;;:::o;8146:144::-;8224:4;8232:42;8242:12;:10;:12::i;:::-;8256:9;8267:6;8232:9;:42::i;:::-;8283:4;8276:11;;8146:144;;;;:::o;4792:84::-;;;;:::o;13643:436::-;2817:12;:10;:12::i;:::-;2806:23;;:7;:5;:7::i;:::-;:23;;;2798:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13799:16:::1;13781:15;:34;;;;13849:21;13826:20;:44;;;;13900:17;13881:16;:36;;;;13984:16;;13961:20;;13943:15;;:38;;;;:::i;:::-;:57;;;;:::i;:::-;13928:12;:72;;;;14035:2;14019:12;;:18;;14011:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;13643:436:::0;;;:::o;4662:35::-;;;;:::o;5115:32::-;;;;:::o;5018:88::-;;;;:::o;8296:129::-;8377:7;8395:11;:18;8407:5;8395:18;;;;;;;;;;;;;;;:27;8414:7;8395:27;;;;;;;;;;;;;;;;8388:34;;8296:129;;;;:::o;12865:110::-;2817:12;:10;:12::i;:::-;2806:23;;:7;:5;:7::i;:::-;:23;;;2798:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12962:5:::1;12932:18;:27;12951:7;12932:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;12865:110:::0;:::o;12983:217::-;2817:12;:10;:12::i;:::-;2806:23;;:7;:5;:7::i;:::-;:23;;;2798:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4652:1:::1;13118:2;:14;;;;:::i;:::-;13103:12;:29;;;;:::i;:::-;13089:11;:43;;;;4652:1;13178:2;:14;;;;:::i;:::-;13161;:31;;;;:::i;:::-;13143:15;:49;;;;12983:217:::0;;:::o;4704:38::-;;;;:::o;2996:192::-;2817:12;:10;:12::i;:::-;2806:23;;:7;:5;:7::i;:::-;:23;;;2798:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3105:1:::1;3085:22;;:8;:22;;::::0;3077:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;3161:19;3171:8;3161:9;:19::i;:::-;2996:192:::0;:::o;2092:98::-;2145:7;2172:10;2165:17;;2092:98;:::o;9005:335::-;9115:1;9098:19;;:5;:19;;;9090:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9196:1;9177:21;;:7;:21;;;9169:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9278:6;9248:11;:18;9260:5;9248:18;;;;;;;;;;;;;;;:27;9267:7;9248:27;;;;;;;;;;;;;;;:36;;;;9316:7;9300:32;;9309:5;9300:32;;;9325:6;9300:32;;;;;;:::i;:::-;;;;;;;;9005:335;;;:::o;9348:1335::-;9452:1;9436:18;;:4;:18;;;9428:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9529:1;9515:16;;:2;:16;;;9507:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9599:1;9590:6;:10;9582:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9675:15;9685:4;9675:9;:15::i;:::-;9665:6;:25;;9657:86;;;;;;;;;;;;:::i;:::-;;;;;;;;;9766:11;;;;;;;;;;;:39;;;;9781:18;:24;9800:4;9781:24;;;;;;;;;;;;;;;;;;;;;;;;;9766:39;:65;;;;9809:18;:22;9828:2;9809:22;;;;;;;;;;;;;;;;;;;;;;;;;9766:65;9758:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;9884:13;;;;;;;;;;;9876:21;;:4;:21;;;:55;;;;;9915:15;;;;;;;;;;;9901:30;;:2;:30;;;;9876:55;:83;;;;;9937:18;:22;9956:2;9937:22;;;;;;;;;;;;;;;;;;;;;;;;;9935:24;9876:83;9872:278;;;9998:11;;9988:6;:21;;9980:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;10092:15;;10082:6;10066:13;10076:2;10066:9;:13::i;:::-;:22;;;;:::i;:::-;:41;;10058:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;9872:278;10162:28;10193:24;10211:4;10193:9;:24::i;:::-;10162:55;;10237:6;;;;;;;;;;;10236:7;:32;;;;;10255:13;;;;;;;;;;;10247:21;;:4;:21;;;;10236:32;:47;;;;;10272:11;;;;;;;;;;;10236:47;:73;;;;;10308:1;10287:20;:22;10236:73;10232:344;;;10330:38;10347:20;10330:16;:38::i;:::-;10387:26;10416:21;10387:50;;10480:1;10459:18;:22;10456:105;;;10506:35;10519:21;10506:12;:35::i;:::-;10456:105;10311:265;10232:344;10588:87;10603:4;10609:2;10613:6;10623:18;:24;10642:4;10623:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10651:18;:22;10670:2;10651:22;;;;;;;;;;;;;;;;;;;;;;;;;10623:50;10621:53;10588:14;:87::i;:::-;9417:1266;9348:1335;;;:::o;3196:173::-;3252:16;3271:6;;;;;;;;;;;3252:25;;3297:8;3288:6;;:17;;;;;;;;;;;;;;;;;;3352:8;3321:40;;3342:8;3321:40;;;;;;;;;;;;3241:128;3196:173;:::o;10691:483::-;5916:4;5907:6;;:13;;;;;;;;;;;;;;;;;;10769:21:::1;10807:1;10793:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10769:40;;10838:4;10820;10825:1;10820:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10864:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10854:4;10859:1;10854:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10897:62;10914:4;10929:15;;;;;;;;;;;10947:11;10897:8;:62::i;:::-;10970:15;;;;;;;;;;;:66;;;11051:11;11077:1;11093:4;11120;11140:15;10970:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10758:416;5952:5:::0;5943:6;;:14;;;;;;;;;;;;;;;;;;10691:483;:::o;14087:95::-;14144:13;;;;;;;;;;;:22;;:30;14167:6;14144:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14087:95;:::o;11182:340::-;11309:6;11290:7;:15;11298:6;11290:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;11326:22;11352:7;11351:57;;11402:6;11351:57;;;11363:36;11373:6;11381:9;11392:6;11363:9;:36::i;:::-;11351:57;11326:82;;11441:14;11419:7;:18;11427:9;11419:18;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;11488:9;11471:43;;11480:6;11471:43;;;11499:14;11471:43;;;;;;:::i;:::-;;;;;;;;11279:243;11182:340;;;;:::o;11530:1208::-;11609:7;11640:13;;;;;;;;;;;11632:21;;:4;:21;;;:41;;;;;11672:1;11657:12;;:16;11632:41;11629:628;;;11738:16;;;;;;;;;;;11712:42;;11721:14;;11712:6;:23;;;;:::i;:::-;:42;;;;:::i;:::-;11692:17;:62;;;;11825:16;;;;;;;;;;;11794:47;;11803:19;;11794:6;:28;;;;:::i;:::-;:47;;;;:::i;:::-;11769:22;:72;;;;11904:16;;;;;;;;;;;11877:43;;11886:15;;11877:6;:24;;;;:::i;:::-;:43;;;;:::i;:::-;11856:18;:64;;;;11629:628;;;11952:13;;;;;;;;;;;11946:19;;:2;:19;;;:41;;;;;11986:1;11970:13;;:17;11946:41;11942:315;;;12053:16;;;;;;;;;;;12026:43;;12035:15;;12026:6;:24;;;;:::i;:::-;:43;;;;:::i;:::-;12006:17;:63;;;;12141:16;;;;;;;;;;;12109:48;;12118:20;;12109:6;:29;;;;:::i;:::-;:48;;;;:::i;:::-;12084:22;:73;;;;12221:16;;;;;;;;;;;12193:44;;12202:16;;12193:6;:25;;;;:::i;:::-;:44;;;;:::i;:::-;12172:18;:65;;;;11942:315;11629:628;12284:17;;12267:7;:13;5316:42;12267:13;;;;;;;;;;;;;;;;:34;;;;;;;:::i;:::-;;;;;;;;5316:42;12317:39;;12326:4;12317:39;;;12338:17;;12317:39;;;;;;:::i;:::-;;;;;;;;12391:22;;12367:7;:20;12375:11;;;;;;;;;;;12367:20;;;;;;;;;;;;;;;;:46;;;;;;;:::i;:::-;;;;;;;;12444:11;;;;;;;;;;;12429:51;;12438:4;12429:51;;;12457:22;;12429:51;;;;;;:::i;:::-;;;;;;;;12517:18;;12491:7;:22;12507:4;12491:22;;;;;;;;;;;;;;;;:44;;;;;;;:::i;:::-;;;;;;;;12574:4;12551:49;;12560:4;12551:49;;;12581:18;;12551:49;;;;;;:::i;:::-;;;;;;;;12611:17;12672:22;;12651:18;;12631:17;;:38;;;;:::i;:::-;:63;;;;:::i;:::-;12611:83;;12721:9;12712:6;:18;;;;:::i;:::-;12705:25;;;11530:1208;;;;;:::o;7:126:1:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;593:99::-;645:6;679:5;673:12;663:22;;593:99;;;:::o;698:169::-;782:11;816:6;811:3;804:19;856:4;851:3;847:14;832:29;;698:169;;;;:::o;873:307::-;941:1;951:113;965:6;962:1;959:13;951:113;;;1050:1;1045:3;1041:11;1035:18;1031:1;1026:3;1022:11;1015:39;987:2;984:1;980:10;975:15;;951:113;;;1082:6;1079:1;1076:13;1073:101;;;1162:1;1153:6;1148:3;1144:16;1137:27;1073:101;922:258;873:307;;;:::o;1186:102::-;1227:6;1278:2;1274:7;1269:2;1262:5;1258:14;1254:28;1244:38;;1186:102;;;:::o;1294:364::-;1382:3;1410:39;1443:5;1410:39;:::i;:::-;1465:71;1529:6;1524:3;1465:71;:::i;:::-;1458:78;;1545:52;1590:6;1585:3;1578:4;1571:5;1567:16;1545:52;:::i;:::-;1622:29;1644:6;1622:29;:::i;:::-;1617:3;1613:39;1606:46;;1386:272;1294:364;;;;:::o;1664:313::-;1777:4;1815:2;1804:9;1800:18;1792:26;;1864:9;1858:4;1854:20;1850:1;1839:9;1835:17;1828:47;1892:78;1965:4;1956:6;1892:78;:::i;:::-;1884:86;;1664:313;;;;:::o;2064:117::-;2173:1;2170;2163:12;2310:122;2383:24;2401:5;2383:24;:::i;:::-;2376:5;2373:35;2363:63;;2422:1;2419;2412:12;2363:63;2310:122;:::o;2438:139::-;2484:5;2522:6;2509:20;2500:29;;2538:33;2565:5;2538:33;:::i;:::-;2438:139;;;;:::o;2583:77::-;2620:7;2649:5;2638:16;;2583:77;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:118::-;3933:24;3951:5;3933:24;:::i;:::-;3928:3;3921:37;3846:118;;:::o;3970:222::-;4063:4;4101:2;4090:9;4086:18;4078:26;;4114:71;4182:1;4171:9;4167:17;4158:6;4114:71;:::i;:::-;3970:222;;;;:::o;4198:89::-;4234:7;4274:6;4267:5;4263:18;4252:29;;4198:89;;;:::o;4293:115::-;4378:23;4395:5;4378:23;:::i;:::-;4373:3;4366:36;4293:115;;:::o;4414:218::-;4505:4;4543:2;4532:9;4528:18;4520:26;;4556:69;4622:1;4611:9;4607:17;4598:6;4556:69;:::i;:::-;4414:218;;;;:::o;4638:619::-;4715:6;4723;4731;4780:2;4768:9;4759:7;4755:23;4751:32;4748:119;;;4786:79;;:::i;:::-;4748:119;4906:1;4931:53;4976:7;4967:6;4956:9;4952:22;4931:53;:::i;:::-;4921:63;;4877:117;5033:2;5059:53;5104:7;5095:6;5084:9;5080:22;5059:53;:::i;:::-;5049:63;;5004:118;5161:2;5187:53;5232:7;5223:6;5212:9;5208:22;5187:53;:::i;:::-;5177:63;;5132:118;4638:619;;;;;:::o;5263:86::-;5298:7;5338:4;5331:5;5327:16;5316:27;;5263:86;;;:::o;5355:112::-;5438:22;5454:5;5438:22;:::i;:::-;5433:3;5426:35;5355:112;;:::o;5473:214::-;5562:4;5600:2;5589:9;5585:18;5577:26;;5613:67;5677:1;5666:9;5662:17;5653:6;5613:67;:::i;:::-;5473:214;;;;:::o;5693:329::-;5752:6;5801:2;5789:9;5780:7;5776:23;5772:32;5769:119;;;5807:79;;:::i;:::-;5769:119;5927:1;5952:53;5997:7;5988:6;5977:9;5973:22;5952:53;:::i;:::-;5942:63;;5898:117;5693:329;;;;:::o;6028:619::-;6105:6;6113;6121;6170:2;6158:9;6149:7;6145:23;6141:32;6138:119;;;6176:79;;:::i;:::-;6138:119;6296:1;6321:53;6366:7;6357:6;6346:9;6342:22;6321:53;:::i;:::-;6311:63;;6267:117;6423:2;6449:53;6494:7;6485:6;6474:9;6470:22;6449:53;:::i;:::-;6439:63;;6394:118;6551:2;6577:53;6622:7;6613:6;6602:9;6598:22;6577:53;:::i;:::-;6567:63;;6522:118;6028:619;;;;;:::o;6653:474::-;6721:6;6729;6778:2;6766:9;6757:7;6753:23;6749:32;6746:119;;;6784:79;;:::i;:::-;6746:119;6904:1;6929:53;6974:7;6965:6;6954:9;6950:22;6929:53;:::i;:::-;6919:63;;6875:117;7031:2;7057:53;7102:7;7093:6;7082:9;7078:22;7057:53;:::i;:::-;7047:63;;7002:118;6653:474;;;;;:::o;7133:::-;7201:6;7209;7258:2;7246:9;7237:7;7233:23;7229:32;7226:119;;;7264:79;;:::i;:::-;7226:119;7384:1;7409:53;7454:7;7445:6;7434:9;7430:22;7409:53;:::i;:::-;7399:63;;7355:117;7511:2;7537:53;7582:7;7573:6;7562:9;7558:22;7537:53;:::i;:::-;7527:63;;7482:118;7133:474;;;;;:::o;7613:227::-;7753:34;7749:1;7741:6;7737:14;7730:58;7822:10;7817:2;7809:6;7805:15;7798:35;7613:227;:::o;7846:366::-;7988:3;8009:67;8073:2;8068:3;8009:67;:::i;:::-;8002:74;;8085:93;8174:3;8085:93;:::i;:::-;8203:2;8198:3;8194:12;8187:19;;7846:366;;;:::o;8218:419::-;8384:4;8422:2;8411:9;8407:18;8399:26;;8471:9;8465:4;8461:20;8457:1;8446:9;8442:17;8435:47;8499:131;8625:4;8499:131;:::i;:::-;8491:139;;8218:419;;;:::o;8643:180::-;8691:77;8688:1;8681:88;8788:4;8785:1;8778:15;8812:4;8809:1;8802:15;8829:191;8869:4;8889:20;8907:1;8889:20;:::i;:::-;8884:25;;8923:20;8941:1;8923:20;:::i;:::-;8918:25;;8962:1;8959;8956:8;8953:34;;;8967:18;;:::i;:::-;8953:34;9012:1;9009;9005:9;8997:17;;8829:191;;;;:::o;9026:182::-;9166:34;9162:1;9154:6;9150:14;9143:58;9026:182;:::o;9214:366::-;9356:3;9377:67;9441:2;9436:3;9377:67;:::i;:::-;9370:74;;9453:93;9542:3;9453:93;:::i;:::-;9571:2;9566:3;9562:12;9555:19;;9214:366;;;:::o;9586:419::-;9752:4;9790:2;9779:9;9775:18;9767:26;;9839:9;9833:4;9829:20;9825:1;9814:9;9810:17;9803:47;9867:131;9993:4;9867:131;:::i;:::-;9859:139;;9586:419;;;:::o;10011:305::-;10051:3;10070:20;10088:1;10070:20;:::i;:::-;10065:25;;10104:20;10122:1;10104:20;:::i;:::-;10099:25;;10258:1;10190:66;10186:74;10183:1;10180:81;10177:107;;;10264:18;;:::i;:::-;10177:107;10308:1;10305;10301:9;10294:16;;10011:305;;;;:::o;10322:179::-;10462:31;10458:1;10450:6;10446:14;10439:55;10322:179;:::o;10507:366::-;10649:3;10670:67;10734:2;10729:3;10670:67;:::i;:::-;10663:74;;10746:93;10835:3;10746:93;:::i;:::-;10864:2;10859:3;10855:12;10848:19;;10507:366;;;:::o;10879:419::-;11045:4;11083:2;11072:9;11068:18;11060:26;;11132:9;11126:4;11122:20;11118:1;11107:9;11103:17;11096:47;11160:131;11286:4;11160:131;:::i;:::-;11152:139;;10879:419;;;:::o;11304:102::-;11346:8;11393:5;11390:1;11386:13;11365:34;;11304:102;;;:::o;11412:848::-;11473:5;11480:4;11504:6;11495:15;;11528:5;11519:14;;11542:712;11563:1;11553:8;11550:15;11542:712;;;11658:4;11653:3;11649:14;11643:4;11640:24;11637:50;;;11667:18;;:::i;:::-;11637:50;11717:1;11707:8;11703:16;11700:451;;;12132:4;12125:5;12121:16;12112:25;;11700:451;12182:4;12176;12172:15;12164:23;;12212:32;12235:8;12212:32;:::i;:::-;12200:44;;11542:712;;;11412:848;;;;;;;:::o;12266:1073::-;12320:5;12511:8;12501:40;;12532:1;12523:10;;12534:5;;12501:40;12560:4;12550:36;;12577:1;12568:10;;12579:5;;12550:36;12646:4;12694:1;12689:27;;;;12730:1;12725:191;;;;12639:277;;12689:27;12707:1;12698:10;;12709:5;;;12725:191;12770:3;12760:8;12757:17;12754:43;;;12777:18;;:::i;:::-;12754:43;12826:8;12823:1;12819:16;12810:25;;12861:3;12854:5;12851:14;12848:40;;;12868:18;;:::i;:::-;12848:40;12901:5;;;12639:277;;13025:2;13015:8;13012:16;13006:3;13000:4;12997:13;12993:36;12975:2;12965:8;12962:16;12957:2;12951:4;12948:12;12944:35;12928:111;12925:246;;;13081:8;13075:4;13071:19;13062:28;;13116:3;13109:5;13106:14;13103:40;;;13123:18;;:::i;:::-;13103:40;13156:5;;12925:246;13196:42;13234:3;13224:8;13218:4;13215:1;13196:42;:::i;:::-;13181:57;;;;13270:4;13265:3;13261:14;13254:5;13251:25;13248:51;;;13279:18;;:::i;:::-;13248:51;13328:4;13321:5;13317:16;13308:25;;12266:1073;;;;;;:::o;13345:281::-;13403:5;13427:23;13445:4;13427:23;:::i;:::-;13419:31;;13471:25;13487:8;13471:25;:::i;:::-;13459:37;;13515:104;13552:66;13542:8;13536:4;13515:104;:::i;:::-;13506:113;;13345:281;;;;:::o;13632:348::-;13672:7;13695:20;13713:1;13695:20;:::i;:::-;13690:25;;13729:20;13747:1;13729:20;:::i;:::-;13724:25;;13917:1;13849:66;13845:74;13842:1;13839:81;13834:1;13827:9;13820:17;13816:105;13813:131;;;13924:18;;:::i;:::-;13813:131;13972:1;13969;13965:9;13954:20;;13632:348;;;;:::o;13986:225::-;14126:34;14122:1;14114:6;14110:14;14103:58;14195:8;14190:2;14182:6;14178:15;14171:33;13986:225;:::o;14217:366::-;14359:3;14380:67;14444:2;14439:3;14380:67;:::i;:::-;14373:74;;14456:93;14545:3;14456:93;:::i;:::-;14574:2;14569:3;14565:12;14558:19;;14217:366;;;:::o;14589:419::-;14755:4;14793:2;14782:9;14778:18;14770:26;;14842:9;14836:4;14832:20;14828:1;14817:9;14813:17;14806:47;14870:131;14996:4;14870:131;:::i;:::-;14862:139;;14589:419;;;:::o;15014:223::-;15154:34;15150:1;15142:6;15138:14;15131:58;15223:6;15218:2;15210:6;15206:15;15199:31;15014:223;:::o;15243:366::-;15385:3;15406:67;15470:2;15465:3;15406:67;:::i;:::-;15399:74;;15482:93;15571:3;15482:93;:::i;:::-;15600:2;15595:3;15591:12;15584:19;;15243:366;;;:::o;15615:419::-;15781:4;15819:2;15808:9;15804:18;15796:26;;15868:9;15862:4;15858:20;15854:1;15843:9;15839:17;15832:47;15896:131;16022:4;15896:131;:::i;:::-;15888:139;;15615:419;;;:::o;16040:221::-;16180:34;16176:1;16168:6;16164:14;16157:58;16249:4;16244:2;16236:6;16232:15;16225:29;16040:221;:::o;16267:366::-;16409:3;16430:67;16494:2;16489:3;16430:67;:::i;:::-;16423:74;;16506:93;16595:3;16506:93;:::i;:::-;16624:2;16619:3;16615:12;16608:19;;16267:366;;;:::o;16639:419::-;16805:4;16843:2;16832:9;16828:18;16820:26;;16892:9;16886:4;16882:20;16878:1;16867:9;16863:17;16856:47;16920:131;17046:4;16920:131;:::i;:::-;16912:139;;16639:419;;;:::o;17064:224::-;17204:34;17200:1;17192:6;17188:14;17181:58;17273:7;17268:2;17260:6;17256:15;17249:32;17064:224;:::o;17294:366::-;17436:3;17457:67;17521:2;17516:3;17457:67;:::i;:::-;17450:74;;17533:93;17622:3;17533:93;:::i;:::-;17651:2;17646:3;17642:12;17635:19;;17294:366;;;:::o;17666:419::-;17832:4;17870:2;17859:9;17855:18;17847:26;;17919:9;17913:4;17909:20;17905:1;17894:9;17890:17;17883:47;17947:131;18073:4;17947:131;:::i;:::-;17939:139;;17666:419;;;:::o;18091:222::-;18231:34;18227:1;18219:6;18215:14;18208:58;18300:5;18295:2;18287:6;18283:15;18276:30;18091:222;:::o;18319:366::-;18461:3;18482:67;18546:2;18541:3;18482:67;:::i;:::-;18475:74;;18558:93;18647:3;18558:93;:::i;:::-;18676:2;18671:3;18667:12;18660:19;;18319:366;;;:::o;18691:419::-;18857:4;18895:2;18884:9;18880:18;18872:26;;18944:9;18938:4;18934:20;18930:1;18919:9;18915:17;18908:47;18972:131;19098:4;18972:131;:::i;:::-;18964:139;;18691:419;;;:::o;19116:228::-;19256:34;19252:1;19244:6;19240:14;19233:58;19325:11;19320:2;19312:6;19308:15;19301:36;19116:228;:::o;19350:366::-;19492:3;19513:67;19577:2;19572:3;19513:67;:::i;:::-;19506:74;;19589:93;19678:3;19589:93;:::i;:::-;19707:2;19702:3;19698:12;19691:19;;19350:366;;;:::o;19722:419::-;19888:4;19926:2;19915:9;19911:18;19903:26;;19975:9;19969:4;19965:20;19961:1;19950:9;19946:17;19939:47;20003:131;20129:4;20003:131;:::i;:::-;19995:139;;19722:419;;;:::o;20147:236::-;20287:34;20283:1;20275:6;20271:14;20264:58;20356:19;20351:2;20343:6;20339:15;20332:44;20147:236;:::o;20389:366::-;20531:3;20552:67;20616:2;20611:3;20552:67;:::i;:::-;20545:74;;20628:93;20717:3;20628:93;:::i;:::-;20746:2;20741:3;20737:12;20730:19;;20389:366;;;:::o;20761:419::-;20927:4;20965:2;20954:9;20950:18;20942:26;;21014:9;21008:4;21004:20;21000:1;20989:9;20985:17;20978:47;21042:131;21168:4;21042:131;:::i;:::-;21034:139;;20761:419;;;:::o;21186:173::-;21326:25;21322:1;21314:6;21310:14;21303:49;21186:173;:::o;21365:366::-;21507:3;21528:67;21592:2;21587:3;21528:67;:::i;:::-;21521:74;;21604:93;21693:3;21604:93;:::i;:::-;21722:2;21717:3;21713:12;21706:19;;21365:366;;;:::o;21737:419::-;21903:4;21941:2;21930:9;21926:18;21918:26;;21990:9;21984:4;21980:20;21976:1;21965:9;21961:17;21954:47;22018:131;22144:4;22018:131;:::i;:::-;22010:139;;21737:419;;;:::o;22162:175::-;22302:27;22298:1;22290:6;22286:14;22279:51;22162:175;:::o;22343:366::-;22485:3;22506:67;22570:2;22565:3;22506:67;:::i;:::-;22499:74;;22582:93;22671:3;22582:93;:::i;:::-;22700:2;22695:3;22691:12;22684:19;;22343:366;;;:::o;22715:419::-;22881:4;22919:2;22908:9;22904:18;22896:26;;22968:9;22962:4;22958:20;22954:1;22943:9;22939:17;22932:47;22996:131;23122:4;22996:131;:::i;:::-;22988:139;;22715:419;;;:::o;23140:176::-;23280:28;23276:1;23268:6;23264:14;23257:52;23140:176;:::o;23322:366::-;23464:3;23485:67;23549:2;23544:3;23485:67;:::i;:::-;23478:74;;23561:93;23650:3;23561:93;:::i;:::-;23679:2;23674:3;23670:12;23663:19;;23322:366;;;:::o;23694:419::-;23860:4;23898:2;23887:9;23883:18;23875:26;;23947:9;23941:4;23937:20;23933:1;23922:9;23918:17;23911:47;23975:131;24101:4;23975:131;:::i;:::-;23967:139;;23694:419;;;:::o;24119:180::-;24167:77;24164:1;24157:88;24264:4;24261:1;24254:15;24288:4;24285:1;24278:15;24305:180;24353:77;24350:1;24343:88;24450:4;24447:1;24440:15;24474:4;24471:1;24464:15;24491:143;24548:5;24579:6;24573:13;24564:22;;24595:33;24622:5;24595:33;:::i;:::-;24491:143;;;;:::o;24640:351::-;24710:6;24759:2;24747:9;24738:7;24734:23;24730:32;24727:119;;;24765:79;;:::i;:::-;24727:119;24885:1;24910:64;24966:7;24957:6;24946:9;24942:22;24910:64;:::i;:::-;24900:74;;24856:128;24640:351;;;;:::o;24997:85::-;25042:7;25071:5;25060:16;;24997:85;;;:::o;25088:60::-;25116:3;25137:5;25130:12;;25088:60;;;:::o;25154:158::-;25212:9;25245:61;25263:42;25272:32;25298:5;25272:32;:::i;:::-;25263:42;:::i;:::-;25245:61;:::i;:::-;25232:74;;25154:158;;;:::o;25318:147::-;25413:45;25452:5;25413:45;:::i;:::-;25408:3;25401:58;25318:147;;:::o;25471:114::-;25538:6;25572:5;25566:12;25556:22;;25471:114;;;:::o;25591:184::-;25690:11;25724:6;25719:3;25712:19;25764:4;25759:3;25755:14;25740:29;;25591:184;;;;:::o;25781:132::-;25848:4;25871:3;25863:11;;25901:4;25896:3;25892:14;25884:22;;25781:132;;;:::o;25919:108::-;25996:24;26014:5;25996:24;:::i;:::-;25991:3;25984:37;25919:108;;:::o;26033:179::-;26102:10;26123:46;26165:3;26157:6;26123:46;:::i;:::-;26201:4;26196:3;26192:14;26178:28;;26033:179;;;;:::o;26218:113::-;26288:4;26320;26315:3;26311:14;26303:22;;26218:113;;;:::o;26367:732::-;26486:3;26515:54;26563:5;26515:54;:::i;:::-;26585:86;26664:6;26659:3;26585:86;:::i;:::-;26578:93;;26695:56;26745:5;26695:56;:::i;:::-;26774:7;26805:1;26790:284;26815:6;26812:1;26809:13;26790:284;;;26891:6;26885:13;26918:63;26977:3;26962:13;26918:63;:::i;:::-;26911:70;;27004:60;27057:6;27004:60;:::i;:::-;26994:70;;26850:224;26837:1;26834;26830:9;26825:14;;26790:284;;;26794:14;27090:3;27083:10;;26491:608;;;26367:732;;;;:::o;27105:831::-;27368:4;27406:3;27395:9;27391:19;27383:27;;27420:71;27488:1;27477:9;27473:17;27464:6;27420:71;:::i;:::-;27501:80;27577:2;27566:9;27562:18;27553:6;27501:80;:::i;:::-;27628:9;27622:4;27618:20;27613:2;27602:9;27598:18;27591:48;27656:108;27759:4;27750:6;27656:108;:::i;:::-;27648:116;;27774:72;27842:2;27831:9;27827:18;27818:6;27774:72;:::i;:::-;27856:73;27924:3;27913:9;27909:19;27900:6;27856:73;:::i;:::-;27105:831;;;;;;;;:::o;27942:180::-;27990:77;27987:1;27980:88;28087:4;28084:1;28077:15;28111:4;28108:1;28101:15;28128:185;28168:1;28185:20;28203:1;28185:20;:::i;:::-;28180:25;;28219:20;28237:1;28219:20;:::i;:::-;28214:25;;28258:1;28248:35;;28263:18;;:::i;:::-;28248:35;28305:1;28302;28298:9;28293:14;;28128:185;;;;:::o
Swarm Source
ipfs://1f8cdfa1eb0bd4d931995f0f49d959499f6b457a693e756e0c6a911cf9db3ba8
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.