ERC-20
Overview
Max Total Supply
100,000,000 SILVER23
Holders
21
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
737,160.459826201 SILVER23Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
SILVER23
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-01-07 */ /** /** https://t.me/silver23token */ pragma solidity ^0.8.7; // SPDX-License-Identifier: UNLICENSED abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract SILVER23 is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; mapping (address => uint) private cooldown; mapping(address => uint256) private buycooldown; mapping(address => uint256) private sellcooldown; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 100000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _feeAddr1; uint256 private _feeAddr2; address payable private _feeAddrWallet; string private constant _name = "Silver23"; string private constant _symbol = "SILVER23"; uint8 private constant _decimals = 9; IUniswapV2Router02 private uniswapV2Router; address private uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool private cooldownEnabled = false; uint256 private _maxTxAmount = _tTotal; uint256 private _maxWalletSize = _tTotal; uint256 private _multiplier = 1; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _feeAddrWallet = payable(0x8A8B390335e0AA66Ab9FCAf6E19cB95C680D1518); _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_feeAddrWallet] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function setCooldownEnabled(bool onoff) external onlyOwner() { cooldownEnabled = onoff; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function setFee() private { _feeAddr2 = _feeAddr2 * _multiplier; } function restoreAllFee() private { _feeAddr2 = 5; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); _feeAddr1 = 0; _feeAddr2 = 5; if (from != owner() && to != owner()) { require(!bots[from] && !bots[to]); // Buy if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) { // Cooldown require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); require(cooldown[to] < block.timestamp); cooldown[to] = block.timestamp + (30 seconds); } // Sell if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) { _feeAddr1 = 0; _feeAddr2 = 5; } uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } setFee(); } } _tokenTransfer(from,to,amount); restoreAllFee; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function removeLimits() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; } function changeMaxTxAmount(uint256 percentage) external onlyOwner{ require(percentage>0); _maxTxAmount = _tTotal.mul(percentage).div(100); } function changeMaxWalletSize(uint256 percentage) external onlyOwner{ require(percentage>0); _maxWalletSize = _tTotal.mul(percentage).div(100); } function sendETHToFee(uint256 amount) private { _feeAddrWallet.transfer(amount); } function setMultiplier(uint8 mult) external onlyOwner{ _multiplier = mult; } function openTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH()); uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); swapEnabled = true; cooldownEnabled = true; _maxTxAmount = _tTotal.mul(2).div(100); _maxWalletSize = _tTotal.mul(3).div(100); tradingOpen = true; IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); } function addsnipd(address[] memory bots_) public onlyOwner { for (uint i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function delSnipa(address notbot) public onlyOwner { bots[notbot] = false; } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotal = _rTotal.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } receive() external payable {} function manualswap() external { require(_msgSender() == _feeAddrWallet); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _feeAddrWallet); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addsnipd","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"changeMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"changeMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delSnipa","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"mult","type":"uint8"}],"name":"setMultiplier","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
608060405267016345785d8a00006000196200001c919062000466565b6000196200002b919062000421565b600a556000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506000601060176101000a81548160ff02191690831515021790555067016345785d8a000060115567016345785d8a00006012556001601355348015620000a957600080fd5b506000620000bc620003c260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350738a8b390335e0aa66ab9fcaf6e19cb95c680d1518600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a5460026000620001c6620003c260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200021a620003ca60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200034d620003c260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef67016345785d8a0000604051620003b4919062000404565b60405180910390a3620004fc565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620003fe816200045c565b82525050565b60006020820190506200041b6000830184620003f3565b92915050565b60006200042e826200045c565b91506200043b836200045c565b9250828210156200045157620004506200049e565b5b828203905092915050565b6000819050919050565b600062000473826200045c565b915062000480836200045c565b925082620004935762000492620004cd565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6138f3806200050c6000396000f3fe60806040526004361061012e5760003560e01c8063715018a6116100ab578063a9059cbb1161006f578063a9059cbb146103b1578063b87f137a146103ee578063c3c8cd8014610417578063c9567bf91461042e578063ca7a523e14610445578063dd62ed3e1461046e57610135565b8063715018a614610304578063751039fc1461031b57806383d993ce146103325780638da5cb5b1461035b57806395d89b411461038657610135565b8063418956b3116100f2578063418956b3146102355780635932ead11461025e578063677daa57146102875780636fc3eaec146102b057806370a08231146102c757610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd578063313ce5671461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104ab565b60405161015c9190612f61565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190612a3b565b6104e8565b6040516101999190612f46565b60405180910390f35b3480156101ae57600080fd5b506101b7610506565b6040516101c49190613103565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef91906129e8565b610516565b6040516102019190612f46565b60405180910390f35b34801561021657600080fd5b5061021f6105ef565b60405161022c9190613178565b60405180910390f35b34801561024157600080fd5b5061025c6004803603810190610257919061294e565b6105f8565b005b34801561026a57600080fd5b5061028560048036038101906102809190612ac4565b6106e8565b005b34801561029357600080fd5b506102ae60048036038101906102a99190612b1e565b61079a565b005b3480156102bc57600080fd5b506102c5610873565b005b3480156102d357600080fd5b506102ee60048036038101906102e9919061294e565b6108e5565b6040516102fb9190613103565b60405180910390f35b34801561031057600080fd5b50610319610936565b005b34801561032757600080fd5b50610330610a89565b005b34801561033e57600080fd5b5061035960048036038101906103549190612b9e565b610b3e565b005b34801561036757600080fd5b50610370610be0565b60405161037d9190612e78565b60405180910390f35b34801561039257600080fd5b5061039b610c09565b6040516103a89190612f61565b60405180910390f35b3480156103bd57600080fd5b506103d860048036038101906103d39190612a3b565b610c46565b6040516103e59190612f46565b60405180910390f35b3480156103fa57600080fd5b5061041560048036038101906104109190612b1e565b610c64565b005b34801561042357600080fd5b5061042c610d3d565b005b34801561043a57600080fd5b50610443610db7565b005b34801561045157600080fd5b5061046c60048036038101906104679190612a7b565b61136d565b005b34801561047a57600080fd5b50610495600480360381019061049091906129a8565b611497565b6040516104a29190613103565b60405180910390f35b60606040518060400160405280600881526020017f53696c7665723233000000000000000000000000000000000000000000000000815250905090565b60006104fc6104f561151e565b8484611526565b6001905092915050565b600067016345785d8a0000905090565b60006105238484846116f1565b6105e48461052f61151e565b6105df8560405180606001604052806028815260200161389660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061059561151e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d8c9092919063ffffffff16565b611526565b600190509392505050565b60006009905090565b61060061151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461068d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068490613043565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6106f061151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461077d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490613043565b60405180910390fd5b80601060176101000a81548160ff02191690831515021790555050565b6107a261151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461082f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082690613043565b60405180910390fd5b6000811161083c57600080fd5b61086a606461085c8367016345785d8a0000611df090919063ffffffff16565b611e6b90919063ffffffff16565b60118190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108b461151e565b73ffffffffffffffffffffffffffffffffffffffff16146108d457600080fd5b60004790506108e281611eb5565b50565b600061092f600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f21565b9050919050565b61093e61151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c290613043565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a9161151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1590613043565b60405180910390fd5b67016345785d8a000060118190555067016345785d8a0000601281905550565b610b4661151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bca90613043565b60405180910390fd5b8060ff1660138190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f53494c5645523233000000000000000000000000000000000000000000000000815250905090565b6000610c5a610c5361151e565b84846116f1565b6001905092915050565b610c6c61151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf090613043565b60405180910390fd5b60008111610d0657600080fd5b610d346064610d268367016345785d8a0000611df090919063ffffffff16565b611e6b90919063ffffffff16565b60128190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d7e61151e565b73ffffffffffffffffffffffffffffffffffffffff1614610d9e57600080fd5b6000610da9306108e5565b9050610db481611f8f565b50565b610dbf61151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4390613043565b60405180910390fd5b601060149054906101000a900460ff1615610e9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e93906130e3565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f2b30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1667016345785d8a0000611526565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610f7157600080fd5b505afa158015610f85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa9919061297b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561100b57600080fd5b505afa15801561101f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611043919061297b565b6040518363ffffffff1660e01b8152600401611060929190612e93565b602060405180830381600087803b15801561107a57600080fd5b505af115801561108e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b2919061297b565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061113b306108e5565b600080611146610be0565b426040518863ffffffff1660e01b815260040161116896959493929190612ee5565b6060604051808303818588803b15801561118157600080fd5b505af1158015611195573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111ba9190612b4b565b5050506001601060166101000a81548160ff0219169083151502179055506001601060176101000a81548160ff0219169083151502179055506112226064611214600267016345785d8a0000611df090919063ffffffff16565b611e6b90919063ffffffff16565b6011819055506112576064611249600367016345785d8a0000611df090919063ffffffff16565b611e6b90919063ffffffff16565b6012819055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611317929190612ebc565b602060405180830381600087803b15801561133157600080fd5b505af1158015611345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113699190612af1565b5050565b61137561151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f990613043565b60405180910390fd5b60005b815181101561149357600160066000848481518110611427576114266134c0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061148b90613419565b915050611405565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611596576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158d906130c3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611606576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fd90612fe3565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116e49190613103565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611761576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175890613083565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c890612f83565b60405180910390fd5b60008111611814576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180b90613063565b60405180910390fd5b6000600c819055506005600d8190555061182c610be0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561189a575061186a610be0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611d7c57600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119435750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61194c57600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119f75750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a4d5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a655750601060179054906101000a900460ff165b15611ba357601154811115611aaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa690612fa3565b60405180910390fd5b60125481611abc846108e5565b611ac69190613239565b1115611b07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afe906130a3565b60405180910390fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611b5257600080fd5b601e42611b5f9190613239565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611c4e5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ca45750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cba576000600c819055506005600d819055505b6000611cc5306108e5565b9050601060159054906101000a900460ff16158015611d325750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611d4a5750601060169054906101000a900460ff165b15611d7a57611d5881611f8f565b60004790506000811115611d7057611d6f47611eb5565b5b611d78612217565b505b505b611d8783838361222f565b505050565b6000838311158290611dd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcb9190612f61565b60405180910390fd5b5060008385611de3919061331a565b9050809150509392505050565b600080831415611e035760009050611e65565b60008284611e1191906132c0565b9050828482611e20919061328f565b14611e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5790613023565b60405180910390fd5b809150505b92915050565b6000611ead83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061223f565b905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f1d573d6000803e3d6000fd5b5050565b6000600a54821115611f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5f90612fc3565b60405180910390fd5b6000611f726122a2565b9050611f878184611e6b90919063ffffffff16565b915050919050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611fc757611fc66134ef565b5b604051908082528060200260200182016040528015611ff55781602001602082028036833780820191505090505b509050308160008151811061200d5761200c6134c0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156120af57600080fd5b505afa1580156120c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e7919061297b565b816001815181106120fb576120fa6134c0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061216230600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611526565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121c695949392919061311e565b600060405180830381600087803b1580156121e057600080fd5b505af11580156121f4573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b601354600d5461222791906132c0565b600d81905550565b61223a8383836122cd565b505050565b60008083118290612286576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227d9190612f61565b60405180910390fd5b5060008385612295919061328f565b9050809150509392505050565b60008060006122af612498565b915091506122c68183611e6b90919063ffffffff16565b9250505090565b6000806000806000806122df876124f7565b95509550955095509550955061233d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461255f90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123d285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061241e81612607565b61242884836126c4565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516124859190613103565b60405180910390a3505050505050505050565b6000806000600a549050600067016345785d8a000090506124cc67016345785d8a0000600a54611e6b90919063ffffffff16565b8210156124ea57600a5467016345785d8a00009350935050506124f3565b81819350935050505b9091565b60008060008060008060008060006125148a600c54600d546126fe565b92509250925060006125246122a2565b905060008060006125378e878787612794565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006125a183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d8c565b905092915050565b60008082846125b89190613239565b9050838110156125fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f490613003565b60405180910390fd5b8091505092915050565b60006126116122a2565b905060006126288284611df090919063ffffffff16565b905061267c81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6126d982600a5461255f90919063ffffffff16565b600a819055506126f481600b546125a990919063ffffffff16565b600b819055505050565b60008060008061272a606461271c888a611df090919063ffffffff16565b611e6b90919063ffffffff16565b905060006127546064612746888b611df090919063ffffffff16565b611e6b90919063ffffffff16565b9050600061277d8261276f858c61255f90919063ffffffff16565b61255f90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806127ad8589611df090919063ffffffff16565b905060006127c48689611df090919063ffffffff16565b905060006127db8789611df090919063ffffffff16565b90506000612804826127f6858761255f90919063ffffffff16565b61255f90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600061283061282b846131b8565b613193565b9050808382526020820190508285602086028201111561285357612852613523565b5b60005b858110156128835781612869888261288d565b845260208401935060208301925050600181019050612856565b5050509392505050565b60008135905061289c81613839565b92915050565b6000815190506128b181613839565b92915050565b600082601f8301126128cc576128cb61351e565b5b81356128dc84826020860161281d565b91505092915050565b6000813590506128f481613850565b92915050565b60008151905061290981613850565b92915050565b60008135905061291e81613867565b92915050565b60008151905061293381613867565b92915050565b6000813590506129488161387e565b92915050565b6000602082840312156129645761296361352d565b5b60006129728482850161288d565b91505092915050565b6000602082840312156129915761299061352d565b5b600061299f848285016128a2565b91505092915050565b600080604083850312156129bf576129be61352d565b5b60006129cd8582860161288d565b92505060206129de8582860161288d565b9150509250929050565b600080600060608486031215612a0157612a0061352d565b5b6000612a0f8682870161288d565b9350506020612a208682870161288d565b9250506040612a318682870161290f565b9150509250925092565b60008060408385031215612a5257612a5161352d565b5b6000612a608582860161288d565b9250506020612a718582860161290f565b9150509250929050565b600060208284031215612a9157612a9061352d565b5b600082013567ffffffffffffffff811115612aaf57612aae613528565b5b612abb848285016128b7565b91505092915050565b600060208284031215612ada57612ad961352d565b5b6000612ae8848285016128e5565b91505092915050565b600060208284031215612b0757612b0661352d565b5b6000612b15848285016128fa565b91505092915050565b600060208284031215612b3457612b3361352d565b5b6000612b428482850161290f565b91505092915050565b600080600060608486031215612b6457612b6361352d565b5b6000612b7286828701612924565b9350506020612b8386828701612924565b9250506040612b9486828701612924565b9150509250925092565b600060208284031215612bb457612bb361352d565b5b6000612bc284828501612939565b91505092915050565b6000612bd78383612be3565b60208301905092915050565b612bec8161334e565b82525050565b612bfb8161334e565b82525050565b6000612c0c826131f4565b612c168185613217565b9350612c21836131e4565b8060005b83811015612c52578151612c398882612bcb565b9750612c448361320a565b925050600181019050612c25565b5085935050505092915050565b612c6881613360565b82525050565b612c77816133a3565b82525050565b6000612c88826131ff565b612c928185613228565b9350612ca28185602086016133b5565b612cab81613532565b840191505092915050565b6000612cc3602383613228565b9150612cce82613543565b604082019050919050565b6000612ce6601983613228565b9150612cf182613592565b602082019050919050565b6000612d09602a83613228565b9150612d14826135bb565b604082019050919050565b6000612d2c602283613228565b9150612d378261360a565b604082019050919050565b6000612d4f601b83613228565b9150612d5a82613659565b602082019050919050565b6000612d72602183613228565b9150612d7d82613682565b604082019050919050565b6000612d95602083613228565b9150612da0826136d1565b602082019050919050565b6000612db8602983613228565b9150612dc3826136fa565b604082019050919050565b6000612ddb602583613228565b9150612de682613749565b604082019050919050565b6000612dfe601a83613228565b9150612e0982613798565b602082019050919050565b6000612e21602483613228565b9150612e2c826137c1565b604082019050919050565b6000612e44601783613228565b9150612e4f82613810565b602082019050919050565b612e638161338c565b82525050565b612e7281613396565b82525050565b6000602082019050612e8d6000830184612bf2565b92915050565b6000604082019050612ea86000830185612bf2565b612eb56020830184612bf2565b9392505050565b6000604082019050612ed16000830185612bf2565b612ede6020830184612e5a565b9392505050565b600060c082019050612efa6000830189612bf2565b612f076020830188612e5a565b612f146040830187612c6e565b612f216060830186612c6e565b612f2e6080830185612bf2565b612f3b60a0830184612e5a565b979650505050505050565b6000602082019050612f5b6000830184612c5f565b92915050565b60006020820190508181036000830152612f7b8184612c7d565b905092915050565b60006020820190508181036000830152612f9c81612cb6565b9050919050565b60006020820190508181036000830152612fbc81612cd9565b9050919050565b60006020820190508181036000830152612fdc81612cfc565b9050919050565b60006020820190508181036000830152612ffc81612d1f565b9050919050565b6000602082019050818103600083015261301c81612d42565b9050919050565b6000602082019050818103600083015261303c81612d65565b9050919050565b6000602082019050818103600083015261305c81612d88565b9050919050565b6000602082019050818103600083015261307c81612dab565b9050919050565b6000602082019050818103600083015261309c81612dce565b9050919050565b600060208201905081810360008301526130bc81612df1565b9050919050565b600060208201905081810360008301526130dc81612e14565b9050919050565b600060208201905081810360008301526130fc81612e37565b9050919050565b60006020820190506131186000830184612e5a565b92915050565b600060a0820190506131336000830188612e5a565b6131406020830187612c6e565b81810360408301526131528186612c01565b90506131616060830185612bf2565b61316e6080830184612e5a565b9695505050505050565b600060208201905061318d6000830184612e69565b92915050565b600061319d6131ae565b90506131a982826133e8565b919050565b6000604051905090565b600067ffffffffffffffff8211156131d3576131d26134ef565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006132448261338c565b915061324f8361338c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561328457613283613462565b5b828201905092915050565b600061329a8261338c565b91506132a58361338c565b9250826132b5576132b4613491565b5b828204905092915050565b60006132cb8261338c565b91506132d68361338c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561330f5761330e613462565b5b828202905092915050565b60006133258261338c565b91506133308361338c565b92508282101561334357613342613462565b5b828203905092915050565b60006133598261336c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006133ae8261338c565b9050919050565b60005b838110156133d35780820151818401526020810190506133b8565b838111156133e2576000848401525b50505050565b6133f182613532565b810181811067ffffffffffffffff821117156134105761340f6134ef565b5b80604052505050565b60006134248261338c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561345757613456613462565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6138428161334e565b811461384d57600080fd5b50565b61385981613360565b811461386457600080fd5b50565b6138708161338c565b811461387b57600080fd5b50565b61388781613396565b811461389257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220daebad00165264a80d1680e955f789eec01062c7fc21238439d6282a6b97cd3a64736f6c63430008070033
Deployed Bytecode
0x60806040526004361061012e5760003560e01c8063715018a6116100ab578063a9059cbb1161006f578063a9059cbb146103b1578063b87f137a146103ee578063c3c8cd8014610417578063c9567bf91461042e578063ca7a523e14610445578063dd62ed3e1461046e57610135565b8063715018a614610304578063751039fc1461031b57806383d993ce146103325780638da5cb5b1461035b57806395d89b411461038657610135565b8063418956b3116100f2578063418956b3146102355780635932ead11461025e578063677daa57146102875780636fc3eaec146102b057806370a08231146102c757610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd578063313ce5671461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f6104ab565b60405161015c9190612f61565b60405180910390f35b34801561017157600080fd5b5061018c60048036038101906101879190612a3b565b6104e8565b6040516101999190612f46565b60405180910390f35b3480156101ae57600080fd5b506101b7610506565b6040516101c49190613103565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef91906129e8565b610516565b6040516102019190612f46565b60405180910390f35b34801561021657600080fd5b5061021f6105ef565b60405161022c9190613178565b60405180910390f35b34801561024157600080fd5b5061025c6004803603810190610257919061294e565b6105f8565b005b34801561026a57600080fd5b5061028560048036038101906102809190612ac4565b6106e8565b005b34801561029357600080fd5b506102ae60048036038101906102a99190612b1e565b61079a565b005b3480156102bc57600080fd5b506102c5610873565b005b3480156102d357600080fd5b506102ee60048036038101906102e9919061294e565b6108e5565b6040516102fb9190613103565b60405180910390f35b34801561031057600080fd5b50610319610936565b005b34801561032757600080fd5b50610330610a89565b005b34801561033e57600080fd5b5061035960048036038101906103549190612b9e565b610b3e565b005b34801561036757600080fd5b50610370610be0565b60405161037d9190612e78565b60405180910390f35b34801561039257600080fd5b5061039b610c09565b6040516103a89190612f61565b60405180910390f35b3480156103bd57600080fd5b506103d860048036038101906103d39190612a3b565b610c46565b6040516103e59190612f46565b60405180910390f35b3480156103fa57600080fd5b5061041560048036038101906104109190612b1e565b610c64565b005b34801561042357600080fd5b5061042c610d3d565b005b34801561043a57600080fd5b50610443610db7565b005b34801561045157600080fd5b5061046c60048036038101906104679190612a7b565b61136d565b005b34801561047a57600080fd5b50610495600480360381019061049091906129a8565b611497565b6040516104a29190613103565b60405180910390f35b60606040518060400160405280600881526020017f53696c7665723233000000000000000000000000000000000000000000000000815250905090565b60006104fc6104f561151e565b8484611526565b6001905092915050565b600067016345785d8a0000905090565b60006105238484846116f1565b6105e48461052f61151e565b6105df8560405180606001604052806028815260200161389660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061059561151e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d8c9092919063ffffffff16565b611526565b600190509392505050565b60006009905090565b61060061151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461068d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068490613043565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6106f061151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461077d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077490613043565b60405180910390fd5b80601060176101000a81548160ff02191690831515021790555050565b6107a261151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461082f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082690613043565b60405180910390fd5b6000811161083c57600080fd5b61086a606461085c8367016345785d8a0000611df090919063ffffffff16565b611e6b90919063ffffffff16565b60118190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108b461151e565b73ffffffffffffffffffffffffffffffffffffffff16146108d457600080fd5b60004790506108e281611eb5565b50565b600061092f600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f21565b9050919050565b61093e61151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c290613043565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a9161151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1590613043565b60405180910390fd5b67016345785d8a000060118190555067016345785d8a0000601281905550565b610b4661151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bca90613043565b60405180910390fd5b8060ff1660138190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600881526020017f53494c5645523233000000000000000000000000000000000000000000000000815250905090565b6000610c5a610c5361151e565b84846116f1565b6001905092915050565b610c6c61151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf090613043565b60405180910390fd5b60008111610d0657600080fd5b610d346064610d268367016345785d8a0000611df090919063ffffffff16565b611e6b90919063ffffffff16565b60128190555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d7e61151e565b73ffffffffffffffffffffffffffffffffffffffff1614610d9e57600080fd5b6000610da9306108e5565b9050610db481611f8f565b50565b610dbf61151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4390613043565b60405180910390fd5b601060149054906101000a900460ff1615610e9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e93906130e3565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f2b30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1667016345785d8a0000611526565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610f7157600080fd5b505afa158015610f85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa9919061297b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561100b57600080fd5b505afa15801561101f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611043919061297b565b6040518363ffffffff1660e01b8152600401611060929190612e93565b602060405180830381600087803b15801561107a57600080fd5b505af115801561108e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b2919061297b565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061113b306108e5565b600080611146610be0565b426040518863ffffffff1660e01b815260040161116896959493929190612ee5565b6060604051808303818588803b15801561118157600080fd5b505af1158015611195573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111ba9190612b4b565b5050506001601060166101000a81548160ff0219169083151502179055506001601060176101000a81548160ff0219169083151502179055506112226064611214600267016345785d8a0000611df090919063ffffffff16565b611e6b90919063ffffffff16565b6011819055506112576064611249600367016345785d8a0000611df090919063ffffffff16565b611e6b90919063ffffffff16565b6012819055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611317929190612ebc565b602060405180830381600087803b15801561133157600080fd5b505af1158015611345573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113699190612af1565b5050565b61137561151e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f990613043565b60405180910390fd5b60005b815181101561149357600160066000848481518110611427576114266134c0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061148b90613419565b915050611405565b5050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611596576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158d906130c3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611606576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fd90612fe3565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116e49190613103565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611761576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175890613083565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c890612f83565b60405180910390fd5b60008111611814576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180b90613063565b60405180910390fd5b6000600c819055506005600d8190555061182c610be0565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561189a575061186a610be0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611d7c57600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119435750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61194c57600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156119f75750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611a4d5750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a655750601060179054906101000a900460ff165b15611ba357601154811115611aaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa690612fa3565b60405180910390fd5b60125481611abc846108e5565b611ac69190613239565b1115611b07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afe906130a3565b60405180910390fd5b42600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611b5257600080fd5b601e42611b5f9190613239565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611c4e5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ca45750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611cba576000600c819055506005600d819055505b6000611cc5306108e5565b9050601060159054906101000a900460ff16158015611d325750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611d4a5750601060169054906101000a900460ff165b15611d7a57611d5881611f8f565b60004790506000811115611d7057611d6f47611eb5565b5b611d78612217565b505b505b611d8783838361222f565b505050565b6000838311158290611dd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcb9190612f61565b60405180910390fd5b5060008385611de3919061331a565b9050809150509392505050565b600080831415611e035760009050611e65565b60008284611e1191906132c0565b9050828482611e20919061328f565b14611e60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5790613023565b60405180910390fd5b809150505b92915050565b6000611ead83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061223f565b905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f1d573d6000803e3d6000fd5b5050565b6000600a54821115611f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5f90612fc3565b60405180910390fd5b6000611f726122a2565b9050611f878184611e6b90919063ffffffff16565b915050919050565b6001601060156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611fc757611fc66134ef565b5b604051908082528060200260200182016040528015611ff55781602001602082028036833780820191505090505b509050308160008151811061200d5761200c6134c0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156120af57600080fd5b505afa1580156120c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e7919061297b565b816001815181106120fb576120fa6134c0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061216230600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611526565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121c695949392919061311e565b600060405180830381600087803b1580156121e057600080fd5b505af11580156121f4573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b601354600d5461222791906132c0565b600d81905550565b61223a8383836122cd565b505050565b60008083118290612286576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227d9190612f61565b60405180910390fd5b5060008385612295919061328f565b9050809150509392505050565b60008060006122af612498565b915091506122c68183611e6b90919063ffffffff16565b9250505090565b6000806000806000806122df876124f7565b95509550955095509550955061233d86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461255f90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123d285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061241e81612607565b61242884836126c4565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516124859190613103565b60405180910390a3505050505050505050565b6000806000600a549050600067016345785d8a000090506124cc67016345785d8a0000600a54611e6b90919063ffffffff16565b8210156124ea57600a5467016345785d8a00009350935050506124f3565b81819350935050505b9091565b60008060008060008060008060006125148a600c54600d546126fe565b92509250925060006125246122a2565b905060008060006125378e878787612794565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006125a183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d8c565b905092915050565b60008082846125b89190613239565b9050838110156125fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f490613003565b60405180910390fd5b8091505092915050565b60006126116122a2565b905060006126288284611df090919063ffffffff16565b905061267c81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6126d982600a5461255f90919063ffffffff16565b600a819055506126f481600b546125a990919063ffffffff16565b600b819055505050565b60008060008061272a606461271c888a611df090919063ffffffff16565b611e6b90919063ffffffff16565b905060006127546064612746888b611df090919063ffffffff16565b611e6b90919063ffffffff16565b9050600061277d8261276f858c61255f90919063ffffffff16565b61255f90919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806127ad8589611df090919063ffffffff16565b905060006127c48689611df090919063ffffffff16565b905060006127db8789611df090919063ffffffff16565b90506000612804826127f6858761255f90919063ffffffff16565b61255f90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600061283061282b846131b8565b613193565b9050808382526020820190508285602086028201111561285357612852613523565b5b60005b858110156128835781612869888261288d565b845260208401935060208301925050600181019050612856565b5050509392505050565b60008135905061289c81613839565b92915050565b6000815190506128b181613839565b92915050565b600082601f8301126128cc576128cb61351e565b5b81356128dc84826020860161281d565b91505092915050565b6000813590506128f481613850565b92915050565b60008151905061290981613850565b92915050565b60008135905061291e81613867565b92915050565b60008151905061293381613867565b92915050565b6000813590506129488161387e565b92915050565b6000602082840312156129645761296361352d565b5b60006129728482850161288d565b91505092915050565b6000602082840312156129915761299061352d565b5b600061299f848285016128a2565b91505092915050565b600080604083850312156129bf576129be61352d565b5b60006129cd8582860161288d565b92505060206129de8582860161288d565b9150509250929050565b600080600060608486031215612a0157612a0061352d565b5b6000612a0f8682870161288d565b9350506020612a208682870161288d565b9250506040612a318682870161290f565b9150509250925092565b60008060408385031215612a5257612a5161352d565b5b6000612a608582860161288d565b9250506020612a718582860161290f565b9150509250929050565b600060208284031215612a9157612a9061352d565b5b600082013567ffffffffffffffff811115612aaf57612aae613528565b5b612abb848285016128b7565b91505092915050565b600060208284031215612ada57612ad961352d565b5b6000612ae8848285016128e5565b91505092915050565b600060208284031215612b0757612b0661352d565b5b6000612b15848285016128fa565b91505092915050565b600060208284031215612b3457612b3361352d565b5b6000612b428482850161290f565b91505092915050565b600080600060608486031215612b6457612b6361352d565b5b6000612b7286828701612924565b9350506020612b8386828701612924565b9250506040612b9486828701612924565b9150509250925092565b600060208284031215612bb457612bb361352d565b5b6000612bc284828501612939565b91505092915050565b6000612bd78383612be3565b60208301905092915050565b612bec8161334e565b82525050565b612bfb8161334e565b82525050565b6000612c0c826131f4565b612c168185613217565b9350612c21836131e4565b8060005b83811015612c52578151612c398882612bcb565b9750612c448361320a565b925050600181019050612c25565b5085935050505092915050565b612c6881613360565b82525050565b612c77816133a3565b82525050565b6000612c88826131ff565b612c928185613228565b9350612ca28185602086016133b5565b612cab81613532565b840191505092915050565b6000612cc3602383613228565b9150612cce82613543565b604082019050919050565b6000612ce6601983613228565b9150612cf182613592565b602082019050919050565b6000612d09602a83613228565b9150612d14826135bb565b604082019050919050565b6000612d2c602283613228565b9150612d378261360a565b604082019050919050565b6000612d4f601b83613228565b9150612d5a82613659565b602082019050919050565b6000612d72602183613228565b9150612d7d82613682565b604082019050919050565b6000612d95602083613228565b9150612da0826136d1565b602082019050919050565b6000612db8602983613228565b9150612dc3826136fa565b604082019050919050565b6000612ddb602583613228565b9150612de682613749565b604082019050919050565b6000612dfe601a83613228565b9150612e0982613798565b602082019050919050565b6000612e21602483613228565b9150612e2c826137c1565b604082019050919050565b6000612e44601783613228565b9150612e4f82613810565b602082019050919050565b612e638161338c565b82525050565b612e7281613396565b82525050565b6000602082019050612e8d6000830184612bf2565b92915050565b6000604082019050612ea86000830185612bf2565b612eb56020830184612bf2565b9392505050565b6000604082019050612ed16000830185612bf2565b612ede6020830184612e5a565b9392505050565b600060c082019050612efa6000830189612bf2565b612f076020830188612e5a565b612f146040830187612c6e565b612f216060830186612c6e565b612f2e6080830185612bf2565b612f3b60a0830184612e5a565b979650505050505050565b6000602082019050612f5b6000830184612c5f565b92915050565b60006020820190508181036000830152612f7b8184612c7d565b905092915050565b60006020820190508181036000830152612f9c81612cb6565b9050919050565b60006020820190508181036000830152612fbc81612cd9565b9050919050565b60006020820190508181036000830152612fdc81612cfc565b9050919050565b60006020820190508181036000830152612ffc81612d1f565b9050919050565b6000602082019050818103600083015261301c81612d42565b9050919050565b6000602082019050818103600083015261303c81612d65565b9050919050565b6000602082019050818103600083015261305c81612d88565b9050919050565b6000602082019050818103600083015261307c81612dab565b9050919050565b6000602082019050818103600083015261309c81612dce565b9050919050565b600060208201905081810360008301526130bc81612df1565b9050919050565b600060208201905081810360008301526130dc81612e14565b9050919050565b600060208201905081810360008301526130fc81612e37565b9050919050565b60006020820190506131186000830184612e5a565b92915050565b600060a0820190506131336000830188612e5a565b6131406020830187612c6e565b81810360408301526131528186612c01565b90506131616060830185612bf2565b61316e6080830184612e5a565b9695505050505050565b600060208201905061318d6000830184612e69565b92915050565b600061319d6131ae565b90506131a982826133e8565b919050565b6000604051905090565b600067ffffffffffffffff8211156131d3576131d26134ef565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006132448261338c565b915061324f8361338c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561328457613283613462565b5b828201905092915050565b600061329a8261338c565b91506132a58361338c565b9250826132b5576132b4613491565b5b828204905092915050565b60006132cb8261338c565b91506132d68361338c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561330f5761330e613462565b5b828202905092915050565b60006133258261338c565b91506133308361338c565b92508282101561334357613342613462565b5b828203905092915050565b60006133598261336c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006133ae8261338c565b9050919050565b60005b838110156133d35780820151818401526020810190506133b8565b838111156133e2576000848401525b50505050565b6133f182613532565b810181811067ffffffffffffffff821117156134105761340f6134ef565b5b80604052505050565b60006134248261338c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561345757613456613462565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6138428161334e565b811461384d57600080fd5b50565b61385981613360565b811461386457600080fd5b50565b6138708161338c565b811461387b57600080fd5b50565b61388781613396565b811461389257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220daebad00165264a80d1680e955f789eec01062c7fc21238439d6282a6b97cd3a64736f6c63430008070033
Deployed Bytecode Sourcemap
3811:11283:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5679:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6531:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5956:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6700:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5865:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11821:90;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7021:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10203:163;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13199:193;;;;;;;;;;;;;:::i;:::-;;6059:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2890:148;;;;;;;;;;;;;:::i;:::-;;10077:118;;;;;;;;;;;;;:::i;:::-;;10663:90;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2676:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5770:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6205:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10374;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12993:194;;;;;;;;;;;;;:::i;:::-;;10761:871;;;;;;;;;;;;;:::i;:::-;;11644:165;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6380:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5679:83;5716:13;5749:5;;;;;;;;;;;;;;;;;5742:12;;5679:83;:::o;6531:161::-;6606:4;6623:39;6632:12;:10;:12::i;:::-;6646:7;6655:6;6623:8;:39::i;:::-;6680:4;6673:11;;6531:161;;;;:::o;5956:95::-;6009:7;4427:17;6029:14;;5956:95;:::o;6700:313::-;6798:4;6815:36;6825:6;6833:9;6844:6;6815:9;:36::i;:::-;6862:121;6871:6;6879:12;:10;:12::i;:::-;6893:89;6931:6;6893:89;;;;;;;;;;;;;;;;;:11;:19;6905:6;6893:19;;;;;;;;;;;;;;;:33;6913:12;:10;:12::i;:::-;6893:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6862:8;:121::i;:::-;7001:4;6994:11;;6700:313;;;;;:::o;5865:83::-;5906:5;4796:1;5924:16;;5865:83;:::o;11821:90::-;2813:12;:10;:12::i;:::-;2803:22;;:6;;;;;;;;;;:22;;;2795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11898:5:::1;11883:4;:12;11888:6;11883:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;11821:90:::0;:::o;7021:103::-;2813:12;:10;:12::i;:::-;2803:22;;:6;;;;;;;;;;:22;;;2795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7111:5:::1;7093:15;;:23;;;;;;;;;;;;;;;;;;7021:103:::0;:::o;10203:163::-;2813:12;:10;:12::i;:::-;2803:22;;:6;;;;;;;;;;:22;;;2795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10298:1:::1;10287:10;:12;10279:21;;;::::0;::::1;;10326:32;10354:3;10326:23;10338:10;4427:17;10326:11;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;10311:12;:47;;;;10203:163:::0;:::o;13199:193::-;13265:14;;;;;;;;;;;13249:30;;:12;:10;:12::i;:::-;:30;;;13241:39;;;;;;13291:26;13320:21;13291:50;;13352:32;13365:18;13352:12;:32::i;:::-;13230:162;13199:193::o;6059:138::-;6125:7;6152:37;6172:7;:16;6180:7;6172:16;;;;;;;;;;;;;;;;6152:19;:37::i;:::-;6145:44;;6059:138;;;:::o;2890:148::-;2813:12;:10;:12::i;:::-;2803:22;;:6;;;;;;;;;;:22;;;2795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2997:1:::1;2960:40;;2981:6;::::0;::::1;;;;;;;;2960:40;;;;;;;;;;;;3028:1;3011:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2890:148::o:0;10077:118::-;2813:12;:10;:12::i;:::-;2803:22;;:6;;;;;;;;;;:22;;;2795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4427:17:::1;10130:12;:22;;;;4427:17;10163:14;:24;;;;10077:118::o:0;10663:90::-;2813:12;:10;:12::i;:::-;2803:22;;:6;;;;;;;;;;:22;;;2795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10741:4:::1;10727:18;;:11;:18;;;;10663:90:::0;:::o;2676:79::-;2714:7;2741:6;;;;;;;;;;;2734:13;;2676:79;:::o;5770:87::-;5809:13;5842:7;;;;;;;;;;;;;;;;;5835:14;;5770:87;:::o;6205:167::-;6283:4;6300:42;6310:12;:10;:12::i;:::-;6324:9;6335:6;6300:9;:42::i;:::-;6360:4;6353:11;;6205:167;;;;:::o;10374:::-;2813:12;:10;:12::i;:::-;2803:22;;:6;;;;;;;;;;:22;;;2795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10471:1:::1;10460:10;:12;10452:21;;;::::0;::::1;;10501:32;10529:3;10501:23;10513:10;4427:17;10501:11;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;10484:14;:49;;;;10374:167:::0;:::o;12993:194::-;13059:14;;;;;;;;;;;13043:30;;:12;:10;:12::i;:::-;:30;;;13035:39;;;;;;13085:23;13111:24;13129:4;13111:9;:24::i;:::-;13085:50;;13146:33;13163:15;13146:16;:33::i;:::-;13024:163;12993:194::o;10761:871::-;2813:12;:10;:12::i;:::-;2803:22;;:6;;;;;;;;;;:22;;;2795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10825:11:::1;;;;;;;;;;;10824:12;10816:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;10874:35;10931:42;10874:100;;11003:16;10985:15;;:34;;;;;;;;;;;;;;;;;;11030:58;11047:4;11062:15;;;;;;;;;;;4427:17;11030:8;:58::i;:::-;11133:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11115:56;;;11180:4;11187:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11115:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11099:13;;:112;;;;;;;;;;;;;;;;;;11222:15;;;;;;;;;;;:31;;;11261:21;11292:4;11298:24;11316:4;11298:9;:24::i;:::-;11323:1;11325::::0;11327:7:::1;:5;:7::i;:::-;11335:15;11222:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11376:4;11362:11;;:18;;;;;;;;;;;;;;;;;;11409:4;11391:15;;:22;;;;;;;;;;;;;;;;;;11439:23;11458:3;11439:14;11451:1;4427:17;11439:11;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;11424:12;:38;;;;11490:23;11509:3;11490:14;11502:1;4427:17;11490:11;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;11473:14;:40;;;;11538:4;11524:11;;:18;;;;;;;;;;;;;;;;;;11560:13;;;;;;;;;;;11553:29;;;11591:15;;;;;;;;;;;11609:14;11553:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10805:827;10761:871::o:0;11644:165::-;2813:12;:10;:12::i;:::-;2803:22;;:6;;;;;;;;;;:22;;;2795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11719:6:::1;11714:88;11735:5;:12;11731:1;:16;11714:88;;;11786:4;11769;:14;11774:5;11780:1;11774:8;;;;;;;;:::i;:::-;;;;;;;;11769:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;11749:3;;;;;:::i;:::-;;;;11714:88;;;;11644:165:::0;:::o;6380:143::-;6461:7;6488:11;:18;6500:5;6488:18;;;;;;;;;;;;;;;:27;6507:7;6488:27;;;;;;;;;;;;;;;;6481:34;;6380:143;;;;:::o;394:98::-;447:7;474:10;467:17;;394:98;:::o;7567:335::-;7677:1;7660:19;;:5;:19;;;;7652:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7758:1;7739:21;;:7;:21;;;;7731:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7840:6;7810:11;:18;7822:5;7810:18;;;;;;;;;;;;;;;:27;7829:7;7810:27;;;;;;;;;;;;;;;:36;;;;7878:7;7862:32;;7871:5;7862:32;;;7887:6;7862:32;;;;;;:::i;:::-;;;;;;;;7567:335;;;:::o;7910:1668::-;8014:1;7998:18;;:4;:18;;;;7990:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8091:1;8077:16;;:2;:16;;;;8069:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8161:1;8152:6;:10;8144:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8231:1;8219:9;:13;;;;8255:1;8243:9;:13;;;;8279:7;:5;:7::i;:::-;8271:15;;:4;:15;;;;:32;;;;;8296:7;:5;:7::i;:::-;8290:13;;:2;:13;;;;8271:32;8267:1233;;;8329:4;:10;8334:4;8329:10;;;;;;;;;;;;;;;;;;;;;;;;;8328:11;:24;;;;;8344:4;:8;8349:2;8344:8;;;;;;;;;;;;;;;;;;;;;;;;;8343:9;8328:24;8320:33;;;;;;8400:13;;;;;;;;;;;8392:21;;:4;:21;;;:55;;;;;8431:15;;;;;;;;;;;8417:30;;:2;:30;;;;8392:55;:83;;;;;8453:18;:22;8472:2;8453:22;;;;;;;;;;;;;;;;;;;;;;;;;8451:24;8392:83;:102;;;;;8479:15;;;;;;;;;;;8392:102;8388:452;;;8562:12;;8552:6;:22;;8544:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8657:14;;8647:6;8631:13;8641:2;8631:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8623:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8744:15;8729:8;:12;8738:2;8729:12;;;;;;;;;;;;;;;;:30;8721:39;;;;;;8813:10;8794:15;:30;;;;:::i;:::-;8779:8;:12;8788:2;8779:12;;;;;;;;;;;;;;;:45;;;;8388:452;8899:13;;;;;;;;;;;8893:19;;:2;:19;;;:55;;;;;8932:15;;;;;;;;;;;8916:32;;:4;:32;;;;8893:55;:85;;;;;8954:18;:24;8973:4;8954:24;;;;;;;;;;;;;;;;;;;;;;;;;8952:26;8893:85;8889:171;;;9011:1;8999:9;:13;;;;9043:1;9031:9;:13;;;;8889:171;9074:28;9105:24;9123:4;9105:9;:24::i;:::-;9074:55;;9149:6;;;;;;;;;;;9148:7;:32;;;;;9167:13;;;;;;;;;;;9159:21;;:4;:21;;;;9148:32;:47;;;;;9184:11;;;;;;;;;;;9148:47;9144:345;;;9216:38;9233:20;9216:16;:38::i;:::-;9273:26;9302:21;9273:50;;9366:1;9345:18;:22;9342:105;;;9392:35;9405:21;9392:12;:35::i;:::-;9342:105;9465:8;:6;:8::i;:::-;9197:292;9144:345;8305:1195;8267:1233;9514:30;9529:4;9534:2;9537:6;9514:14;:30::i;:::-;7910:1668;;;:::o;1531:190::-;1617:7;1650:1;1645;:6;;1653:12;1637:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1677:9;1693:1;1689;:5;;;;:::i;:::-;1677:17;;1712:1;1705:8;;;1531:190;;;;;:::o;1729:246::-;1787:7;1816:1;1811;:6;1807:47;;;1841:1;1834:8;;;;1807:47;1864:9;1880:1;1876;:5;;;;:::i;:::-;1864:17;;1909:1;1904;1900;:5;;;;:::i;:::-;:10;1892:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1966:1;1959:8;;;1729:246;;;;;:::o;1983:132::-;2041:7;2068:39;2072:1;2075;2068:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2061:46;;1983:132;;;;:::o;10557:96::-;10614:14;;;;;;;;;;;:23;;:31;10638:6;10614:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10557:96;:::o;7132:254::-;7199:7;7238;;7227;:18;;7219:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7303:19;7326:10;:8;:10::i;:::-;7303:33;;7354:24;7366:11;7354:7;:11;;:24;;;;:::i;:::-;7347:31;;;7132:254;;;:::o;9586:483::-;5263:4;5254:6;;:13;;;;;;;;;;;;;;;;;;9664:21:::1;9702:1;9688:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9664:40;;9733:4;9715;9720:1;9715:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9759:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9749:4;9754:1;9749:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;9792:62;9809:4;9824:15;;;;;;;;;;;9842:11;9792:8;:62::i;:::-;9865:15;;;;;;;;;;;:66;;;9946:11;9972:1;9988:4;10015;10035:15;9865:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9653:416;5299:5:::0;5290:6;;:14;;;;;;;;;;;;;;;;;;9586:483;:::o;7394:88::-;7455:11;;7443:9;;:23;;;;:::i;:::-;7431:9;:35;;;;7394:88::o;11927:146::-;12021:44;12039:6;12047:9;12058:6;12021:17;:44::i;:::-;11927:146;;;:::o;2123:189::-;2209:7;2241:1;2237;:5;2244:12;2229:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2268:9;2284:1;2280;:5;;;;:::i;:::-;2268:17;;2303:1;2296:8;;;2123:189;;;;;:::o;14658:163::-;14699:7;14720:15;14737;14756:19;:17;:19::i;:::-;14719:56;;;;14793:20;14805:7;14793;:11;;:20;;;;:::i;:::-;14786:27;;;;14658:163;:::o;12081:488::-;12180:15;12197:23;12222:12;12236:23;12261:12;12275:13;12292:19;12303:7;12292:10;:19::i;:::-;12179:132;;;;;;;;;;;;12340:28;12360:7;12340;:15;12348:6;12340:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;12322:7;:15;12330:6;12322:15;;;;;;;;;;;;;;;:46;;;;12400:39;12423:15;12400:7;:18;12408:9;12400:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;12379:7;:18;12387:9;12379:18;;;;;;;;;;;;;;;:60;;;;12451:16;12461:5;12451:9;:16::i;:::-;12478:23;12490:4;12496;12478:11;:23::i;:::-;12534:9;12517:44;;12526:6;12517:44;;;12545:15;12517:44;;;;;;:::i;:::-;;;;;;;;12168:401;;;;;;12081:488;;;:::o;14829:262::-;14879:7;14888;14908:15;14926:7;;14908:25;;14944:15;4427:17;14944:25;;15000:20;4427:17;15000:7;;:11;;:20;;;;:::i;:::-;14990:7;:30;14986:61;;;15030:7;;4427:17;15022:25;;;;;;;;14986:61;15066:7;15075;15058:25;;;;;;14829:262;;;:::o;13406:471::-;13465:7;13474;13483;13492;13501;13510;13531:23;13556:12;13570:13;13587:42;13599:7;13608:9;;13619;;13587:11;:42::i;:::-;13530:99;;;;;;13640:19;13663:10;:8;:10::i;:::-;13640:33;;13685:15;13702:23;13727:12;13743:46;13755:7;13764:4;13770:5;13777:11;13743;:46::i;:::-;13684:105;;;;;;13808:7;13817:15;13834:4;13840:15;13857:4;13863:5;13800:69;;;;;;;;;;;;;;;;;;;13406:471;;;;;;;:::o;1387:136::-;1445:7;1472:43;1476:1;1479;1472:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1465:50;;1387:136;;;;:::o;1200:179::-;1258:7;1278:9;1294:1;1290;:5;;;;:::i;:::-;1278:17;;1319:1;1314;:6;;1306:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1370:1;1363:8;;;1200:179;;;;:::o;12577:212::-;12630:19;12653:10;:8;:10::i;:::-;12630:33;;12674:13;12690:22;12700:11;12690:5;:9;;:22;;;;:::i;:::-;12674:38;;12748:33;12775:5;12748:7;:22;12764:4;12748:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;12723:7;:22;12739:4;12723:22;;;;;;;;;;;;;;;:58;;;;12619:170;;12577:212;:::o;12797:147::-;12875:17;12887:4;12875:7;;:11;;:17;;;;:::i;:::-;12865:7;:27;;;;12916:20;12931:4;12916:10;;:14;;:20;;;;:::i;:::-;12903:10;:33;;;;12797:147;;:::o;13885:351::-;13978:7;13987;13996;14016:12;14031:28;14055:3;14031:19;14043:6;14031:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;14016:43;;14070:13;14086:29;14111:3;14086:20;14098:7;14086;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;14070:45;;14126:23;14152:28;14174:5;14152:17;14164:4;14152:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14126:54;;14199:15;14216:4;14222:5;14191:37;;;;;;;;;13885:351;;;;;;;:::o;14244:409::-;14354:7;14363;14372;14392:15;14410:24;14422:11;14410:7;:11;;:24;;;;:::i;:::-;14392:42;;14445:12;14460:21;14469:11;14460:4;:8;;:21;;;;:::i;:::-;14445:36;;14492:13;14508:22;14518:11;14508:5;:9;;:22;;;;:::i;:::-;14492:38;;14541:23;14567:28;14589:5;14567:17;14579:4;14567:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;14541:54;;14614:7;14623:15;14640:4;14606:39;;;;;;;;;;14244:409;;;;;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;897:143::-;954:5;985:6;979:13;970:22;;1001:33;1028:5;1001:33;:::i;:::-;897:143;;;;:::o;1063:370::-;1134:5;1183:3;1176:4;1168:6;1164:17;1160:27;1150:122;;1191:79;;:::i;:::-;1150:122;1308:6;1295:20;1333:94;1423:3;1415:6;1408:4;1400:6;1396:17;1333:94;:::i;:::-;1324:103;;1140:293;1063:370;;;;:::o;1439:133::-;1482:5;1520:6;1507:20;1498:29;;1536:30;1560:5;1536:30;:::i;:::-;1439:133;;;;:::o;1578:137::-;1632:5;1663:6;1657:13;1648:22;;1679:30;1703:5;1679:30;:::i;:::-;1578:137;;;;:::o;1721:139::-;1767:5;1805:6;1792:20;1783:29;;1821:33;1848:5;1821:33;:::i;:::-;1721:139;;;;:::o;1866:143::-;1923:5;1954:6;1948:13;1939:22;;1970:33;1997:5;1970:33;:::i;:::-;1866:143;;;;:::o;2015:135::-;2059:5;2097:6;2084:20;2075:29;;2113:31;2138:5;2113:31;:::i;:::-;2015:135;;;;:::o;2156:329::-;2215:6;2264:2;2252:9;2243:7;2239:23;2235:32;2232:119;;;2270:79;;:::i;:::-;2232:119;2390:1;2415:53;2460:7;2451:6;2440:9;2436:22;2415:53;:::i;:::-;2405:63;;2361:117;2156:329;;;;:::o;2491:351::-;2561:6;2610:2;2598:9;2589:7;2585:23;2581:32;2578:119;;;2616:79;;:::i;:::-;2578:119;2736:1;2761:64;2817:7;2808:6;2797:9;2793:22;2761:64;:::i;:::-;2751:74;;2707:128;2491:351;;;;:::o;2848:474::-;2916:6;2924;2973:2;2961:9;2952:7;2948:23;2944:32;2941:119;;;2979:79;;:::i;:::-;2941:119;3099:1;3124:53;3169:7;3160:6;3149:9;3145:22;3124:53;:::i;:::-;3114:63;;3070:117;3226:2;3252:53;3297:7;3288:6;3277:9;3273:22;3252:53;:::i;:::-;3242:63;;3197:118;2848:474;;;;;:::o;3328:619::-;3405:6;3413;3421;3470:2;3458:9;3449:7;3445:23;3441:32;3438:119;;;3476:79;;:::i;:::-;3438:119;3596:1;3621:53;3666:7;3657:6;3646:9;3642:22;3621:53;:::i;:::-;3611:63;;3567:117;3723:2;3749:53;3794:7;3785:6;3774:9;3770:22;3749:53;:::i;:::-;3739:63;;3694:118;3851:2;3877:53;3922:7;3913:6;3902:9;3898:22;3877:53;:::i;:::-;3867:63;;3822:118;3328:619;;;;;:::o;3953:474::-;4021:6;4029;4078:2;4066:9;4057:7;4053:23;4049:32;4046:119;;;4084:79;;:::i;:::-;4046:119;4204:1;4229:53;4274:7;4265:6;4254:9;4250:22;4229:53;:::i;:::-;4219:63;;4175:117;4331:2;4357:53;4402:7;4393:6;4382:9;4378:22;4357:53;:::i;:::-;4347:63;;4302:118;3953:474;;;;;:::o;4433:539::-;4517:6;4566:2;4554:9;4545:7;4541:23;4537:32;4534:119;;;4572:79;;:::i;:::-;4534:119;4720:1;4709:9;4705:17;4692:31;4750:18;4742:6;4739:30;4736:117;;;4772:79;;:::i;:::-;4736:117;4877:78;4947:7;4938:6;4927:9;4923:22;4877:78;:::i;:::-;4867:88;;4663:302;4433:539;;;;:::o;4978:323::-;5034:6;5083:2;5071:9;5062:7;5058:23;5054:32;5051:119;;;5089:79;;:::i;:::-;5051:119;5209:1;5234:50;5276:7;5267:6;5256:9;5252:22;5234:50;:::i;:::-;5224:60;;5180:114;4978:323;;;;:::o;5307:345::-;5374:6;5423:2;5411:9;5402:7;5398:23;5394:32;5391:119;;;5429:79;;:::i;:::-;5391:119;5549:1;5574:61;5627:7;5618:6;5607:9;5603:22;5574:61;:::i;:::-;5564:71;;5520:125;5307:345;;;;:::o;5658:329::-;5717:6;5766:2;5754:9;5745:7;5741:23;5737:32;5734:119;;;5772:79;;:::i;:::-;5734:119;5892:1;5917:53;5962:7;5953:6;5942:9;5938:22;5917:53;:::i;:::-;5907:63;;5863:117;5658:329;;;;:::o;5993:663::-;6081:6;6089;6097;6146:2;6134:9;6125:7;6121:23;6117:32;6114:119;;;6152:79;;:::i;:::-;6114:119;6272:1;6297:64;6353:7;6344:6;6333:9;6329:22;6297:64;:::i;:::-;6287:74;;6243:128;6410:2;6436:64;6492:7;6483:6;6472:9;6468:22;6436:64;:::i;:::-;6426:74;;6381:129;6549:2;6575:64;6631:7;6622:6;6611:9;6607:22;6575:64;:::i;:::-;6565:74;;6520:129;5993:663;;;;;:::o;6662:325::-;6719:6;6768:2;6756:9;6747:7;6743:23;6739:32;6736:119;;;6774:79;;:::i;:::-;6736:119;6894:1;6919:51;6962:7;6953:6;6942:9;6938:22;6919:51;:::i;:::-;6909:61;;6865:115;6662:325;;;;:::o;6993:179::-;7062:10;7083:46;7125:3;7117:6;7083:46;:::i;:::-;7161:4;7156:3;7152:14;7138:28;;6993:179;;;;:::o;7178:108::-;7255:24;7273:5;7255:24;:::i;:::-;7250:3;7243:37;7178:108;;:::o;7292:118::-;7379:24;7397:5;7379:24;:::i;:::-;7374:3;7367:37;7292:118;;:::o;7446:732::-;7565:3;7594:54;7642:5;7594:54;:::i;:::-;7664:86;7743:6;7738:3;7664:86;:::i;:::-;7657:93;;7774:56;7824:5;7774:56;:::i;:::-;7853:7;7884:1;7869:284;7894:6;7891:1;7888:13;7869:284;;;7970:6;7964:13;7997:63;8056:3;8041:13;7997:63;:::i;:::-;7990:70;;8083:60;8136:6;8083:60;:::i;:::-;8073:70;;7929:224;7916:1;7913;7909:9;7904:14;;7869:284;;;7873:14;8169:3;8162:10;;7570:608;;;7446:732;;;;:::o;8184:109::-;8265:21;8280:5;8265:21;:::i;:::-;8260:3;8253:34;8184:109;;:::o;8299:147::-;8394:45;8433:5;8394:45;:::i;:::-;8389:3;8382:58;8299:147;;:::o;8452:364::-;8540:3;8568:39;8601:5;8568:39;:::i;:::-;8623:71;8687:6;8682:3;8623:71;:::i;:::-;8616:78;;8703:52;8748:6;8743:3;8736:4;8729:5;8725:16;8703:52;:::i;:::-;8780:29;8802:6;8780:29;:::i;:::-;8775:3;8771:39;8764:46;;8544:272;8452:364;;;;:::o;8822:366::-;8964:3;8985:67;9049:2;9044:3;8985:67;:::i;:::-;8978:74;;9061:93;9150:3;9061:93;:::i;:::-;9179:2;9174:3;9170:12;9163:19;;8822:366;;;:::o;9194:::-;9336:3;9357:67;9421:2;9416:3;9357:67;:::i;:::-;9350:74;;9433:93;9522:3;9433:93;:::i;:::-;9551:2;9546:3;9542:12;9535:19;;9194:366;;;:::o;9566:::-;9708:3;9729:67;9793:2;9788:3;9729:67;:::i;:::-;9722:74;;9805:93;9894:3;9805:93;:::i;:::-;9923:2;9918:3;9914:12;9907:19;;9566:366;;;:::o;9938:::-;10080:3;10101:67;10165:2;10160:3;10101:67;:::i;:::-;10094:74;;10177:93;10266:3;10177:93;:::i;:::-;10295:2;10290:3;10286:12;10279:19;;9938:366;;;:::o;10310:::-;10452:3;10473:67;10537:2;10532:3;10473:67;:::i;:::-;10466:74;;10549:93;10638:3;10549:93;:::i;:::-;10667:2;10662:3;10658:12;10651:19;;10310:366;;;:::o;10682:::-;10824:3;10845:67;10909:2;10904:3;10845:67;:::i;:::-;10838:74;;10921:93;11010:3;10921:93;:::i;:::-;11039:2;11034:3;11030:12;11023:19;;10682:366;;;:::o;11054:::-;11196:3;11217:67;11281:2;11276:3;11217:67;:::i;:::-;11210:74;;11293:93;11382:3;11293:93;:::i;:::-;11411:2;11406:3;11402:12;11395:19;;11054:366;;;:::o;11426:::-;11568:3;11589:67;11653:2;11648:3;11589:67;:::i;:::-;11582:74;;11665:93;11754:3;11665:93;:::i;:::-;11783:2;11778:3;11774:12;11767:19;;11426:366;;;:::o;11798:::-;11940:3;11961:67;12025:2;12020:3;11961:67;:::i;:::-;11954:74;;12037:93;12126:3;12037:93;:::i;:::-;12155:2;12150:3;12146:12;12139:19;;11798:366;;;:::o;12170:::-;12312:3;12333:67;12397:2;12392:3;12333:67;:::i;:::-;12326:74;;12409:93;12498:3;12409:93;:::i;:::-;12527:2;12522:3;12518:12;12511:19;;12170:366;;;:::o;12542:::-;12684:3;12705:67;12769:2;12764:3;12705:67;:::i;:::-;12698:74;;12781:93;12870:3;12781:93;:::i;:::-;12899:2;12894:3;12890:12;12883:19;;12542:366;;;:::o;12914:::-;13056:3;13077:67;13141:2;13136:3;13077:67;:::i;:::-;13070:74;;13153:93;13242:3;13153:93;:::i;:::-;13271:2;13266:3;13262:12;13255:19;;12914:366;;;:::o;13286:118::-;13373:24;13391:5;13373:24;:::i;:::-;13368:3;13361:37;13286:118;;:::o;13410:112::-;13493:22;13509:5;13493:22;:::i;:::-;13488:3;13481:35;13410:112;;:::o;13528:222::-;13621:4;13659:2;13648:9;13644:18;13636:26;;13672:71;13740:1;13729:9;13725:17;13716:6;13672:71;:::i;:::-;13528:222;;;;:::o;13756:332::-;13877:4;13915:2;13904:9;13900:18;13892:26;;13928:71;13996:1;13985:9;13981:17;13972:6;13928:71;:::i;:::-;14009:72;14077:2;14066:9;14062:18;14053:6;14009:72;:::i;:::-;13756:332;;;;;:::o;14094:::-;14215:4;14253:2;14242:9;14238:18;14230:26;;14266:71;14334:1;14323:9;14319:17;14310:6;14266:71;:::i;:::-;14347:72;14415:2;14404:9;14400:18;14391:6;14347:72;:::i;:::-;14094:332;;;;;:::o;14432:807::-;14681:4;14719:3;14708:9;14704:19;14696:27;;14733:71;14801:1;14790:9;14786:17;14777:6;14733:71;:::i;:::-;14814:72;14882:2;14871:9;14867:18;14858:6;14814:72;:::i;:::-;14896:80;14972:2;14961:9;14957:18;14948:6;14896:80;:::i;:::-;14986;15062:2;15051:9;15047:18;15038:6;14986:80;:::i;:::-;15076:73;15144:3;15133:9;15129:19;15120:6;15076:73;:::i;:::-;15159;15227:3;15216:9;15212:19;15203:6;15159:73;:::i;:::-;14432:807;;;;;;;;;:::o;15245:210::-;15332:4;15370:2;15359:9;15355:18;15347:26;;15383:65;15445:1;15434:9;15430:17;15421:6;15383:65;:::i;:::-;15245:210;;;;:::o;15461:313::-;15574:4;15612:2;15601:9;15597:18;15589:26;;15661:9;15655:4;15651:20;15647:1;15636:9;15632:17;15625:47;15689:78;15762:4;15753:6;15689:78;:::i;:::-;15681:86;;15461:313;;;;:::o;15780:419::-;15946:4;15984:2;15973:9;15969:18;15961:26;;16033:9;16027:4;16023:20;16019:1;16008:9;16004:17;15997:47;16061:131;16187:4;16061:131;:::i;:::-;16053:139;;15780:419;;;:::o;16205:::-;16371:4;16409:2;16398:9;16394:18;16386:26;;16458:9;16452:4;16448:20;16444:1;16433:9;16429:17;16422:47;16486:131;16612:4;16486:131;:::i;:::-;16478:139;;16205:419;;;:::o;16630:::-;16796:4;16834:2;16823:9;16819:18;16811:26;;16883:9;16877:4;16873:20;16869:1;16858:9;16854:17;16847:47;16911:131;17037:4;16911:131;:::i;:::-;16903:139;;16630:419;;;:::o;17055:::-;17221:4;17259:2;17248:9;17244:18;17236:26;;17308:9;17302:4;17298:20;17294:1;17283:9;17279:17;17272:47;17336:131;17462:4;17336:131;:::i;:::-;17328:139;;17055:419;;;:::o;17480:::-;17646:4;17684:2;17673:9;17669:18;17661:26;;17733:9;17727:4;17723:20;17719:1;17708:9;17704:17;17697:47;17761:131;17887:4;17761:131;:::i;:::-;17753:139;;17480:419;;;:::o;17905:::-;18071:4;18109:2;18098:9;18094:18;18086:26;;18158:9;18152:4;18148:20;18144:1;18133:9;18129:17;18122:47;18186:131;18312:4;18186:131;:::i;:::-;18178:139;;17905:419;;;:::o;18330:::-;18496:4;18534:2;18523:9;18519:18;18511:26;;18583:9;18577:4;18573:20;18569:1;18558:9;18554:17;18547:47;18611:131;18737:4;18611:131;:::i;:::-;18603:139;;18330:419;;;:::o;18755:::-;18921:4;18959:2;18948:9;18944:18;18936:26;;19008:9;19002:4;18998:20;18994:1;18983:9;18979:17;18972:47;19036:131;19162:4;19036:131;:::i;:::-;19028:139;;18755:419;;;:::o;19180:::-;19346:4;19384:2;19373:9;19369:18;19361:26;;19433:9;19427:4;19423:20;19419:1;19408:9;19404:17;19397:47;19461:131;19587:4;19461:131;:::i;:::-;19453:139;;19180:419;;;:::o;19605:::-;19771:4;19809:2;19798:9;19794:18;19786:26;;19858:9;19852:4;19848:20;19844:1;19833:9;19829:17;19822:47;19886:131;20012:4;19886:131;:::i;:::-;19878:139;;19605:419;;;:::o;20030:::-;20196:4;20234:2;20223:9;20219:18;20211:26;;20283:9;20277:4;20273:20;20269:1;20258:9;20254:17;20247:47;20311:131;20437:4;20311:131;:::i;:::-;20303:139;;20030:419;;;:::o;20455:::-;20621:4;20659:2;20648:9;20644:18;20636:26;;20708:9;20702:4;20698:20;20694:1;20683:9;20679:17;20672:47;20736:131;20862:4;20736:131;:::i;:::-;20728:139;;20455:419;;;:::o;20880:222::-;20973:4;21011:2;21000:9;20996:18;20988:26;;21024:71;21092:1;21081:9;21077:17;21068:6;21024:71;:::i;:::-;20880:222;;;;:::o;21108:831::-;21371:4;21409:3;21398:9;21394:19;21386:27;;21423:71;21491:1;21480:9;21476:17;21467:6;21423:71;:::i;:::-;21504:80;21580:2;21569:9;21565:18;21556:6;21504:80;:::i;:::-;21631:9;21625:4;21621:20;21616:2;21605:9;21601:18;21594:48;21659:108;21762:4;21753:6;21659:108;:::i;:::-;21651:116;;21777:72;21845:2;21834:9;21830:18;21821:6;21777:72;:::i;:::-;21859:73;21927:3;21916:9;21912:19;21903:6;21859:73;:::i;:::-;21108:831;;;;;;;;:::o;21945:214::-;22034:4;22072:2;22061:9;22057:18;22049:26;;22085:67;22149:1;22138:9;22134:17;22125:6;22085:67;:::i;:::-;21945:214;;;;:::o;22165:129::-;22199:6;22226:20;;:::i;:::-;22216:30;;22255:33;22283:4;22275:6;22255:33;:::i;:::-;22165:129;;;:::o;22300:75::-;22333:6;22366:2;22360:9;22350:19;;22300:75;:::o;22381:311::-;22458:4;22548:18;22540:6;22537:30;22534:56;;;22570:18;;:::i;:::-;22534:56;22620:4;22612:6;22608:17;22600:25;;22680:4;22674;22670:15;22662:23;;22381:311;;;:::o;22698:132::-;22765:4;22788:3;22780:11;;22818:4;22813:3;22809:14;22801:22;;22698:132;;;:::o;22836:114::-;22903:6;22937:5;22931:12;22921:22;;22836:114;;;:::o;22956:99::-;23008:6;23042:5;23036:12;23026:22;;22956:99;;;:::o;23061:113::-;23131:4;23163;23158:3;23154:14;23146:22;;23061:113;;;:::o;23180:184::-;23279:11;23313:6;23308:3;23301:19;23353:4;23348:3;23344:14;23329:29;;23180:184;;;;:::o;23370:169::-;23454:11;23488:6;23483:3;23476:19;23528:4;23523:3;23519:14;23504:29;;23370:169;;;;:::o;23545:305::-;23585:3;23604:20;23622:1;23604:20;:::i;:::-;23599:25;;23638:20;23656:1;23638:20;:::i;:::-;23633:25;;23792:1;23724:66;23720:74;23717:1;23714:81;23711:107;;;23798:18;;:::i;:::-;23711:107;23842:1;23839;23835:9;23828:16;;23545:305;;;;:::o;23856:185::-;23896:1;23913:20;23931:1;23913:20;:::i;:::-;23908:25;;23947:20;23965:1;23947:20;:::i;:::-;23942:25;;23986:1;23976:35;;23991:18;;:::i;:::-;23976:35;24033:1;24030;24026:9;24021:14;;23856:185;;;;:::o;24047:348::-;24087:7;24110:20;24128:1;24110:20;:::i;:::-;24105:25;;24144:20;24162:1;24144:20;:::i;:::-;24139:25;;24332:1;24264:66;24260:74;24257:1;24254:81;24249:1;24242:9;24235:17;24231:105;24228:131;;;24339:18;;:::i;:::-;24228:131;24387:1;24384;24380:9;24369:20;;24047:348;;;;:::o;24401:191::-;24441:4;24461:20;24479:1;24461:20;:::i;:::-;24456:25;;24495:20;24513:1;24495:20;:::i;:::-;24490:25;;24534:1;24531;24528:8;24525:34;;;24539:18;;:::i;:::-;24525:34;24584:1;24581;24577:9;24569:17;;24401:191;;;;:::o;24598:96::-;24635:7;24664:24;24682:5;24664:24;:::i;:::-;24653:35;;24598:96;;;:::o;24700:90::-;24734:7;24777:5;24770:13;24763:21;24752:32;;24700:90;;;:::o;24796:126::-;24833:7;24873:42;24866:5;24862:54;24851:65;;24796:126;;;:::o;24928:77::-;24965:7;24994:5;24983:16;;24928:77;;;:::o;25011:86::-;25046:7;25086:4;25079:5;25075:16;25064:27;;25011:86;;;:::o;25103:121::-;25161:9;25194:24;25212:5;25194:24;:::i;:::-;25181:37;;25103:121;;;:::o;25230:307::-;25298:1;25308:113;25322:6;25319:1;25316:13;25308:113;;;25407:1;25402:3;25398:11;25392:18;25388:1;25383:3;25379:11;25372:39;25344:2;25341:1;25337:10;25332:15;;25308:113;;;25439:6;25436:1;25433:13;25430:101;;;25519:1;25510:6;25505:3;25501:16;25494:27;25430:101;25279:258;25230:307;;;:::o;25543:281::-;25626:27;25648:4;25626:27;:::i;:::-;25618:6;25614:40;25756:6;25744:10;25741:22;25720:18;25708:10;25705:34;25702:62;25699:88;;;25767:18;;:::i;:::-;25699:88;25807:10;25803:2;25796:22;25586:238;25543:281;;:::o;25830:233::-;25869:3;25892:24;25910:5;25892:24;:::i;:::-;25883:33;;25938:66;25931:5;25928:77;25925:103;;;26008:18;;:::i;:::-;25925:103;26055:1;26048:5;26044:13;26037:20;;25830:233;;;:::o;26069:180::-;26117:77;26114:1;26107:88;26214:4;26211:1;26204:15;26238:4;26235:1;26228:15;26255:180;26303:77;26300:1;26293:88;26400:4;26397:1;26390:15;26424:4;26421:1;26414:15;26441:180;26489:77;26486:1;26479:88;26586:4;26583:1;26576:15;26610:4;26607:1;26600:15;26627:180;26675:77;26672:1;26665:88;26772:4;26769:1;26762:15;26796:4;26793:1;26786:15;26813:117;26922:1;26919;26912:12;26936:117;27045:1;27042;27035:12;27059:117;27168:1;27165;27158:12;27182:117;27291:1;27288;27281:12;27305:102;27346:6;27397:2;27393:7;27388:2;27381:5;27377:14;27373:28;27363:38;;27305:102;;;:::o;27413:222::-;27553:34;27549:1;27541:6;27537:14;27530:58;27622:5;27617:2;27609:6;27605:15;27598:30;27413:222;:::o;27641:175::-;27781:27;27777:1;27769:6;27765:14;27758:51;27641:175;:::o;27822:229::-;27962:34;27958:1;27950:6;27946:14;27939:58;28031:12;28026:2;28018:6;28014:15;28007:37;27822:229;:::o;28057:221::-;28197:34;28193:1;28185:6;28181:14;28174:58;28266:4;28261:2;28253:6;28249:15;28242:29;28057:221;:::o;28284:177::-;28424:29;28420:1;28412:6;28408:14;28401:53;28284:177;:::o;28467:220::-;28607:34;28603:1;28595:6;28591:14;28584:58;28676:3;28671:2;28663:6;28659:15;28652:28;28467:220;:::o;28693:182::-;28833:34;28829:1;28821:6;28817:14;28810:58;28693:182;:::o;28881:228::-;29021:34;29017:1;29009:6;29005:14;28998:58;29090:11;29085:2;29077:6;29073:15;29066:36;28881:228;:::o;29115:224::-;29255:34;29251:1;29243:6;29239:14;29232:58;29324:7;29319:2;29311:6;29307:15;29300:32;29115:224;:::o;29345:176::-;29485:28;29481:1;29473:6;29469:14;29462:52;29345:176;:::o;29527:223::-;29667:34;29663:1;29655:6;29651:14;29644:58;29736:6;29731:2;29723:6;29719:15;29712:31;29527:223;:::o;29756:173::-;29896:25;29892:1;29884:6;29880:14;29873:49;29756:173;:::o;29935:122::-;30008:24;30026:5;30008:24;:::i;:::-;30001:5;29998:35;29988:63;;30047:1;30044;30037:12;29988:63;29935:122;:::o;30063:116::-;30133:21;30148:5;30133:21;:::i;:::-;30126:5;30123:32;30113:60;;30169:1;30166;30159:12;30113:60;30063:116;:::o;30185:122::-;30258:24;30276:5;30258:24;:::i;:::-;30251:5;30248:35;30238:63;;30297:1;30294;30287:12;30238:63;30185:122;:::o;30313:118::-;30384:22;30400:5;30384:22;:::i;:::-;30377:5;30374:33;30364:61;;30421:1;30418;30411:12;30364:61;30313:118;:::o
Swarm Source
ipfs://daebad00165264a80d1680e955f789eec01062c7fc21238439d6282a6b97cd3a
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.