ERC-20
Overview
Max Total Supply
100,000,000 YODA
Holders
72
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 6 Decimals)
Balance
1,441,681.282315 YODAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
YodaInu
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-11-11 */ //SPDX-License-Identifier: MIT // Telegram: t.me/yodainuerc20 // Features: // 1. Initial buy limit 4% of total supply (preventing whales) // 2. Tax wallet owner can remove buy limit after renouncing ownership (allowing more holders in early stage) // 3. Tax wallet owner can lower tax after renouncing ownership (prepare launch in other exchange) pragma solidity ^0.8.7; uint256 constant INITIAL_TAX=9; uint256 constant TOTAL_SUPPLY=100000000; string constant TOKEN_SYMBOL="YODA"; string constant TOKEN_NAME="Yoda Inu"; uint8 constant DECIMALS=6; uint256 constant TAX_THRESHOLD=1000000000000000000; interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } contract YodaInu is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = TOTAL_SUPPLY * 10**DECIMALS; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _burnFee; uint256 private _taxFee; address payable private _taxWallet; uint256 private _maxTxAmount; string private constant _name = TOKEN_NAME; string private constant _symbol = TOKEN_SYMBOL; uint8 private constant _decimals = DECIMALS; IUniswapV2Router02 private _uniswap; address private _pair; bool private _canTrade; bool private _inSwap = false; bool private _swapEnabled = false; modifier lockTheSwap { _inSwap = true; _; _inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _burnFee = 1; _taxFee = INITIAL_TAX; _uniswap = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _rOwned[address(this)] = _rTotal; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; _maxTxAmount=_tTotal.div(25); emit Transfer(address(0x0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != owner() && to != owner()) { if (from == _pair && to != address(_uniswap) && ! _isExcludedFromFee[to] ) { require(amount<_maxTxAmount,"Transaction amount limited"); } uint256 contractTokenBalance = balanceOf(address(this)); if (!_inSwap && from != _pair && _swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance >= TAX_THRESHOLD) { sendETHToFee(address(this).balance); } } } _tokenTransfer(from,to,amount); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = _uniswap.WETH(); _approve(address(this), address(_uniswap), tokenAmount); _uniswap.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } modifier onlyTaxCollector() { require(_taxWallet == _msgSender() ); _; } function lowerTax(uint256 newTaxRate) public onlyTaxCollector{ require(newTaxRate<INITIAL_TAX); _taxFee=newTaxRate; } function removeBuyLimit() public onlyTaxCollector{ _maxTxAmount=_tTotal; } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function startTrading() external onlyTaxCollector { require(!_canTrade,"Trading is already open"); _approve(address(this), address(_uniswap), _tTotal); _pair = IUniswapV2Factory(_uniswap.factory()).createPair(address(this), _uniswap.WETH()); _uniswap.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); _swapEnabled = true; _canTrade = true; IERC20(_pair).approve(address(_uniswap), type(uint).max); } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function manualSwap() external onlyTaxCollector{ uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualSend() external onlyTaxCollector{ uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _burnFee, _taxFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTaxRate","type":"uint256"}],"name":"lowerTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeBuyLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526006600a620000149190620005e9565b6305f5e10062000025919062000726565b6000196200003491906200080f565b60001962000043919062000787565b6005556000600c60156101000a81548160ff0219169083151502179055506000600c60166101000a81548160ff0219169083151502179055503480156200008957600080fd5b5060006200009c620003e560201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200014a620003e560201b60201c565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016007819055506009600881905550737a250d5630b4cf539739df2c5dacb4c659f2488d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600554600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200034260196006600a6200031d9190620005e9565b6305f5e1006200032e919062000726565b620003ed60201b62000e9b1790919060201c565b600a8190555062000358620003e560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006600a620003b79190620005e9565b6305f5e100620003c8919062000726565b604051620003d791906200051d565b60405180910390a3620008c3565b600033905090565b60006200043783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200043f60201b60201c565b905092915050565b6000808311829062000489576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004809190620004f9565b60405180910390fd5b50600083856200049a919062000556565b9050809150509392505050565b6000620004b4826200053a565b620004c0818562000545565b9350620004d2818560208601620007d9565b620004dd81620008a5565b840191505092915050565b620004f381620007c2565b82525050565b60006020820190508181036000830152620005158184620004a7565b905092915050565b6000602082019050620005346000830184620004e8565b92915050565b600081519050919050565b600082825260208201905092915050565b60006200056382620007c2565b91506200057083620007c2565b92508262000583576200058262000876565b5b828204905092915050565b6000808291508390505b6001851115620005e057808604811115620005b857620005b762000847565b5b6001851615620005c85780820291505b8081029050620005d885620008b6565b945062000598565b94509492505050565b6000620005f682620007c2565b91506200060383620007cc565b9250620006327fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200063a565b905092915050565b6000826200064c57600190506200071f565b816200065c57600090506200071f565b81600181146200067557600281146200068057620006b6565b60019150506200071f565b60ff84111562000695576200069462000847565b5b8360020a915084821115620006af57620006ae62000847565b5b506200071f565b5060208310610133831016604e8410600b8410161715620006f05782820a905083811115620006ea57620006e962000847565b5b6200071f565b620006ff84848460016200058e565b9250905081840481111562000719576200071862000847565b5b81810290505b9392505050565b60006200073382620007c2565b91506200074083620007c2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200077c576200077b62000847565b5b828202905092915050565b60006200079482620007c2565b9150620007a183620007c2565b925082821015620007b757620007b662000847565b5b828203905092915050565b6000819050919050565b600060ff82169050919050565b60005b83811015620007f9578082015181840152602081019050620007dc565b8381111562000809576000848401525b50505050565b60006200081c82620007c2565b91506200082983620007c2565b9250826200083c576200083b62000876565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b612e6880620008d36000396000f3fe6080604052600436106100f75760003560e01c806370a082311161008a5780639e752b95116100595780639e752b95146102ed578063a9059cbb14610316578063dd62ed3e14610353578063f429389014610390576100fe565b806370a0823114610243578063715018a6146102805780638da5cb5b1461029757806395d89b41146102c2576100fe565b8063293230b8116100c6578063293230b8146101d3578063313ce567146101ea5780633e07ce5b1461021557806351bc3c851461022c576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103a7565b6040516101259190612492565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190612032565b6103e4565b6040516101629190612477565b60405180910390f35b34801561017757600080fd5b50610180610402565b60405161018d9190612614565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190611fdf565b610426565b6040516101ca9190612477565b60405180910390f35b3480156101df57600080fd5b506101e86104ff565b005b3480156101f657600080fd5b506101ff6109f9565b60405161020c9190612689565b60405180910390f35b34801561022157600080fd5b5061022a610a02565b005b34801561023857600080fd5b50610241610a88565b005b34801561024f57600080fd5b5061026a60048036038101906102659190611f45565b610b02565b6040516102779190612614565b60405180910390f35b34801561028c57600080fd5b50610295610b53565b005b3480156102a357600080fd5b506102ac610ca6565b6040516102b991906123a9565b60405180910390f35b3480156102ce57600080fd5b506102d7610ccf565b6040516102e49190612492565b60405180910390f35b3480156102f957600080fd5b50610314600480360381019061030f919061209f565b610d0c565b005b34801561032257600080fd5b5061033d60048036038101906103389190612032565b610d84565b60405161034a9190612477565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190611f9f565b610da2565b6040516103879190612614565b60405180910390f35b34801561039c57600080fd5b506103a5610e29565b005b60606040518060400160405280600881526020017f596f646120496e75000000000000000000000000000000000000000000000000815250905090565b60006103f86103f1610ee5565b8484610eed565b6001905092915050565b60006006600a61041291906127d3565b6305f5e10061042191906128f1565b905090565b60006104338484846110b8565b6104f48461043f610ee5565b6104ef85604051806060016040528060288152602001612e0b60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104a5610ee5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114719092919063ffffffff16565b610eed565b600190509392505050565b610507610ee5565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461056057600080fd5b600c60149054906101000a900460ff16156105b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a790612514565b60405180910390fd5b6105f930600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006600a6105e591906127d3565b6305f5e1006105f491906128f1565b610eed565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561066157600080fd5b505afa158015610675573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106999190611f72565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561071d57600080fd5b505afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107559190611f72565b6040518363ffffffff1660e01b81526004016107729291906123c4565b602060405180830381600087803b15801561078c57600080fd5b505af11580156107a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c49190611f72565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061084d30610b02565b600080610858610ca6565b426040518863ffffffff1660e01b815260040161087a96959493929190612416565b6060604051808303818588803b15801561089357600080fd5b505af11580156108a7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108cc91906120cc565b5050506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016109a49291906123ed565b602060405180830381600087803b1580156109be57600080fd5b505af11580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f69190612072565b50565b60006006905090565b610a0a610ee5565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a6357600080fd5b6006600a610a7191906127d3565b6305f5e100610a8091906128f1565b600a81905550565b610a90610ee5565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae957600080fd5b6000610af430610b02565b9050610aff816114d5565b50565b6000610b4c600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d565b9050919050565b610b5b610ee5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdf90612594565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f594f444100000000000000000000000000000000000000000000000000000000815250905090565b610d14610ee5565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d6d57600080fd5b60098110610d7a57600080fd5b8060088190555050565b6000610d98610d91610ee5565b84846110b8565b6001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e31610ee5565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e8a57600080fd5b6000479050610e98816117cb565b50565b6000610edd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611837565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f54906125f4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc4906124f4565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ab9190612614565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611128576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111f906125d4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611198576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118f906124b4565b60405180910390fd5b600081116111db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d2906125b4565b60405180910390fd5b6111e3610ca6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112515750611221610ca6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561146157600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113015750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113575750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156113a157600a5481106113a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139790612554565b60405180910390fd5b5b60006113ac30610b02565b9050600c60159054906101000a900460ff161580156114195750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156114315750600c60169054906101000a900460ff165b1561145f5761143f816114d5565b6000479050670de0b6b3a7640000811061145d5761145c476117cb565b5b505b505b61146c83838361189a565b505050565b60008383111582906114b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b09190612492565b60405180910390fd5b50600083856114c8919061294b565b9050809150509392505050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561150d5761150c612aa6565b5b60405190808252806020026020018201604052801561153b5781602001602082028036833780820191505090505b509050308160008151811061155357611552612a77565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156115f557600080fd5b505afa158015611609573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162d9190611f72565b8160018151811061164157611640612a77565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116a830600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610eed565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161170c95949392919061262f565b600060405180830381600087803b15801561172657600080fd5b505af115801561173a573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b60006005548211156117a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179b906124d4565b60405180910390fd5b60006117ae6118aa565b90506117c38184610e9b90919063ffffffff16565b915050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611833573d6000803e3d6000fd5b5050565b6000808311829061187e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118759190612492565b60405180910390fd5b506000838561188d919061274f565b9050809150509392505050565b6118a58383836118d5565b505050565b60008060006118b7611aa0565b915091506118ce8183610e9b90919063ffffffff16565b9250505090565b6000806000806000806118e787611b3b565b95509550955095509550955061194586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ba390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119da85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bed90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a2681611c4b565b611a308483611d08565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a8d9190612614565b60405180910390a3505050505050505050565b6000806000600554905060006006600a611aba91906127d3565b6305f5e100611ac991906128f1565b9050611afc6006600a611adc91906127d3565b6305f5e100611aeb91906128f1565b600554610e9b90919063ffffffff16565b821015611b2e576005546006600a611b1491906127d3565b6305f5e100611b2391906128f1565b935093505050611b37565b81819350935050505b9091565b6000806000806000806000806000611b588a600754600854611d42565b9250925092506000611b686118aa565b90506000806000611b7b8e878787611dd8565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611be583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611471565b905092915050565b6000808284611bfc91906126f9565b905083811015611c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3890612534565b60405180910390fd5b8091505092915050565b6000611c556118aa565b90506000611c6c8284611e6190919063ffffffff16565b9050611cc081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bed90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611d1d82600554611ba390919063ffffffff16565b600581905550611d3881600654611bed90919063ffffffff16565b6006819055505050565b600080600080611d6e6064611d60888a611e6190919063ffffffff16565b610e9b90919063ffffffff16565b90506000611d986064611d8a888b611e6190919063ffffffff16565b610e9b90919063ffffffff16565b90506000611dc182611db3858c611ba390919063ffffffff16565b611ba390919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611df18589611e6190919063ffffffff16565b90506000611e088689611e6190919063ffffffff16565b90506000611e1f8789611e6190919063ffffffff16565b90506000611e4882611e3a8587611ba390919063ffffffff16565b611ba390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611e745760009050611ed6565b60008284611e8291906128f1565b9050828482611e91919061274f565b14611ed1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec890612574565b60405180910390fd5b809150505b92915050565b600081359050611eeb81612dc5565b92915050565b600081519050611f0081612dc5565b92915050565b600081519050611f1581612ddc565b92915050565b600081359050611f2a81612df3565b92915050565b600081519050611f3f81612df3565b92915050565b600060208284031215611f5b57611f5a612ad5565b5b6000611f6984828501611edc565b91505092915050565b600060208284031215611f8857611f87612ad5565b5b6000611f9684828501611ef1565b91505092915050565b60008060408385031215611fb657611fb5612ad5565b5b6000611fc485828601611edc565b9250506020611fd585828601611edc565b9150509250929050565b600080600060608486031215611ff857611ff7612ad5565b5b600061200686828701611edc565b935050602061201786828701611edc565b925050604061202886828701611f1b565b9150509250925092565b6000806040838503121561204957612048612ad5565b5b600061205785828601611edc565b925050602061206885828601611f1b565b9150509250929050565b60006020828403121561208857612087612ad5565b5b600061209684828501611f06565b91505092915050565b6000602082840312156120b5576120b4612ad5565b5b60006120c384828501611f1b565b91505092915050565b6000806000606084860312156120e5576120e4612ad5565b5b60006120f386828701611f30565b935050602061210486828701611f30565b925050604061211586828701611f30565b9150509250925092565b600061212b8383612137565b60208301905092915050565b6121408161297f565b82525050565b61214f8161297f565b82525050565b6000612160826126b4565b61216a81856126d7565b9350612175836126a4565b8060005b838110156121a657815161218d888261211f565b9750612198836126ca565b925050600181019050612179565b5085935050505092915050565b6121bc81612991565b82525050565b6121cb816129d4565b82525050565b60006121dc826126bf565b6121e681856126e8565b93506121f68185602086016129e6565b6121ff81612ada565b840191505092915050565b60006122176023836126e8565b915061222282612af8565b604082019050919050565b600061223a602a836126e8565b915061224582612b47565b604082019050919050565b600061225d6022836126e8565b915061226882612b96565b604082019050919050565b60006122806017836126e8565b915061228b82612be5565b602082019050919050565b60006122a3601b836126e8565b91506122ae82612c0e565b602082019050919050565b60006122c6601a836126e8565b91506122d182612c37565b602082019050919050565b60006122e96021836126e8565b91506122f482612c60565b604082019050919050565b600061230c6020836126e8565b915061231782612caf565b602082019050919050565b600061232f6029836126e8565b915061233a82612cd8565b604082019050919050565b60006123526025836126e8565b915061235d82612d27565b604082019050919050565b60006123756024836126e8565b915061238082612d76565b604082019050919050565b612394816129bd565b82525050565b6123a3816129c7565b82525050565b60006020820190506123be6000830184612146565b92915050565b60006040820190506123d96000830185612146565b6123e66020830184612146565b9392505050565b60006040820190506124026000830185612146565b61240f602083018461238b565b9392505050565b600060c08201905061242b6000830189612146565b612438602083018861238b565b61244560408301876121c2565b61245260608301866121c2565b61245f6080830185612146565b61246c60a083018461238b565b979650505050505050565b600060208201905061248c60008301846121b3565b92915050565b600060208201905081810360008301526124ac81846121d1565b905092915050565b600060208201905081810360008301526124cd8161220a565b9050919050565b600060208201905081810360008301526124ed8161222d565b9050919050565b6000602082019050818103600083015261250d81612250565b9050919050565b6000602082019050818103600083015261252d81612273565b9050919050565b6000602082019050818103600083015261254d81612296565b9050919050565b6000602082019050818103600083015261256d816122b9565b9050919050565b6000602082019050818103600083015261258d816122dc565b9050919050565b600060208201905081810360008301526125ad816122ff565b9050919050565b600060208201905081810360008301526125cd81612322565b9050919050565b600060208201905081810360008301526125ed81612345565b9050919050565b6000602082019050818103600083015261260d81612368565b9050919050565b6000602082019050612629600083018461238b565b92915050565b600060a082019050612644600083018861238b565b61265160208301876121c2565b81810360408301526126638186612155565b90506126726060830185612146565b61267f608083018461238b565b9695505050505050565b600060208201905061269e600083018461239a565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612704826129bd565b915061270f836129bd565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561274457612743612a19565b5b828201905092915050565b600061275a826129bd565b9150612765836129bd565b92508261277557612774612a48565b5b828204905092915050565b6000808291508390505b60018511156127ca578086048111156127a6576127a5612a19565b5b60018516156127b55780820291505b80810290506127c385612aeb565b945061278a565b94509492505050565b60006127de826129bd565b91506127e9836129c7565b92506128167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461281e565b905092915050565b60008261282e57600190506128ea565b8161283c57600090506128ea565b8160018114612852576002811461285c5761288b565b60019150506128ea565b60ff84111561286e5761286d612a19565b5b8360020a91508482111561288557612884612a19565b5b506128ea565b5060208310610133831016604e8410600b84101617156128c05782820a9050838111156128bb576128ba612a19565b5b6128ea565b6128cd8484846001612780565b925090508184048111156128e4576128e3612a19565b5b81810290505b9392505050565b60006128fc826129bd565b9150612907836129bd565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129405761293f612a19565b5b828202905092915050565b6000612956826129bd565b9150612961836129bd565b92508282101561297457612973612a19565b5b828203905092915050565b600061298a8261299d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006129df826129bd565b9050919050565b60005b83811015612a045780820151818401526020810190506129e9565b83811115612a13576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612dce8161297f565b8114612dd957600080fd5b50565b612de581612991565b8114612df057600080fd5b50565b612dfc816129bd565b8114612e0757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220dfb0383c69f3180dccda00c5156d4f8b8aee365bbca55922269cc2e12a4d53bc64736f6c63430008070033
Deployed Bytecode
0x6080604052600436106100f75760003560e01c806370a082311161008a5780639e752b95116100595780639e752b95146102ed578063a9059cbb14610316578063dd62ed3e14610353578063f429389014610390576100fe565b806370a0823114610243578063715018a6146102805780638da5cb5b1461029757806395d89b41146102c2576100fe565b8063293230b8116100c6578063293230b8146101d3578063313ce567146101ea5780633e07ce5b1461021557806351bc3c851461022c576100fe565b806306fdde0314610103578063095ea7b31461012e57806318160ddd1461016b57806323b872dd14610196576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b506101186103a7565b6040516101259190612492565b60405180910390f35b34801561013a57600080fd5b5061015560048036038101906101509190612032565b6103e4565b6040516101629190612477565b60405180910390f35b34801561017757600080fd5b50610180610402565b60405161018d9190612614565b60405180910390f35b3480156101a257600080fd5b506101bd60048036038101906101b89190611fdf565b610426565b6040516101ca9190612477565b60405180910390f35b3480156101df57600080fd5b506101e86104ff565b005b3480156101f657600080fd5b506101ff6109f9565b60405161020c9190612689565b60405180910390f35b34801561022157600080fd5b5061022a610a02565b005b34801561023857600080fd5b50610241610a88565b005b34801561024f57600080fd5b5061026a60048036038101906102659190611f45565b610b02565b6040516102779190612614565b60405180910390f35b34801561028c57600080fd5b50610295610b53565b005b3480156102a357600080fd5b506102ac610ca6565b6040516102b991906123a9565b60405180910390f35b3480156102ce57600080fd5b506102d7610ccf565b6040516102e49190612492565b60405180910390f35b3480156102f957600080fd5b50610314600480360381019061030f919061209f565b610d0c565b005b34801561032257600080fd5b5061033d60048036038101906103389190612032565b610d84565b60405161034a9190612477565b60405180910390f35b34801561035f57600080fd5b5061037a60048036038101906103759190611f9f565b610da2565b6040516103879190612614565b60405180910390f35b34801561039c57600080fd5b506103a5610e29565b005b60606040518060400160405280600881526020017f596f646120496e75000000000000000000000000000000000000000000000000815250905090565b60006103f86103f1610ee5565b8484610eed565b6001905092915050565b60006006600a61041291906127d3565b6305f5e10061042191906128f1565b905090565b60006104338484846110b8565b6104f48461043f610ee5565b6104ef85604051806060016040528060288152602001612e0b60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104a5610ee5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114719092919063ffffffff16565b610eed565b600190509392505050565b610507610ee5565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461056057600080fd5b600c60149054906101000a900460ff16156105b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a790612514565b60405180910390fd5b6105f930600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006600a6105e591906127d3565b6305f5e1006105f491906128f1565b610eed565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561066157600080fd5b505afa158015610675573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106999190611f72565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561071d57600080fd5b505afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107559190611f72565b6040518363ffffffff1660e01b81526004016107729291906123c4565b602060405180830381600087803b15801561078c57600080fd5b505af11580156107a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c49190611f72565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061084d30610b02565b600080610858610ca6565b426040518863ffffffff1660e01b815260040161087a96959493929190612416565b6060604051808303818588803b15801561089357600080fd5b505af11580156108a7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108cc91906120cc565b5050506001600c60166101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff021916908315150217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016109a49291906123ed565b602060405180830381600087803b1580156109be57600080fd5b505af11580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f69190612072565b50565b60006006905090565b610a0a610ee5565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a6357600080fd5b6006600a610a7191906127d3565b6305f5e100610a8091906128f1565b600a81905550565b610a90610ee5565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ae957600080fd5b6000610af430610b02565b9050610aff816114d5565b50565b6000610b4c600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461175d565b9050919050565b610b5b610ee5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610be8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdf90612594565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f594f444100000000000000000000000000000000000000000000000000000000815250905090565b610d14610ee5565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d6d57600080fd5b60098110610d7a57600080fd5b8060088190555050565b6000610d98610d91610ee5565b84846110b8565b6001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e31610ee5565b73ffffffffffffffffffffffffffffffffffffffff16600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e8a57600080fd5b6000479050610e98816117cb565b50565b6000610edd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611837565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f54906125f4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc4906124f4565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ab9190612614565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611128576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111f906125d4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611198576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118f906124b4565b60405180910390fd5b600081116111db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d2906125b4565b60405180910390fd5b6111e3610ca6565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112515750611221610ca6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561146157600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156113015750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156113575750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156113a157600a5481106113a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139790612554565b60405180910390fd5b5b60006113ac30610b02565b9050600c60159054906101000a900460ff161580156114195750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156114315750600c60169054906101000a900460ff165b1561145f5761143f816114d5565b6000479050670de0b6b3a7640000811061145d5761145c476117cb565b5b505b505b61146c83838361189a565b505050565b60008383111582906114b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b09190612492565b60405180910390fd5b50600083856114c8919061294b565b9050809150509392505050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561150d5761150c612aa6565b5b60405190808252806020026020018201604052801561153b5781602001602082028036833780820191505090505b509050308160008151811061155357611552612a77565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156115f557600080fd5b505afa158015611609573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162d9190611f72565b8160018151811061164157611640612a77565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506116a830600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610eed565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161170c95949392919061262f565b600060405180830381600087803b15801561172657600080fd5b505af115801561173a573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b60006005548211156117a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179b906124d4565b60405180910390fd5b60006117ae6118aa565b90506117c38184610e9b90919063ffffffff16565b915050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611833573d6000803e3d6000fd5b5050565b6000808311829061187e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118759190612492565b60405180910390fd5b506000838561188d919061274f565b9050809150509392505050565b6118a58383836118d5565b505050565b60008060006118b7611aa0565b915091506118ce8183610e9b90919063ffffffff16565b9250505090565b6000806000806000806118e787611b3b565b95509550955095509550955061194586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ba390919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119da85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bed90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a2681611c4b565b611a308483611d08565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a8d9190612614565b60405180910390a3505050505050505050565b6000806000600554905060006006600a611aba91906127d3565b6305f5e100611ac991906128f1565b9050611afc6006600a611adc91906127d3565b6305f5e100611aeb91906128f1565b600554610e9b90919063ffffffff16565b821015611b2e576005546006600a611b1491906127d3565b6305f5e100611b2391906128f1565b935093505050611b37565b81819350935050505b9091565b6000806000806000806000806000611b588a600754600854611d42565b9250925092506000611b686118aa565b90506000806000611b7b8e878787611dd8565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000611be583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611471565b905092915050565b6000808284611bfc91906126f9565b905083811015611c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3890612534565b60405180910390fd5b8091505092915050565b6000611c556118aa565b90506000611c6c8284611e6190919063ffffffff16565b9050611cc081600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bed90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b611d1d82600554611ba390919063ffffffff16565b600581905550611d3881600654611bed90919063ffffffff16565b6006819055505050565b600080600080611d6e6064611d60888a611e6190919063ffffffff16565b610e9b90919063ffffffff16565b90506000611d986064611d8a888b611e6190919063ffffffff16565b610e9b90919063ffffffff16565b90506000611dc182611db3858c611ba390919063ffffffff16565b611ba390919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080611df18589611e6190919063ffffffff16565b90506000611e088689611e6190919063ffffffff16565b90506000611e1f8789611e6190919063ffffffff16565b90506000611e4882611e3a8587611ba390919063ffffffff16565b611ba390919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415611e745760009050611ed6565b60008284611e8291906128f1565b9050828482611e91919061274f565b14611ed1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec890612574565b60405180910390fd5b809150505b92915050565b600081359050611eeb81612dc5565b92915050565b600081519050611f0081612dc5565b92915050565b600081519050611f1581612ddc565b92915050565b600081359050611f2a81612df3565b92915050565b600081519050611f3f81612df3565b92915050565b600060208284031215611f5b57611f5a612ad5565b5b6000611f6984828501611edc565b91505092915050565b600060208284031215611f8857611f87612ad5565b5b6000611f9684828501611ef1565b91505092915050565b60008060408385031215611fb657611fb5612ad5565b5b6000611fc485828601611edc565b9250506020611fd585828601611edc565b9150509250929050565b600080600060608486031215611ff857611ff7612ad5565b5b600061200686828701611edc565b935050602061201786828701611edc565b925050604061202886828701611f1b565b9150509250925092565b6000806040838503121561204957612048612ad5565b5b600061205785828601611edc565b925050602061206885828601611f1b565b9150509250929050565b60006020828403121561208857612087612ad5565b5b600061209684828501611f06565b91505092915050565b6000602082840312156120b5576120b4612ad5565b5b60006120c384828501611f1b565b91505092915050565b6000806000606084860312156120e5576120e4612ad5565b5b60006120f386828701611f30565b935050602061210486828701611f30565b925050604061211586828701611f30565b9150509250925092565b600061212b8383612137565b60208301905092915050565b6121408161297f565b82525050565b61214f8161297f565b82525050565b6000612160826126b4565b61216a81856126d7565b9350612175836126a4565b8060005b838110156121a657815161218d888261211f565b9750612198836126ca565b925050600181019050612179565b5085935050505092915050565b6121bc81612991565b82525050565b6121cb816129d4565b82525050565b60006121dc826126bf565b6121e681856126e8565b93506121f68185602086016129e6565b6121ff81612ada565b840191505092915050565b60006122176023836126e8565b915061222282612af8565b604082019050919050565b600061223a602a836126e8565b915061224582612b47565b604082019050919050565b600061225d6022836126e8565b915061226882612b96565b604082019050919050565b60006122806017836126e8565b915061228b82612be5565b602082019050919050565b60006122a3601b836126e8565b91506122ae82612c0e565b602082019050919050565b60006122c6601a836126e8565b91506122d182612c37565b602082019050919050565b60006122e96021836126e8565b91506122f482612c60565b604082019050919050565b600061230c6020836126e8565b915061231782612caf565b602082019050919050565b600061232f6029836126e8565b915061233a82612cd8565b604082019050919050565b60006123526025836126e8565b915061235d82612d27565b604082019050919050565b60006123756024836126e8565b915061238082612d76565b604082019050919050565b612394816129bd565b82525050565b6123a3816129c7565b82525050565b60006020820190506123be6000830184612146565b92915050565b60006040820190506123d96000830185612146565b6123e66020830184612146565b9392505050565b60006040820190506124026000830185612146565b61240f602083018461238b565b9392505050565b600060c08201905061242b6000830189612146565b612438602083018861238b565b61244560408301876121c2565b61245260608301866121c2565b61245f6080830185612146565b61246c60a083018461238b565b979650505050505050565b600060208201905061248c60008301846121b3565b92915050565b600060208201905081810360008301526124ac81846121d1565b905092915050565b600060208201905081810360008301526124cd8161220a565b9050919050565b600060208201905081810360008301526124ed8161222d565b9050919050565b6000602082019050818103600083015261250d81612250565b9050919050565b6000602082019050818103600083015261252d81612273565b9050919050565b6000602082019050818103600083015261254d81612296565b9050919050565b6000602082019050818103600083015261256d816122b9565b9050919050565b6000602082019050818103600083015261258d816122dc565b9050919050565b600060208201905081810360008301526125ad816122ff565b9050919050565b600060208201905081810360008301526125cd81612322565b9050919050565b600060208201905081810360008301526125ed81612345565b9050919050565b6000602082019050818103600083015261260d81612368565b9050919050565b6000602082019050612629600083018461238b565b92915050565b600060a082019050612644600083018861238b565b61265160208301876121c2565b81810360408301526126638186612155565b90506126726060830185612146565b61267f608083018461238b565b9695505050505050565b600060208201905061269e600083018461239a565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000612704826129bd565b915061270f836129bd565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561274457612743612a19565b5b828201905092915050565b600061275a826129bd565b9150612765836129bd565b92508261277557612774612a48565b5b828204905092915050565b6000808291508390505b60018511156127ca578086048111156127a6576127a5612a19565b5b60018516156127b55780820291505b80810290506127c385612aeb565b945061278a565b94509492505050565b60006127de826129bd565b91506127e9836129c7565b92506128167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461281e565b905092915050565b60008261282e57600190506128ea565b8161283c57600090506128ea565b8160018114612852576002811461285c5761288b565b60019150506128ea565b60ff84111561286e5761286d612a19565b5b8360020a91508482111561288557612884612a19565b5b506128ea565b5060208310610133831016604e8410600b84101617156128c05782820a9050838111156128bb576128ba612a19565b5b6128ea565b6128cd8484846001612780565b925090508184048111156128e4576128e3612a19565b5b81810290505b9392505050565b60006128fc826129bd565b9150612907836129bd565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129405761293f612a19565b5b828202905092915050565b6000612956826129bd565b9150612961836129bd565b92508282101561297457612973612a19565b5b828203905092915050565b600061298a8261299d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006129df826129bd565b9050919050565b60005b83811015612a045780820151818401526020810190506129e9565b83811115612a13576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612dce8161297f565b8114612dd957600080fd5b50565b612de581612991565b8114612df057600080fd5b50565b612dfc816129bd565b8114612e0757600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220dfb0383c69f3180dccda00c5156d4f8b8aee365bbca55922269cc2e12a4d53bc64736f6c63430008070033
Deployed Bytecode Sourcemap
3723:8043:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5086:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5848:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5327:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5999:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8466:489;;;;;;;;;;;;;:::i;:::-;;5248:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8294:79;;;;;;;;;;;;;:::i;:::-;;9924:145;;;;;;;;;;;;;:::i;:::-;;5418:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3579:133;;;;;;;;;;;;;:::i;:::-;;3395:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5165:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8164:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5552:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5709:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10074:144;;;;;;;;;;;;;:::i;:::-;;5086:74;5123:13;4339:10;;;;;;;;;;;;;;;;;5143:12;;5086:74;:::o;5848:146::-;5923:4;5934:39;5943:12;:10;:12::i;:::-;5957:7;5966:6;5934:8;:39::i;:::-;5985:4;5978:11;;5848:146;;;;:::o;5327:86::-;5380:7;559:1;4077:2;:12;;;;:::i;:::-;445:9;4062:27;;;;:::i;:::-;5394:14;;5327:86;:::o;5999:292::-;6097:4;6108:36;6118:6;6126:9;6137:6;6108:9;:36::i;:::-;6149:121;6158:6;6166:12;:10;:12::i;:::-;6180:89;6218:6;6180:89;;;;;;;;;;;;;;;;;:11;:19;6192:6;6180:19;;;;;;;;;;;;;;;:33;6200:12;:10;:12::i;:::-;6180:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6149:8;:121::i;:::-;6282:4;6275:11;;5999:292;;;;;:::o;8466:489::-;8134:12;:10;:12::i;:::-;8120:26;;:10;;;;;;;;;;;:26;;;8112:36;;;;;;8530:9:::1;;;;;;;;;;;8529:10;8521:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;8571:51;8588:4;8603:8;;;;;;;;;;;559:1;4077:2;:12;;;;:::i;:::-;445:9;4062:27;;;;:::i;:::-;8571:8;:51::i;:::-;8655:8;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8637:48;;;8694:4;8701:8;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8637:80;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8629:5;;:88;;;;;;;;;;;;;;;;;;8722:8;;;;;;;;;;;:24;;;8754:21;8785:4;8791:24;8809:4;8791:9;:24::i;:::-;8816:1;8818::::0;8820:7:::1;:5;:7::i;:::-;8828:15;8722:122;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8864:4;8849:12;;:19;;;;;;;;;;;;;;;;;;8885:4;8873:9;;:16;;;;;;;;;;;;;;;;;;8901:5;;;;;;;;;;;8894:21;;;8924:8;;;;;;;;;;;8935:14;8894:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8466:489::o:0;5248:74::-;5289:5;559:1;5301:16;;5248:74;:::o;8294:79::-;8134:12;:10;:12::i;:::-;8120:26;;:10;;;;;;;;;;;:26;;;8112:36;;;;;;559:1:::1;4077:2;:12;;;;:::i;:::-;445:9;4062:27;;;;:::i;:::-;8348:12;:20;;;;8294:79::o:0;9924:145::-;8134:12;:10;:12::i;:::-;8120:26;;:10;;;;;;;;;;;:26;;;8112:36;;;;;;9976:23:::1;10002:24;10020:4;10002:9;:24::i;:::-;9976:50;;10031:33;10048:15;10031:16;:33::i;:::-;9971:98;9924:145::o:0;5418:129::-;5484:7;5505:37;5525:7;:16;5533:7;5525:16;;;;;;;;;;;;;;;;5505:19;:37::i;:::-;5498:44;;5418:129;;;:::o;3579:133::-;3514:12;:10;:12::i;:::-;3504:22;;:6;;;;;;;;;;:22;;;3496:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3680:1:::1;3643:40;;3664:6;::::0;::::1;;;;;;;;3643:40;;;;;;;;;;;;3705:1;3688:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3579:133::o:0;3395:70::-;3433:7;3454:6;;;;;;;;;;;3447:13;;3395:70;:::o;5165:78::-;5204:13;4387:12;;;;;;;;;;;;;;;;;5224:14;;5165:78;:::o;8164:125::-;8134:12;:10;:12::i;:::-;8120:26;;:10;;;;;;;;;;;:26;;;8112:36;;;;;;411:1:::1;8238:10;:22;8230:31;;;::::0;::::1;;8274:10;8266:7;:18;;;;8164:125:::0;:::o;5552:152::-;5630:4;5641:42;5651:12;:10;:12::i;:::-;5665:9;5676:6;5641:9;:42::i;:::-;5695:4;5688:11;;5552:152;;;;:::o;5709:134::-;5790:7;5811:11;:18;5823:5;5811:18;;;;;;;;;;;;;;;:27;5830:7;5811:27;;;;;;;;;;;;;;;;5804:34;;5709:134;;;;:::o;10074:144::-;8134:12;:10;:12::i;:::-;8120:26;;:10;;;;;;;;;;;:26;;;8112:36;;;;;;10126:26:::1;10155:21;10126:50;;10181:32;10194:18;10181:12;:32::i;:::-;10121:97;10074:144::o:0;2771:123::-;2829:7;2850:39;2854:1;2857;2850:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2843:46;;2771:123;;;;:::o;1323:89::-;1376:7;1397:10;1390:17;;1323:89;:::o;6536:308::-;6640:1;6623:19;;:5;:19;;;;6615:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6715:1;6696:21;;:7;:21;;;;6688:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6791:6;6761:11;:18;6773:5;6761:18;;;;;;;;;;;;;;;:27;6780:7;6761:27;;;;;;;;;;;;;;;:36;;;;6823:7;6807:32;;6816:5;6807:32;;;6832:6;6807:32;;;;;;:::i;:::-;;;;;;;;6536:308;;;:::o;6849:844::-;6947:1;6931:18;;:4;:18;;;;6923:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7018:1;7004:16;;:2;:16;;;;6996:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7082:1;7073:6;:10;7065:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7148:7;:5;:7::i;:::-;7140:15;;:4;:15;;;;:32;;;;;7165:7;:5;:7::i;:::-;7159:13;;:2;:13;;;;7140:32;7136:516;;;7192:5;;;;;;;;;;;7184:13;;:4;:13;;;:40;;;;;7215:8;;;;;;;;;;;7201:23;;:2;:23;;;;7184:40;:68;;;;;7230:18;:22;7249:2;7230:22;;;;;;;;;;;;;;;;;;;;;;;;;7228:24;7184:68;7180:146;;;7277:12;;7270:6;:19;7262:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;7180:146;7333:28;7364:24;7382:4;7364:9;:24::i;:::-;7333:55;;7399:7;;;;;;;;;;;7398:8;:25;;;;;7418:5;;;;;;;;;;;7410:13;;:4;:13;;;;7398:25;:41;;;;;7427:12;;;;;;;;;;;7398:41;7394:253;;;7448:38;7465:20;7448:16;:38::i;:::-;7493:26;7522:21;7493:50;;594:19;7553:18;:35;7550:91;;7598:35;7611:21;7598:12;:35::i;:::-;7550:91;7441:206;7394:253;7174:478;7136:516;7658:30;7673:4;7678:2;7681:6;7658:14;:30::i;:::-;6849:844;;;:::o;2388:169::-;2474:7;2501:1;2496;:6;;2504:12;2488:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2522:9;2538:1;2534;:5;;;;:::i;:::-;2522:17;;2551:1;2544:8;;;2388:169;;;;;:::o;7698:378::-;4649:4;4639:7;;:14;;;;;;;;;;;;;;;;;;7770:21:::1;7808:1;7794:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7770:40;;7833:4;7815;7820:1;7815:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7853:8;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7843:4;7848:1;7843:7;;;;;;;;:::i;:::-;;;;;;;:25;;;;;;;;;::::0;::::1;7873:55;7890:4;7905:8;;;;;;;;;;;7916:11;7873:8;:55::i;:::-;7933:8;;;;;;;;;;;:59;;;7998:11;8015:1;8022:4;8040;8051:15;7933:138;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7765:311;4674:5:::0;4664:7;;:15;;;;;;;;;;;;;;;;;;7698:378;:::o;6298:233::-;6365:7;6398;;6387;:18;;6379:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6457:19;6480:10;:8;:10::i;:::-;6457:33;;6502:24;6514:11;6502:7;:11;;:24;;;;:::i;:::-;6495:31;;;6298:233;;;:::o;8378:83::-;8429:10;;;;;;;;;;;:19;;:27;8449:6;8429:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8378:83;:::o;2899:168::-;2985:7;3011:1;3007;:5;3014:12;2999:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3032:9;3048:1;3044;:5;;;;:::i;:::-;3032:17;;3061:1;3054:8;;;2899:168;;;;;:::o;8962:137::-;9050:44;9068:6;9076:9;9087:6;9050:17;:44::i;:::-;8962:137;;;:::o;11381:148::-;11422:7;11437:15;11454;11473:19;:17;:19::i;:::-;11436:56;;;;11504:20;11516:7;11504;:11;;:20;;;;:::i;:::-;11497:27;;;;11381:148;:::o;9104:448::-;9197:15;9214:23;9239:12;9253:23;9278:12;9292:13;9309:19;9320:7;9309:10;:19::i;:::-;9196:132;;;;;;;;;;;;9351:28;9371:7;9351;:15;9359:6;9351:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;9333:7;:15;9341:6;9333:15;;;;;;;;;;;;;;;:46;;;;9405:39;9428:15;9405:7;:18;9413:9;9405:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;9384:7;:18;9392:9;9384:18;;;;;;;;;;;;;;;:60;;;;9449:16;9459:5;9449:9;:16::i;:::-;9470:23;9482:4;9488;9470:11;:23::i;:::-;9520:9;9503:44;;9512:6;9503:44;;;9531:15;9503:44;;;;;;:::i;:::-;;;;;;;;9191:361;;;;;;9104:448;;;:::o;11534:229::-;11584:7;11593;11607:15;11625:7;;11607:25;;11637:15;559:1;4077:2;:12;;;;:::i;:::-;445:9;4062:27;;;;:::i;:::-;11637:25;;11681:20;559:1;4077:2;:12;;;;:::i;:::-;445:9;4062:27;;;;:::i;:::-;11681:7;;:11;;:20;;;;:::i;:::-;11671:7;:30;11667:61;;;11711:7;;559:1;4077:2;:12;;;;:::i;:::-;445:9;4062:27;;;;:::i;:::-;11703:25;;;;;;;;11667:61;11741:7;11750;11733:25;;;;;;11534:229;;;:::o;10225:441::-;10284:7;10293;10302;10311;10320;10329;10344:23;10369:12;10383:13;10400:39;10412:7;10421:8;;10431:7;;10400:11;:39::i;:::-;10343:96;;;;;;10444:19;10467:10;:8;:10::i;:::-;10444:33;;10483:15;10500:23;10525:12;10541:46;10553:7;10562:4;10568:5;10575:11;10541;:46::i;:::-;10482:105;;;;;;10600:7;10609:15;10626:4;10632:15;10649:4;10655:5;10592:69;;;;;;;;;;;;;;;;;;;10225:441;;;;;;;:::o;2256:127::-;2314:7;2335:43;2339:1;2342;2335:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2328:50;;2256:127;;;;:::o;2093:158::-;2151:7;2165:9;2181:1;2177;:5;;;;:::i;:::-;2165:17;;2200:1;2195;:6;;2187:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2245:1;2238:8;;;2093:158;;;;:::o;9557:191::-;9604:19;9627:10;:8;:10::i;:::-;9604:33;;9642:13;9658:22;9668:11;9658:5;:9;;:22;;;;:::i;:::-;9642:38;;9710:33;9737:5;9710:7;:22;9726:4;9710:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;9685:7;:22;9701:4;9685:22;;;;;;;;;;;;;;;:58;;;;9599:149;;9557:191;:::o;9753:132::-;9825:17;9837:4;9825:7;;:11;;:17;;;;:::i;:::-;9815:7;:27;;;;9860:20;9875:4;9860:10;;:14;;:20;;;;:::i;:::-;9847:10;:33;;;;9753:132;;:::o;10671:324::-;10764:7;10773;10782;10796:12;10811:28;10835:3;10811:19;10823:6;10811:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;10796:43;;10844:13;10860:29;10885:3;10860:20;10872:7;10860;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;10844:45;;10894:23;10920:28;10942:5;10920:17;10932:4;10920:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;10894:54;;10961:15;10978:4;10984:5;10953:37;;;;;;;;;10671:324;;;;;;;:::o;11000:376::-;11110:7;11119;11128;11142:15;11160:24;11172:11;11160:7;:11;;:24;;;;:::i;:::-;11142:42;;11189:12;11204:21;11213:11;11204:4;:8;;:21;;;;:::i;:::-;11189:36;;11230:13;11246:22;11256:11;11246:5;:9;;:22;;;;:::i;:::-;11230:38;;11273:23;11299:28;11321:5;11299:17;11311:4;11299:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;11273:54;;11340:7;11349:15;11366:4;11332:39;;;;;;;;;;11000:376;;;;;;;;:::o;2562:204::-;2620:7;2643:1;2638;:6;2634:32;;;2659:1;2652:8;;;;2634:32;2670:9;2686:1;2682;:5;;;;:::i;:::-;2670:17;;2709:1;2704;2700;:5;;;;:::i;:::-;:10;2692:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2760:1;2753:8;;;2562:204;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:137::-;355:5;386:6;380:13;371:22;;402:30;426:5;402:30;:::i;:::-;301:137;;;;:::o;444:139::-;490:5;528:6;515:20;506:29;;544:33;571:5;544:33;:::i;:::-;444:139;;;;:::o;589:143::-;646:5;677:6;671:13;662:22;;693:33;720:5;693:33;:::i;:::-;589:143;;;;:::o;738:329::-;797:6;846:2;834:9;825:7;821:23;817:32;814:119;;;852:79;;:::i;:::-;814:119;972:1;997:53;1042:7;1033:6;1022:9;1018:22;997:53;:::i;:::-;987:63;;943:117;738:329;;;;:::o;1073:351::-;1143:6;1192:2;1180:9;1171:7;1167:23;1163:32;1160:119;;;1198:79;;:::i;:::-;1160:119;1318:1;1343:64;1399:7;1390:6;1379:9;1375:22;1343:64;:::i;:::-;1333:74;;1289:128;1073:351;;;;:::o;1430:474::-;1498:6;1506;1555:2;1543:9;1534:7;1530:23;1526:32;1523:119;;;1561:79;;:::i;:::-;1523:119;1681:1;1706:53;1751:7;1742:6;1731:9;1727:22;1706:53;:::i;:::-;1696:63;;1652:117;1808:2;1834:53;1879:7;1870:6;1859:9;1855:22;1834:53;:::i;:::-;1824:63;;1779:118;1430:474;;;;;:::o;1910:619::-;1987:6;1995;2003;2052:2;2040:9;2031:7;2027:23;2023:32;2020:119;;;2058:79;;:::i;:::-;2020:119;2178:1;2203:53;2248:7;2239:6;2228:9;2224:22;2203:53;:::i;:::-;2193:63;;2149:117;2305:2;2331:53;2376:7;2367:6;2356:9;2352:22;2331:53;:::i;:::-;2321:63;;2276:118;2433:2;2459:53;2504:7;2495:6;2484:9;2480:22;2459:53;:::i;:::-;2449:63;;2404:118;1910:619;;;;;:::o;2535:474::-;2603:6;2611;2660:2;2648:9;2639:7;2635:23;2631:32;2628:119;;;2666:79;;:::i;:::-;2628:119;2786:1;2811:53;2856:7;2847:6;2836:9;2832:22;2811:53;:::i;:::-;2801:63;;2757:117;2913:2;2939:53;2984:7;2975:6;2964:9;2960:22;2939:53;:::i;:::-;2929:63;;2884:118;2535:474;;;;;:::o;3015:345::-;3082:6;3131:2;3119:9;3110:7;3106:23;3102:32;3099:119;;;3137:79;;:::i;:::-;3099:119;3257:1;3282:61;3335:7;3326:6;3315:9;3311:22;3282:61;:::i;:::-;3272:71;;3228:125;3015:345;;;;:::o;3366:329::-;3425:6;3474:2;3462:9;3453:7;3449:23;3445:32;3442:119;;;3480:79;;:::i;:::-;3442:119;3600:1;3625:53;3670:7;3661:6;3650:9;3646:22;3625:53;:::i;:::-;3615:63;;3571:117;3366:329;;;;:::o;3701:663::-;3789:6;3797;3805;3854:2;3842:9;3833:7;3829:23;3825:32;3822:119;;;3860:79;;:::i;:::-;3822:119;3980:1;4005:64;4061:7;4052:6;4041:9;4037:22;4005:64;:::i;:::-;3995:74;;3951:128;4118:2;4144:64;4200:7;4191:6;4180:9;4176:22;4144:64;:::i;:::-;4134:74;;4089:129;4257:2;4283:64;4339:7;4330:6;4319:9;4315:22;4283:64;:::i;:::-;4273:74;;4228:129;3701:663;;;;;:::o;4370:179::-;4439:10;4460:46;4502:3;4494:6;4460:46;:::i;:::-;4538:4;4533:3;4529:14;4515:28;;4370:179;;;;:::o;4555:108::-;4632:24;4650:5;4632:24;:::i;:::-;4627:3;4620:37;4555:108;;:::o;4669:118::-;4756:24;4774:5;4756:24;:::i;:::-;4751:3;4744:37;4669:118;;:::o;4823:732::-;4942:3;4971:54;5019:5;4971:54;:::i;:::-;5041:86;5120:6;5115:3;5041:86;:::i;:::-;5034:93;;5151:56;5201:5;5151:56;:::i;:::-;5230:7;5261:1;5246:284;5271:6;5268:1;5265:13;5246:284;;;5347:6;5341:13;5374:63;5433:3;5418:13;5374:63;:::i;:::-;5367:70;;5460:60;5513:6;5460:60;:::i;:::-;5450:70;;5306:224;5293:1;5290;5286:9;5281:14;;5246:284;;;5250:14;5546:3;5539:10;;4947:608;;;4823:732;;;;:::o;5561:109::-;5642:21;5657:5;5642:21;:::i;:::-;5637:3;5630:34;5561:109;;:::o;5676:147::-;5771:45;5810:5;5771:45;:::i;:::-;5766:3;5759:58;5676:147;;:::o;5829:364::-;5917:3;5945:39;5978:5;5945:39;:::i;:::-;6000:71;6064:6;6059:3;6000:71;:::i;:::-;5993:78;;6080:52;6125:6;6120:3;6113:4;6106:5;6102:16;6080:52;:::i;:::-;6157:29;6179:6;6157:29;:::i;:::-;6152:3;6148:39;6141:46;;5921:272;5829:364;;;;:::o;6199:366::-;6341:3;6362:67;6426:2;6421:3;6362:67;:::i;:::-;6355:74;;6438:93;6527:3;6438:93;:::i;:::-;6556:2;6551:3;6547:12;6540:19;;6199:366;;;:::o;6571:::-;6713:3;6734:67;6798:2;6793:3;6734:67;:::i;:::-;6727:74;;6810:93;6899:3;6810:93;:::i;:::-;6928:2;6923:3;6919:12;6912:19;;6571:366;;;:::o;6943:::-;7085:3;7106:67;7170:2;7165:3;7106:67;:::i;:::-;7099:74;;7182:93;7271:3;7182:93;:::i;:::-;7300:2;7295:3;7291:12;7284:19;;6943:366;;;:::o;7315:::-;7457:3;7478:67;7542:2;7537:3;7478:67;:::i;:::-;7471:74;;7554:93;7643:3;7554:93;:::i;:::-;7672:2;7667:3;7663:12;7656:19;;7315:366;;;:::o;7687:::-;7829:3;7850:67;7914:2;7909:3;7850:67;:::i;:::-;7843:74;;7926:93;8015:3;7926:93;:::i;:::-;8044:2;8039:3;8035:12;8028:19;;7687:366;;;:::o;8059:::-;8201:3;8222:67;8286:2;8281:3;8222:67;:::i;:::-;8215:74;;8298:93;8387:3;8298:93;:::i;:::-;8416:2;8411:3;8407:12;8400:19;;8059:366;;;:::o;8431:::-;8573:3;8594:67;8658:2;8653:3;8594:67;:::i;:::-;8587:74;;8670:93;8759:3;8670:93;:::i;:::-;8788:2;8783:3;8779:12;8772:19;;8431:366;;;:::o;8803:::-;8945:3;8966:67;9030:2;9025:3;8966:67;:::i;:::-;8959:74;;9042:93;9131:3;9042:93;:::i;:::-;9160:2;9155:3;9151:12;9144:19;;8803:366;;;:::o;9175:::-;9317:3;9338:67;9402:2;9397:3;9338:67;:::i;:::-;9331:74;;9414:93;9503:3;9414:93;:::i;:::-;9532:2;9527:3;9523:12;9516:19;;9175:366;;;:::o;9547:::-;9689:3;9710:67;9774:2;9769:3;9710:67;:::i;:::-;9703:74;;9786:93;9875:3;9786:93;:::i;:::-;9904:2;9899:3;9895:12;9888:19;;9547:366;;;:::o;9919:::-;10061:3;10082:67;10146:2;10141:3;10082:67;:::i;:::-;10075:74;;10158:93;10247:3;10158:93;:::i;:::-;10276:2;10271:3;10267:12;10260:19;;9919:366;;;:::o;10291:118::-;10378:24;10396:5;10378:24;:::i;:::-;10373:3;10366:37;10291:118;;:::o;10415:112::-;10498:22;10514:5;10498:22;:::i;:::-;10493:3;10486:35;10415:112;;:::o;10533:222::-;10626:4;10664:2;10653:9;10649:18;10641:26;;10677:71;10745:1;10734:9;10730:17;10721:6;10677:71;:::i;:::-;10533:222;;;;:::o;10761:332::-;10882:4;10920:2;10909:9;10905:18;10897:26;;10933:71;11001:1;10990:9;10986:17;10977:6;10933:71;:::i;:::-;11014:72;11082:2;11071:9;11067:18;11058:6;11014:72;:::i;:::-;10761:332;;;;;:::o;11099:::-;11220:4;11258:2;11247:9;11243:18;11235:26;;11271:71;11339:1;11328:9;11324:17;11315:6;11271:71;:::i;:::-;11352:72;11420:2;11409:9;11405:18;11396:6;11352:72;:::i;:::-;11099:332;;;;;:::o;11437:807::-;11686:4;11724:3;11713:9;11709:19;11701:27;;11738:71;11806:1;11795:9;11791:17;11782:6;11738:71;:::i;:::-;11819:72;11887:2;11876:9;11872:18;11863:6;11819:72;:::i;:::-;11901:80;11977:2;11966:9;11962:18;11953:6;11901:80;:::i;:::-;11991;12067:2;12056:9;12052:18;12043:6;11991:80;:::i;:::-;12081:73;12149:3;12138:9;12134:19;12125:6;12081:73;:::i;:::-;12164;12232:3;12221:9;12217:19;12208:6;12164:73;:::i;:::-;11437:807;;;;;;;;;:::o;12250:210::-;12337:4;12375:2;12364:9;12360:18;12352:26;;12388:65;12450:1;12439:9;12435:17;12426:6;12388:65;:::i;:::-;12250:210;;;;:::o;12466:313::-;12579:4;12617:2;12606:9;12602:18;12594:26;;12666:9;12660:4;12656:20;12652:1;12641:9;12637:17;12630:47;12694:78;12767:4;12758:6;12694:78;:::i;:::-;12686:86;;12466:313;;;;:::o;12785:419::-;12951:4;12989:2;12978:9;12974:18;12966:26;;13038:9;13032:4;13028:20;13024:1;13013:9;13009:17;13002:47;13066:131;13192:4;13066:131;:::i;:::-;13058:139;;12785:419;;;:::o;13210:::-;13376:4;13414:2;13403:9;13399:18;13391:26;;13463:9;13457:4;13453:20;13449:1;13438:9;13434:17;13427:47;13491:131;13617:4;13491:131;:::i;:::-;13483:139;;13210:419;;;:::o;13635:::-;13801:4;13839:2;13828:9;13824:18;13816:26;;13888:9;13882:4;13878:20;13874:1;13863:9;13859:17;13852:47;13916:131;14042:4;13916:131;:::i;:::-;13908:139;;13635:419;;;:::o;14060:::-;14226:4;14264:2;14253:9;14249:18;14241:26;;14313:9;14307:4;14303:20;14299:1;14288:9;14284:17;14277:47;14341:131;14467:4;14341:131;:::i;:::-;14333:139;;14060:419;;;:::o;14485:::-;14651:4;14689:2;14678:9;14674:18;14666:26;;14738:9;14732:4;14728:20;14724:1;14713:9;14709:17;14702:47;14766:131;14892:4;14766:131;:::i;:::-;14758:139;;14485:419;;;:::o;14910:::-;15076:4;15114:2;15103:9;15099:18;15091:26;;15163:9;15157:4;15153:20;15149:1;15138:9;15134:17;15127:47;15191:131;15317:4;15191:131;:::i;:::-;15183:139;;14910:419;;;:::o;15335:::-;15501:4;15539:2;15528:9;15524:18;15516:26;;15588:9;15582:4;15578:20;15574:1;15563:9;15559:17;15552:47;15616:131;15742:4;15616:131;:::i;:::-;15608:139;;15335:419;;;:::o;15760:::-;15926:4;15964:2;15953:9;15949:18;15941:26;;16013:9;16007:4;16003:20;15999:1;15988:9;15984:17;15977:47;16041:131;16167:4;16041:131;:::i;:::-;16033:139;;15760:419;;;:::o;16185:::-;16351:4;16389:2;16378:9;16374:18;16366:26;;16438:9;16432:4;16428:20;16424:1;16413:9;16409:17;16402:47;16466:131;16592:4;16466:131;:::i;:::-;16458:139;;16185:419;;;:::o;16610:::-;16776:4;16814:2;16803:9;16799:18;16791:26;;16863:9;16857:4;16853:20;16849:1;16838:9;16834:17;16827:47;16891:131;17017:4;16891:131;:::i;:::-;16883:139;;16610:419;;;:::o;17035:::-;17201:4;17239:2;17228:9;17224:18;17216:26;;17288:9;17282:4;17278:20;17274:1;17263:9;17259:17;17252:47;17316:131;17442:4;17316:131;:::i;:::-;17308:139;;17035:419;;;:::o;17460:222::-;17553:4;17591:2;17580:9;17576:18;17568:26;;17604:71;17672:1;17661:9;17657:17;17648:6;17604:71;:::i;:::-;17460:222;;;;:::o;17688:831::-;17951:4;17989:3;17978:9;17974:19;17966:27;;18003:71;18071:1;18060:9;18056:17;18047:6;18003:71;:::i;:::-;18084:80;18160:2;18149:9;18145:18;18136:6;18084:80;:::i;:::-;18211:9;18205:4;18201:20;18196:2;18185:9;18181:18;18174:48;18239:108;18342:4;18333:6;18239:108;:::i;:::-;18231:116;;18357:72;18425:2;18414:9;18410:18;18401:6;18357:72;:::i;:::-;18439:73;18507:3;18496:9;18492:19;18483:6;18439:73;:::i;:::-;17688:831;;;;;;;;:::o;18525:214::-;18614:4;18652:2;18641:9;18637:18;18629:26;;18665:67;18729:1;18718:9;18714:17;18705:6;18665:67;:::i;:::-;18525:214;;;;:::o;18826:132::-;18893:4;18916:3;18908:11;;18946:4;18941:3;18937:14;18929:22;;18826:132;;;:::o;18964:114::-;19031:6;19065:5;19059:12;19049:22;;18964:114;;;:::o;19084:99::-;19136:6;19170:5;19164:12;19154:22;;19084:99;;;:::o;19189:113::-;19259:4;19291;19286:3;19282:14;19274:22;;19189:113;;;:::o;19308:184::-;19407:11;19441:6;19436:3;19429:19;19481:4;19476:3;19472:14;19457:29;;19308:184;;;;:::o;19498:169::-;19582:11;19616:6;19611:3;19604:19;19656:4;19651:3;19647:14;19632:29;;19498:169;;;;:::o;19673:305::-;19713:3;19732:20;19750:1;19732:20;:::i;:::-;19727:25;;19766:20;19784:1;19766:20;:::i;:::-;19761:25;;19920:1;19852:66;19848:74;19845:1;19842:81;19839:107;;;19926:18;;:::i;:::-;19839:107;19970:1;19967;19963:9;19956:16;;19673:305;;;;:::o;19984:185::-;20024:1;20041:20;20059:1;20041:20;:::i;:::-;20036:25;;20075:20;20093:1;20075:20;:::i;:::-;20070:25;;20114:1;20104:35;;20119:18;;:::i;:::-;20104:35;20161:1;20158;20154:9;20149:14;;19984:185;;;;:::o;20175:848::-;20236:5;20243:4;20267:6;20258:15;;20291:5;20282:14;;20305:712;20326:1;20316:8;20313:15;20305:712;;;20421:4;20416:3;20412:14;20406:4;20403:24;20400:50;;;20430:18;;:::i;:::-;20400:50;20480:1;20470:8;20466:16;20463:451;;;20895:4;20888:5;20884:16;20875:25;;20463:451;20945:4;20939;20935:15;20927:23;;20975:32;20998:8;20975:32;:::i;:::-;20963:44;;20305:712;;;20175:848;;;;;;;:::o;21029:281::-;21087:5;21111:23;21129:4;21111:23;:::i;:::-;21103:31;;21155:25;21171:8;21155:25;:::i;:::-;21143:37;;21199:104;21236:66;21226:8;21220:4;21199:104;:::i;:::-;21190:113;;21029:281;;;;:::o;21316:1073::-;21370:5;21561:8;21551:40;;21582:1;21573:10;;21584:5;;21551:40;21610:4;21600:36;;21627:1;21618:10;;21629:5;;21600:36;21696:4;21744:1;21739:27;;;;21780:1;21775:191;;;;21689:277;;21739:27;21757:1;21748:10;;21759:5;;;21775:191;21820:3;21810:8;21807:17;21804:43;;;21827:18;;:::i;:::-;21804:43;21876:8;21873:1;21869:16;21860:25;;21911:3;21904:5;21901:14;21898:40;;;21918:18;;:::i;:::-;21898:40;21951:5;;;21689:277;;22075:2;22065:8;22062:16;22056:3;22050:4;22047:13;22043:36;22025:2;22015:8;22012:16;22007:2;22001:4;21998:12;21994:35;21978:111;21975:246;;;22131:8;22125:4;22121:19;22112:28;;22166:3;22159:5;22156:14;22153:40;;;22173:18;;:::i;:::-;22153:40;22206:5;;21975:246;22246:42;22284:3;22274:8;22268:4;22265:1;22246:42;:::i;:::-;22231:57;;;;22320:4;22315:3;22311:14;22304:5;22301:25;22298:51;;;22329:18;;:::i;:::-;22298:51;22378:4;22371:5;22367:16;22358:25;;21316:1073;;;;;;:::o;22395:348::-;22435:7;22458:20;22476:1;22458:20;:::i;:::-;22453:25;;22492:20;22510:1;22492:20;:::i;:::-;22487:25;;22680:1;22612:66;22608:74;22605:1;22602:81;22597:1;22590:9;22583:17;22579:105;22576:131;;;22687:18;;:::i;:::-;22576:131;22735:1;22732;22728:9;22717:20;;22395:348;;;;:::o;22749:191::-;22789:4;22809:20;22827:1;22809:20;:::i;:::-;22804:25;;22843:20;22861:1;22843:20;:::i;:::-;22838:25;;22882:1;22879;22876:8;22873:34;;;22887:18;;:::i;:::-;22873:34;22932:1;22929;22925:9;22917:17;;22749:191;;;;:::o;22946:96::-;22983:7;23012:24;23030:5;23012:24;:::i;:::-;23001:35;;22946:96;;;:::o;23048:90::-;23082:7;23125:5;23118:13;23111:21;23100:32;;23048:90;;;:::o;23144:126::-;23181:7;23221:42;23214:5;23210:54;23199:65;;23144:126;;;:::o;23276:77::-;23313:7;23342:5;23331:16;;23276:77;;;:::o;23359:86::-;23394:7;23434:4;23427:5;23423:16;23412:27;;23359:86;;;:::o;23451:121::-;23509:9;23542:24;23560:5;23542:24;:::i;:::-;23529:37;;23451:121;;;:::o;23578:307::-;23646:1;23656:113;23670:6;23667:1;23664:13;23656:113;;;23755:1;23750:3;23746:11;23740:18;23736:1;23731:3;23727:11;23720:39;23692:2;23689:1;23685:10;23680:15;;23656:113;;;23787:6;23784:1;23781:13;23778:101;;;23867:1;23858:6;23853:3;23849:16;23842:27;23778:101;23627:258;23578:307;;;:::o;23891:180::-;23939:77;23936:1;23929:88;24036:4;24033:1;24026:15;24060:4;24057:1;24050:15;24077:180;24125:77;24122:1;24115:88;24222:4;24219:1;24212:15;24246:4;24243:1;24236:15;24263:180;24311:77;24308:1;24301:88;24408:4;24405:1;24398:15;24432:4;24429:1;24422:15;24449:180;24497:77;24494:1;24487:88;24594:4;24591:1;24584:15;24618:4;24615:1;24608:15;24758:117;24867:1;24864;24857:12;24881:102;24922:6;24973:2;24969:7;24964:2;24957:5;24953:14;24949:28;24939:38;;24881:102;;;:::o;24989:::-;25031:8;25078:5;25075:1;25071:13;25050:34;;24989:102;;;:::o;25097:222::-;25237:34;25233:1;25225:6;25221:14;25214:58;25306:5;25301:2;25293:6;25289:15;25282:30;25097:222;:::o;25325:229::-;25465:34;25461:1;25453:6;25449:14;25442:58;25534:12;25529:2;25521:6;25517:15;25510:37;25325:229;:::o;25560:221::-;25700:34;25696:1;25688:6;25684:14;25677:58;25769:4;25764:2;25756:6;25752:15;25745:29;25560:221;:::o;25787:173::-;25927:25;25923:1;25915:6;25911:14;25904:49;25787:173;:::o;25966:177::-;26106:29;26102:1;26094:6;26090:14;26083:53;25966:177;:::o;26149:176::-;26289:28;26285:1;26277:6;26273:14;26266:52;26149:176;:::o;26331:220::-;26471:34;26467:1;26459:6;26455:14;26448:58;26540:3;26535:2;26527:6;26523:15;26516:28;26331:220;:::o;26557:182::-;26697:34;26693:1;26685:6;26681:14;26674:58;26557:182;:::o;26745:228::-;26885:34;26881:1;26873:6;26869:14;26862:58;26954:11;26949:2;26941:6;26937:15;26930:36;26745:228;:::o;26979:224::-;27119:34;27115:1;27107:6;27103:14;27096:58;27188:7;27183:2;27175:6;27171:15;27164:32;26979:224;:::o;27209:223::-;27349:34;27345:1;27337:6;27333:14;27326:58;27418:6;27413:2;27405:6;27401:15;27394:31;27209:223;:::o;27438:122::-;27511:24;27529:5;27511:24;:::i;:::-;27504:5;27501:35;27491:63;;27550:1;27547;27540:12;27491:63;27438:122;:::o;27566:116::-;27636:21;27651:5;27636:21;:::i;:::-;27629:5;27626:32;27616:60;;27672:1;27669;27662:12;27616:60;27566:116;:::o;27688:122::-;27761:24;27779:5;27761:24;:::i;:::-;27754:5;27751:35;27741:63;;27800:1;27797;27790:12;27741:63;27688:122;:::o
Swarm Source
ipfs://dfb0383c69f3180dccda00c5156d4f8b8aee365bbca55922269cc2e12a4d53bc
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.