StepD ($STEPD) Token Tracker | BscScan (2024)

StepD ($STEPD) Token Tracker | BscScan (1)

StepD ($STEPD)

Sponsored

MetaMask Manage your web3 everything with MetaMask Portfolio. Try Now!Ready to onboard to BNB Smart Chain? With MetaMask Portfolio, you're in control.

ZeeDex Earn $Zdex with each swap. Swap Now You will earn $Zdex as rewards for any trade or stake on ZeeDex exchange.

NexoJoin the hunt for $12,000,000+ in NEXO Tokens. Get NEXOCollect points for eligible actions and use multipliers to win big.

Sponsored

Sponsored

Сoins.game - 100 free spins for registration. Spin Now! Everyday giveaways up to 8.88BTC, Lucky Spins.Deposit BONUS 300% and Cashbacks!

NanoGames.io Daily Free Spin to win 10 ETH Free SpinStart your new gambling journey with NanoGames and claim free spin and lottery tickets!

Sponsored

BC.GAME The Best BNB Casino with 1,000,000 BNB Daily Bonus. Claim Now5000+ Slots, Live casino games, 50+ cryptos, 100% bet insurance. Register with Bscscan and get 240% first deposit bonus.

BscScan - Sponsored slots available. Book your slot here!

BEP-20

Fitness
  • Check previous token supply
  • Add Token to MetaMask (Web3)
  • Update Token Info
  • Update Name Tag or Label
  • Submit Burn Details
  • Report/Flag Address

Overview

Holders

19,231 (0.00%)

Total Transfers

-

Market

Price

$0.00 @ 0.000000 BNB

Onchain Market Cap

$19,550.40

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 9 Decimals)

0x2582d7afc1bf4496bcb87b6c2a72d24db279dd0e

  • Transfers
  • Holders
  • Info
  • DEX Trades
  • Contract
  • Analytics

Loading...

Loading

Loading...

Loading

Loading...

Loading

OVERVIEW

STEPD is a fantastic project for those who want to strengthen the friendship with their pet and earn money in a meaningful way while walking. It is a Move-To-Earn project that has a close relationship with pets.

Volume (24H):$0.00
Market Capitalization:$0.00
Circulating Supply:0.00 $STEPD
Market Data Source: Coinmarketcap

Update? Click here to update the token ICO / general information

  • Code
  • Read Contract
  • Write Contract

Contract Source Code Verified (Exact Match)

Contract Name:

StepD

Compiler Version

v0.8.4+commit.c7e474f2

Optimization Enabled:

No with 200 runs

Other Settings:

default evmVersion, None license, Audited

Contract Source Code (Solidity)Audit Report

StepD ($STEPD) Token Tracker | BscScan (13)StepD ($STEPD) Token Tracker | BscScan (14)StepD ($STEPD) Token Tracker | BscScan (15)IDE

    interface IERC20 - function totalSupply() - function balanceOf(address account) - function transfer(address recipient, ... - function allowance(address owner, add ... - function approve(address spender, uin ... - function transferFrom(address sender, ... interface Token - function transferFrom(address, addres ... - function transfer(address, uint) interface IUniswapV2Factory - function createPair(address tokenA, a ... interface IUniswapV2Router02 - function swapExactTokensForETHSupport ... - function factory() - function WETH() - function addLiquidityETH( - function _msgSender() library SafeMath - function add(uint256 a, uint256 b) - function sub(uint256 a, uint256 b) - function sub(uint256 a, uint256 b, st ... - function mul(uint256 a, uint256 b) - function div(uint256 a, uint256 b) - function div(uint256 a, uint256 b, st ... contract Ownable is Context - function owner() - function renounceOwnership() - function transferOwnership(address ne ... contract StepD is Context, IERC20, ... * - function name() - function symbol() - function decimals() - function totalSupply() - function balanceOf(address account) - function transfer(address recipient, ... - function allowance(address owner, add ... - function approve(address spender, uin ... - function transferFrom(address sender, ... - function tokenFromReflection(uint256 ... - function _approve(address owner, addr ... - function _transfer(address from, addr ... - function swapTokensForEth(uint256 tok ... - function sendETHToFee(uint256 amount) - function _tokenTransfer(address sende ... - function rescueForeignTokens(address ... - function setNewDevAddress(address pay ... - function setNewMarketingAddress(addre ... - function _transferStandard(address se ... - function _takeTeam(uint256 tTeam) - function _reflectFee(uint256 rFee, ui ... - function _getValues(uint256 tAmount) - function _getTValues(uint256 tAmount, ... - function _getRValues(uint256 tAmount, ... - function _getRate() - function _getCurrentSupply() - function manualswap() - function manualsend() - function setFee(uint256 redisFeeOnBuy ... - function toggleSwap(bool _swapEnabled ... - function excludeMultipleAccountsFromF ...
  • Similar
  • Sol2Uml
  • Submit Audit
  • Compare
/** *Submitted for verification at BscScan.com on 2022-04-05*//**🐶 STEPD is the future of Move to Earn. 🐶🚀 Missed StepN ?? Let STEPD change your life!!! 🚀-----------------------------------------------------📱 Telegram: https://t.me/STEPOFDOGE⚙️ Channel: https://t.me/STEPOFDOGE_CHANNEL🕊 Twitter: https://twitter.com/StepOfDoge🌍 Website: https://stepd.finance/*/// SPDX-License-Identifier: Unlicensedpragma solidity ^0.8.4;interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value);}interface Token { function transferFrom(address, address, uint) external returns (bool); function transfer(address, uint) external returns (bool);}interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair);}interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity);}abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; }}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; constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); function transferOwnership(address newOwner) public virtual onlyOwner { emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; }}contract StepD 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; uint256 private constant MAX = ~uint256(0); uint256 private constant _tTotal = 6000 * 10**6 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _redisFeeOnBuy = 0; uint256 private _taxFeeOnBuy = 3; uint256 private _redisFeeOnSell = 0; uint256 private _taxFeeOnSell = 3; uint256 private _redisFee; uint256 private _taxFee; string private constant _name = "StepD"; string private constant _symbol = "$STEPD"; uint8 private constant _decimals = 9; address payable private _developmentAddress = payable(0x731dDc83EaeB53e6478f1d142C71665ecA1691fA); address payable private _marketingAddress = payable(0x041488C6d7D6BeC1155a555B0a4EAA69dDCbE678); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private inSwap = false; bool private swapEnabled = true; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x10ED43C718714eb63d5aA57B78B54704E256024E); uniswapV2Router = _uniswapV2Router; uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_developmentAddress] = true; _isExcludedFromFee[_marketingAddress] = true; emit Transfer(address(0x0000000000000000000000000000000000000000), _msgSender(), _tTotal); } modifier onlyDev() { require(owner() == _msgSender() || _developmentAddress == _msgSender(), "Caller is not the dev"); _; } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); _redisFee = 0; _taxFee = 0; if (from != owner() && to != owner()) { uint256 contractTokenBalance = balanceOf(address(this)); if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance > 0) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } if(from == uniswapV2Pair && to != address(uniswapV2Router)) { _redisFee = _redisFeeOnBuy; _taxFee = _taxFeeOnBuy; } if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _redisFee = _redisFeeOnSell; _taxFee = _taxFeeOnSell; } if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { _redisFee = 0; _taxFee = 0; } } _tokenTransfer(from,to,amount); } 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 sendETHToFee(uint256 amount) private { _developmentAddress.transfer(amount.div(2)); _marketingAddress.transfer(amount.div(2)); } function _tokenTransfer(address sender, address recipient, uint256 amount) private { _transferStandard(sender, recipient, amount); } event tokensRescued(address indexed token, address indexed to, uint amount); function rescueForeignTokens(address _tokenAddr, address _to, uint _amount) public onlyDev() { emit tokensRescued(_tokenAddr, _to, _amount); Token(_tokenAddr).transfer(_to, _amount); } event devAddressUpdated(address indexed previous, address indexed adr); function setNewDevAddress(address payable dev) public onlyDev() { emit devAddressUpdated(_developmentAddress, dev); _developmentAddress = dev; _isExcludedFromFee[_developmentAddress] = true; } event marketingAddressUpdated(address indexed previous, address indexed adr); function setNewMarketingAddress(address payable markt) public onlyDev() { emit marketingAddressUpdated(_marketingAddress, markt); _marketingAddress = markt; _isExcludedFromFee[_marketingAddress] = true; } 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 _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _redisFee, _taxFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam); } function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) { uint256 tFee = tAmount.mul(taxFee).div(100); uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam); return (tTransferAmount, tFee, tTeam); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam); return (rAmount, rTransferAmount, rFee); }function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function manualswap() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress || _msgSender() == owner()); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress || _msgSender() == owner()); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyDev { require(redisFeeOnBuy < 11, "Redis cannot be more than 10."); require(redisFeeOnSell < 11, "Redis cannot be more than 10."); require(taxFeeOnBuy < 7, "Tax cannot be more than 6."); require(taxFeeOnSell < 7, "Tax cannot be more than 6."); _redisFeeOnBuy = redisFeeOnBuy; _redisFeeOnSell = redisFeeOnSell; _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } function toggleSwap(bool _swapEnabled) public onlyDev { swapEnabled = _swapEnabled; } function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } }}

Contract Security Audit

Contract ABI

  • JSON Format
  • RAW/Text Format
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previous","type":"address"},{"indexed":true,"internalType":"address","name":"adr","type":"address"}],"name":"devAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previous","type":"address"},{"indexed":true,"internalType":"address","name":"adr","type":"address"}],"name":"marketingAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"tokensRescued","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueForeignTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"dev","type":"address"}],"name":"setNewDevAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"markt","type":"address"}],"name":"setNewMarketingAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

Contract Creation Code

Decompile Bytecode Switch to Opcodes View

60806040526753444835ec5800006000196200001c9190620007f6565b6000196200002b91906200077d565b600655600060085560036009556000600a556003600b5573731ddc83eaeb53e6478f1d142c71665eca1691fa600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073041488c6d7d6bec1155a555b0a4eaa69ddcbe678600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601160146101000a81548160ff0219169083151502179055506001601160156101000a81548160ff0219169083151502179055503480156200012f57600080fd5b506000620001426200069d60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460026000620001f76200069d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060007310ed43c718714eb63d5aa57b78b54704e256024e905080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002d657600080fd5b505afa158015620002eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003119190620006e5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200037457600080fd5b505afa15801562000389573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003af9190620006e5565b6040518363ffffffff1660e01b8152600401620003ce92919062000733565b602060405180830381600087803b158015620003e957600080fd5b505af1158015620003fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004249190620006e5565b601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560006200047a620006a560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006276200069d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6753444835ec5800006040516200068e919062000760565b60405180910390a350620008a6565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620006df816200088c565b92915050565b600060208284031215620006f857600080fd5b60006200070884828501620006ce565b91505092915050565b6200071c81620007b8565b82525050565b6200072d81620007ec565b82525050565b60006040820190506200074a600083018562000711565b62000759602083018462000711565b9392505050565b600060208201905062000777600083018462000722565b92915050565b60006200078a82620007ec565b91506200079783620007ec565b925082821015620007ad57620007ac6200082e565b5b828203905092915050565b6000620007c582620007cc565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200080382620007ec565b91506200081083620007ec565b9250826200082357620008226200085d565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6200089781620007b8565b8114620008a357600080fd5b50565b61391380620008b66000396000f3fe6080604052600436106101395760003560e01c8063758dbe03116100ab578063aad5c0231161006f578063aad5c0231461040f578063c3c8cd8014610438578063c492f0461461044f578063dd62ed3e14610478578063e293d316146104b5578063f2fde38b146104de57610140565b8063758dbe031461032a5780638da5cb5b1461035357806395d89b411461037e578063a2a957bb146103a9578063a9059cbb146103d257610140565b8063313ce567116100fd578063313ce5671461024057806349bd5a5e1461026b5780636d8aa8f8146102965780636fc3eaec146102bf57806370a08231146102d6578063715018a61461031357610140565b806306fdde0314610145578063095ea7b3146101705780631694505e146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a610507565b604051610167919061303f565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612bc0565b610544565b6040516101a49190613009565b60405180910390f35b3480156101b957600080fd5b506101c2610562565b6040516101cf9190613024565b60405180910390f35b3480156101e457600080fd5b506101ed610588565b6040516101fa91906131e1565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190612b71565b610598565b6040516102379190613009565b60405180910390f35b34801561024c57600080fd5b50610255610671565b6040516102629190613256565b60405180910390f35b34801561027757600080fd5b5061028061067a565b60405161028d9190612fc5565b60405180910390f35b3480156102a257600080fd5b506102bd60048036038101906102b89190612c54565b6106a0565b005b3480156102cb57600080fd5b506102d4610798565b005b3480156102e257600080fd5b506102fd60048036038101906102f89190612aba565b6108ad565b60405161030a91906131e1565b60405180910390f35b34801561031f57600080fd5b506103286108fe565b005b34801561033657600080fd5b50610351600480360381019061034c9190612b0c565b610a51565b005b34801561035f57600080fd5b50610368610c66565b6040516103759190612fc5565b60405180910390f35b34801561038a57600080fd5b50610393610c8f565b6040516103a0919061303f565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb9190612ca6565b610ccc565b005b3480156103de57600080fd5b506103f960048036038101906103f49190612bc0565b610ed5565b6040516104069190613009565b60405180910390f35b34801561041b57600080fd5b5061043660048036038101906104319190612b0c565b610ef3565b005b34801561044457600080fd5b5061044d611108565b005b34801561045b57600080fd5b5061047660048036038101906104719190612bfc565b611225565b005b34801561048457600080fd5b5061049f600480360381019061049a9190612b35565b611385565b6040516104ac91906131e1565b60405180910390f35b3480156104c157600080fd5b506104dc60048036038101906104d79190612b71565b61140c565b005b3480156104ea57600080fd5b5061050560048036038101906105009190612aba565b6115df565b005b60606040518060400160405280600581526020017f5374657044000000000000000000000000000000000000000000000000000000815250905090565b6000610558610551611731565b8484611739565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006753444835ec580000905090565b60006105a5848484611904565b610666846105b1611731565b610661856040518060600160405280602881526020016138b660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610617611731565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e789092919063ffffffff16565b611739565b600190509392505050565b60006009905090565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6106a8611731565b73ffffffffffffffffffffffffffffffffffffffff166106c6610c66565b73ffffffffffffffffffffffffffffffffffffffff16148061073c57506106eb611731565b73ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61077b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077290613121565b60405180910390fd5b80601160156101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107d9611731565b73ffffffffffffffffffffffffffffffffffffffff16148061084f5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610837611731565b73ffffffffffffffffffffffffffffffffffffffff16145b80610893575061085d610c66565b73ffffffffffffffffffffffffffffffffffffffff1661087b611731565b73ffffffffffffffffffffffffffffffffffffffff16145b61089c57600080fd5b60004790506108aa81611edc565b50565b60006108f7600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fd7565b9050919050565b610906611731565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098a90613081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a59611731565b73ffffffffffffffffffffffffffffffffffffffff16610a77610c66565b73ffffffffffffffffffffffffffffffffffffffff161480610aed5750610a9c611731565b73ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2390613121565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa64373a629bc0c09eacf8a9cc2c7b070fa0a8b7e2e9b8aaee408a3c02eb1676b60405160405180910390a380600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f2453544550440000000000000000000000000000000000000000000000000000815250905090565b610cd4611731565b73ffffffffffffffffffffffffffffffffffffffff16610cf2610c66565b73ffffffffffffffffffffffffffffffffffffffff161480610d685750610d17611731565b73ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610da7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9e90613121565b60405180910390fd5b600b8410610dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de1906131c1565b60405180910390fd5b600b8310610e2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e24906131c1565b60405180910390fd5b60078210610e70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6790613181565b60405180910390fd5b60078110610eb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eaa90613181565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b6000610ee9610ee2611731565b8484611904565b6001905092915050565b610efb611731565b73ffffffffffffffffffffffffffffffffffffffff16610f19610c66565b73ffffffffffffffffffffffffffffffffffffffff161480610f8f5750610f3e611731565b73ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc590613121565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ffbbc329437e8c79f847e170730ad6dd04106b7511cad70d06d635886d92de83c60405160405180910390a380600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611149611731565b73ffffffffffffffffffffffffffffffffffffffff1614806111bf5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111a7611731565b73ffffffffffffffffffffffffffffffffffffffff16145b8061120357506111cd610c66565b73ffffffffffffffffffffffffffffffffffffffff166111eb611731565b73ffffffffffffffffffffffffffffffffffffffff16145b61120c57600080fd5b6000611217306108ad565b905061122281612045565b50565b61122d611731565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b190613081565b60405180910390fd5b60005b8383905081101561137f578160056000868685818110611306577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201602081019061131b9190612aba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611377906134ab565b9150506112bd565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611414611731565b73ffffffffffffffffffffffffffffffffffffffff16611432610c66565b73ffffffffffffffffffffffffffffffffffffffff1614806114a85750611457611731565b73ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6114e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114de90613121565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f47c33aa230eb5fd181505aa7befeaddd9b8a6f983989cea73a7868448c3a9ed98360405161154491906131e1565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401611587929190612fe0565b602060405180830381600087803b1580156115a157600080fd5b505af11580156115b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d99190612c7d565b50505050565b6115e7611731565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166b90613081565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156117a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a0906131a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611819576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611810906130c1565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118f791906131e1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611974576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196b90613161565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119db90613061565b60405180910390fd5b60008111611a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1e90613141565b60405180910390fd5b6000600c819055506000600d81905550611a3f610c66565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611aad5750611a7d610c66565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611e68576000611abd306108ad565b9050601160149054906101000a900460ff16158015611b2a5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611b425750601160159054906101000a900460ff165b8015611b4e5750600081115b15611b7657611b5c81612045565b60004790506000811115611b7457611b7347611edc565b5b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c215750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c3957600854600c81905550600954600d819055505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ce45750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611cfc57600a54600c81905550600b54600d819055505b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d9d5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611e505750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611e4f5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611e66576000600c819055506000600d819055505b505b611e7383838361233f565b505050565b6000838311158290611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7919061303f565b60405180910390fd5b5060008385611ecf91906133a7565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f2c60028461234f90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f57573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611fa860028461234f90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611fd3573d6000803e3d6000fd5b5050565b600060065482111561201e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612015906130a1565b60405180910390fd5b6000612028612399565b905061203d818461234f90919063ffffffff16565b915050919050565b6001601160146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156120a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156120d15781602001602082028036833780820191505090505b509050308160008151811061210f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121b157600080fd5b505afa1580156121c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e99190612ae3565b81600181518110612223577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061228a30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611739565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122ee9594939291906131fc565b600060405180830381600087803b15801561230857600080fd5b505af115801561231c573d6000803e3d6000fd5b50505050506000601160146101000a81548160ff02191690831515021790555050565b61234a8383836123c4565b505050565b600061239183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061258f565b905092915050565b60008060006123a66125f2565b915091506123bd818361234f90919063ffffffff16565b9250505090565b6000806000806000806123d687612651565b95509550955095509550955061243486600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126b990919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124c985600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270390919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061251581612761565b61251f848361281e565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161257c91906131e1565b60405180910390a3505050505050505050565b600080831182906125d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125cd919061303f565b60405180910390fd5b50600083856125e5919061331c565b9050809150509392505050565b6000806000600654905060006753444835ec58000090506126266753444835ec58000060065461234f90919063ffffffff16565b821015612644576006546753444835ec58000093509350505061264d565b81819350935050505b9091565b600080600080600080600080600061266e8a600c54600d54612858565b925092509250600061267e612399565b905060008060006126918e8787876128ee565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006126fb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e78565b905092915050565b600080828461271291906132c6565b905083811015612757576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274e906130e1565b60405180910390fd5b8091505092915050565b600061276b612399565b90506000612782828461297790919063ffffffff16565b90506127d681600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270390919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612833826006546126b990919063ffffffff16565b60068190555061284e8160075461270390919063ffffffff16565b6007819055505050565b6000806000806128846064612876888a61297790919063ffffffff16565b61234f90919063ffffffff16565b905060006128ae60646128a0888b61297790919063ffffffff16565b61234f90919063ffffffff16565b905060006128d7826128c9858c6126b990919063ffffffff16565b6126b990919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612907858961297790919063ffffffff16565b9050600061291e868961297790919063ffffffff16565b90506000612935878961297790919063ffffffff16565b9050600061295e8261295085876126b990919063ffffffff16565b6126b990919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561298a57600090506129ec565b60008284612998919061334d565b90508284826129a7919061331c565b146129e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129de90613101565b60405180910390fd5b809150505b92915050565b600081359050612a0181613859565b92915050565b600081519050612a1681613859565b92915050565b600081359050612a2b81613870565b92915050565b60008083601f840112612a4357600080fd5b8235905067ffffffffffffffff811115612a5c57600080fd5b602083019150836020820283011115612a7457600080fd5b9250929050565b600081359050612a8a81613887565b92915050565b600081519050612a9f81613887565b92915050565b600081359050612ab48161389e565b92915050565b600060208284031215612acc57600080fd5b6000612ada848285016129f2565b91505092915050565b600060208284031215612af557600080fd5b6000612b0384828501612a07565b91505092915050565b600060208284031215612b1e57600080fd5b6000612b2c84828501612a1c565b91505092915050565b60008060408385031215612b4857600080fd5b6000612b56858286016129f2565b9250506020612b67858286016129f2565b9150509250929050565b600080600060608486031215612b8657600080fd5b6000612b94868287016129f2565b9350506020612ba5868287016129f2565b9250506040612bb686828701612aa5565b9150509250925092565b60008060408385031215612bd357600080fd5b6000612be1858286016129f2565b9250506020612bf285828601612aa5565b9150509250929050565b600080600060408486031215612c1157600080fd5b600084013567ffffffffffffffff811115612c2b57600080fd5b612c3786828701612a31565b93509350506020612c4a86828701612a7b565b9150509250925092565b600060208284031215612c6657600080fd5b6000612c7484828501612a7b565b91505092915050565b600060208284031215612c8f57600080fd5b6000612c9d84828501612a90565b91505092915050565b60008060008060808587031215612cbc57600080fd5b6000612cca87828801612aa5565b9450506020612cdb87828801612aa5565b9350506040612cec87828801612aa5565b9250506060612cfd87828801612aa5565b91505092959194509250565b6000612d158383612d21565b60208301905092915050565b612d2a816133db565b82525050565b612d39816133db565b82525050565b6000612d4a82613281565b612d5481856132a4565b9350612d5f83613271565b8060005b83811015612d90578151612d778882612d09565b9750612d8283613297565b925050600181019050612d63565b5085935050505092915050565b612da6816133ff565b82525050565b612db581613442565b82525050565b612dc481613466565b82525050565b6000612dd58261328c565b612ddf81856132b5565b9350612def818560208601613478565b612df881613552565b840191505092915050565b6000612e106023836132b5565b9150612e1b82613563565b604082019050919050565b6000612e336017836132b5565b9150612e3e826135b2565b602082019050919050565b6000612e56602a836132b5565b9150612e61826135db565b604082019050919050565b6000612e796022836132b5565b9150612e848261362a565b604082019050919050565b6000612e9c601b836132b5565b9150612ea782613679565b602082019050919050565b6000612ebf6021836132b5565b9150612eca826136a2565b604082019050919050565b6000612ee26015836132b5565b9150612eed826136f1565b602082019050919050565b6000612f056029836132b5565b9150612f108261371a565b604082019050919050565b6000612f286025836132b5565b9150612f3382613769565b604082019050919050565b6000612f4b601a836132b5565b9150612f56826137b8565b602082019050919050565b6000612f6e6024836132b5565b9150612f79826137e1565b604082019050919050565b6000612f91601d836132b5565b9150612f9c82613830565b602082019050919050565b612fb08161342b565b82525050565b612fbf81613435565b82525050565b6000602082019050612fda6000830184612d30565b92915050565b6000604082019050612ff56000830185612d30565b6130026020830184612fa7565b9392505050565b600060208201905061301e6000830184612d9d565b92915050565b60006020820190506130396000830184612dac565b92915050565b600060208201905081810360008301526130598184612dca565b905092915050565b6000602082019050818103600083015261307a81612e03565b9050919050565b6000602082019050818103600083015261309a81612e26565b9050919050565b600060208201905081810360008301526130ba81612e49565b9050919050565b600060208201905081810360008301526130da81612e6c565b9050919050565b600060208201905081810360008301526130fa81612e8f565b9050919050565b6000602082019050818103600083015261311a81612eb2565b9050919050565b6000602082019050818103600083015261313a81612ed5565b9050919050565b6000602082019050818103600083015261315a81612ef8565b9050919050565b6000602082019050818103600083015261317a81612f1b565b9050919050565b6000602082019050818103600083015261319a81612f3e565b9050919050565b600060208201905081810360008301526131ba81612f61565b9050919050565b600060208201905081810360008301526131da81612f84565b9050919050565b60006020820190506131f66000830184612fa7565b92915050565b600060a0820190506132116000830188612fa7565b61321e6020830187612dbb565b81810360408301526132308186612d3f565b905061323f6060830185612d30565b61324c6080830184612fa7565b9695505050505050565b600060208201905061326b6000830184612fb6565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006132d18261342b565b91506132dc8361342b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613311576133106134f4565b5b828201905092915050565b60006133278261342b565b91506133328361342b565b92508261334257613341613523565b5b828204905092915050565b60006133588261342b565b91506133638361342b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561339c5761339b6134f4565b5b828202905092915050565b60006133b28261342b565b91506133bd8361342b565b9250828210156133d0576133cf6134f4565b5b828203905092915050565b60006133e68261340b565b9050919050565b60006133f88261340b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061344d82613454565b9050919050565b600061345f8261340b565b9050919050565b60006134718261342b565b9050919050565b60005b8381101561349657808201518184015260208101905061347b565b838111156134a5576000848401525b50505050565b60006134b68261342b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156134e9576134e86134f4565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f43616c6c6572206973206e6f7420746865206465760000000000000000000000600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f5461782063616e6e6f74206265206d6f7265207468616e20362e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f52656469732063616e6e6f74206265206d6f7265207468616e2031302e000000600082015250565b613862816133db565b811461386d57600080fd5b50565b613879816133ed565b811461388457600080fd5b50565b613890816133ff565b811461389b57600080fd5b50565b6138a78161342b565b81146138b257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220119bb1ea6763e1ee27e1970ff0ba807cd2ca8dec2b32b26ca64c2494cb4e79e464736f6c63430008040033


Deployed Bytecode

0x6080604052600436106101395760003560e01c8063758dbe03116100ab578063aad5c0231161006f578063aad5c0231461040f578063c3c8cd8014610438578063c492f0461461044f578063dd62ed3e14610478578063e293d316146104b5578063f2fde38b146104de57610140565b8063758dbe031461032a5780638da5cb5b1461035357806395d89b411461037e578063a2a957bb146103a9578063a9059cbb146103d257610140565b8063313ce567116100fd578063313ce5671461024057806349bd5a5e1461026b5780636d8aa8f8146102965780636fc3eaec146102bf57806370a08231146102d6578063715018a61461031357610140565b806306fdde0314610145578063095ea7b3146101705780631694505e146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a610507565b604051610167919061303f565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612bc0565b610544565b6040516101a49190613009565b60405180910390f35b3480156101b957600080fd5b506101c2610562565b6040516101cf9190613024565b60405180910390f35b3480156101e457600080fd5b506101ed610588565b6040516101fa91906131e1565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190612b71565b610598565b6040516102379190613009565b60405180910390f35b34801561024c57600080fd5b50610255610671565b6040516102629190613256565b60405180910390f35b34801561027757600080fd5b5061028061067a565b60405161028d9190612fc5565b60405180910390f35b3480156102a257600080fd5b506102bd60048036038101906102b89190612c54565b6106a0565b005b3480156102cb57600080fd5b506102d4610798565b005b3480156102e257600080fd5b506102fd60048036038101906102f89190612aba565b6108ad565b60405161030a91906131e1565b60405180910390f35b34801561031f57600080fd5b506103286108fe565b005b34801561033657600080fd5b50610351600480360381019061034c9190612b0c565b610a51565b005b34801561035f57600080fd5b50610368610c66565b6040516103759190612fc5565b60405180910390f35b34801561038a57600080fd5b50610393610c8f565b6040516103a0919061303f565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb9190612ca6565b610ccc565b005b3480156103de57600080fd5b506103f960048036038101906103f49190612bc0565b610ed5565b6040516104069190613009565b60405180910390f35b34801561041b57600080fd5b5061043660048036038101906104319190612b0c565b610ef3565b005b34801561044457600080fd5b5061044d611108565b005b34801561045b57600080fd5b5061047660048036038101906104719190612bfc565b611225565b005b34801561048457600080fd5b5061049f600480360381019061049a9190612b35565b611385565b6040516104ac91906131e1565b60405180910390f35b3480156104c157600080fd5b506104dc60048036038101906104d79190612b71565b61140c565b005b3480156104ea57600080fd5b5061050560048036038101906105009190612aba565b6115df565b005b60606040518060400160405280600581526020017f5374657044000000000000000000000000000000000000000000000000000000815250905090565b6000610558610551611731565b8484611739565b6001905092915050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006753444835ec580000905090565b60006105a5848484611904565b610666846105b1611731565b610661856040518060600160405280602881526020016138b660289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610617611731565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e789092919063ffffffff16565b611739565b600190509392505050565b60006009905090565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6106a8611731565b73ffffffffffffffffffffffffffffffffffffffff166106c6610c66565b73ffffffffffffffffffffffffffffffffffffffff16148061073c57506106eb611731565b73ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b61077b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077290613121565b60405180910390fd5b80601160156101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107d9611731565b73ffffffffffffffffffffffffffffffffffffffff16148061084f5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610837611731565b73ffffffffffffffffffffffffffffffffffffffff16145b80610893575061085d610c66565b73ffffffffffffffffffffffffffffffffffffffff1661087b611731565b73ffffffffffffffffffffffffffffffffffffffff16145b61089c57600080fd5b60004790506108aa81611edc565b50565b60006108f7600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611fd7565b9050919050565b610906611731565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098a90613081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a59611731565b73ffffffffffffffffffffffffffffffffffffffff16610a77610c66565b73ffffffffffffffffffffffffffffffffffffffff161480610aed5750610a9c611731565b73ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2390613121565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa64373a629bc0c09eacf8a9cc2c7b070fa0a8b7e2e9b8aaee408a3c02eb1676b60405160405180910390a380600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600681526020017f2453544550440000000000000000000000000000000000000000000000000000815250905090565b610cd4611731565b73ffffffffffffffffffffffffffffffffffffffff16610cf2610c66565b73ffffffffffffffffffffffffffffffffffffffff161480610d685750610d17611731565b73ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610da7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9e90613121565b60405180910390fd5b600b8410610dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de1906131c1565b60405180910390fd5b600b8310610e2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e24906131c1565b60405180910390fd5b60078210610e70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6790613181565b60405180910390fd5b60078110610eb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eaa90613181565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b6000610ee9610ee2611731565b8484611904565b6001905092915050565b610efb611731565b73ffffffffffffffffffffffffffffffffffffffff16610f19610c66565b73ffffffffffffffffffffffffffffffffffffffff161480610f8f5750610f3e611731565b73ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b610fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc590613121565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ffbbc329437e8c79f847e170730ad6dd04106b7511cad70d06d635886d92de83c60405160405180910390a380600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611149611731565b73ffffffffffffffffffffffffffffffffffffffff1614806111bf5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111a7611731565b73ffffffffffffffffffffffffffffffffffffffff16145b8061120357506111cd610c66565b73ffffffffffffffffffffffffffffffffffffffff166111eb611731565b73ffffffffffffffffffffffffffffffffffffffff16145b61120c57600080fd5b6000611217306108ad565b905061122281612045565b50565b61122d611731565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b190613081565b60405180910390fd5b60005b8383905081101561137f578160056000868685818110611306577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201602081019061131b9190612aba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611377906134ab565b9150506112bd565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611414611731565b73ffffffffffffffffffffffffffffffffffffffff16611432610c66565b73ffffffffffffffffffffffffffffffffffffffff1614806114a85750611457611731565b73ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6114e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114de90613121565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f47c33aa230eb5fd181505aa7befeaddd9b8a6f983989cea73a7868448c3a9ed98360405161154491906131e1565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401611587929190612fe0565b602060405180830381600087803b1580156115a157600080fd5b505af11580156115b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d99190612c7d565b50505050565b6115e7611731565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166b90613081565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156117a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a0906131a1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611819576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611810906130c1565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118f791906131e1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611974576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196b90613161565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119db90613061565b60405180910390fd5b60008111611a27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1e90613141565b60405180910390fd5b6000600c819055506000600d81905550611a3f610c66565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611aad5750611a7d610c66565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611e68576000611abd306108ad565b9050601160149054906101000a900460ff16158015611b2a5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611b425750601160159054906101000a900460ff165b8015611b4e5750600081115b15611b7657611b5c81612045565b60004790506000811115611b7457611b7347611edc565b5b505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c215750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c3957600854600c81905550600954600d819055505b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611ce45750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611cfc57600a54600c81905550600b54600d819055505b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d9d5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611e505750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611e4f5750601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611e66576000600c819055506000600d819055505b505b611e7383838361233f565b505050565b6000838311158290611ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb7919061303f565b60405180910390fd5b5060008385611ecf91906133a7565b9050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611f2c60028461234f90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f57573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611fa860028461234f90919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611fd3573d6000803e3d6000fd5b5050565b600060065482111561201e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612015906130a1565b60405180910390fd5b6000612028612399565b905061203d818461234f90919063ffffffff16565b915050919050565b6001601160146101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156120a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156120d15781602001602082028036833780820191505090505b509050308160008151811061210f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121b157600080fd5b505afa1580156121c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e99190612ae3565b81600181518110612223577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061228a30601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611739565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122ee9594939291906131fc565b600060405180830381600087803b15801561230857600080fd5b505af115801561231c573d6000803e3d6000fd5b50505050506000601160146101000a81548160ff02191690831515021790555050565b61234a8383836123c4565b505050565b600061239183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061258f565b905092915050565b60008060006123a66125f2565b915091506123bd818361234f90919063ffffffff16565b9250505090565b6000806000806000806123d687612651565b95509550955095509550955061243486600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126b990919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124c985600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270390919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061251581612761565b61251f848361281e565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161257c91906131e1565b60405180910390a3505050505050505050565b600080831182906125d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125cd919061303f565b60405180910390fd5b50600083856125e5919061331c565b9050809150509392505050565b6000806000600654905060006753444835ec58000090506126266753444835ec58000060065461234f90919063ffffffff16565b821015612644576006546753444835ec58000093509350505061264d565b81819350935050505b9091565b600080600080600080600080600061266e8a600c54600d54612858565b925092509250600061267e612399565b905060008060006126918e8787876128ee565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006126fb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e78565b905092915050565b600080828461271291906132c6565b905083811015612757576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274e906130e1565b60405180910390fd5b8091505092915050565b600061276b612399565b90506000612782828461297790919063ffffffff16565b90506127d681600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461270390919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612833826006546126b990919063ffffffff16565b60068190555061284e8160075461270390919063ffffffff16565b6007819055505050565b6000806000806128846064612876888a61297790919063ffffffff16565b61234f90919063ffffffff16565b905060006128ae60646128a0888b61297790919063ffffffff16565b61234f90919063ffffffff16565b905060006128d7826128c9858c6126b990919063ffffffff16565b6126b990919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612907858961297790919063ffffffff16565b9050600061291e868961297790919063ffffffff16565b90506000612935878961297790919063ffffffff16565b9050600061295e8261295085876126b990919063ffffffff16565b6126b990919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083141561298a57600090506129ec565b60008284612998919061334d565b90508284826129a7919061331c565b146129e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129de90613101565b60405180910390fd5b809150505b92915050565b600081359050612a0181613859565b92915050565b600081519050612a1681613859565b92915050565b600081359050612a2b81613870565b92915050565b60008083601f840112612a4357600080fd5b8235905067ffffffffffffffff811115612a5c57600080fd5b602083019150836020820283011115612a7457600080fd5b9250929050565b600081359050612a8a81613887565b92915050565b600081519050612a9f81613887565b92915050565b600081359050612ab48161389e565b92915050565b600060208284031215612acc57600080fd5b6000612ada848285016129f2565b91505092915050565b600060208284031215612af557600080fd5b6000612b0384828501612a07565b91505092915050565b600060208284031215612b1e57600080fd5b6000612b2c84828501612a1c565b91505092915050565b60008060408385031215612b4857600080fd5b6000612b56858286016129f2565b9250506020612b67858286016129f2565b9150509250929050565b600080600060608486031215612b8657600080fd5b6000612b94868287016129f2565b9350506020612ba5868287016129f2565b9250506040612bb686828701612aa5565b9150509250925092565b60008060408385031215612bd357600080fd5b6000612be1858286016129f2565b9250506020612bf285828601612aa5565b9150509250929050565b600080600060408486031215612c1157600080fd5b600084013567ffffffffffffffff811115612c2b57600080fd5b612c3786828701612a31565b93509350506020612c4a86828701612a7b565b9150509250925092565b600060208284031215612c6657600080fd5b6000612c7484828501612a7b565b91505092915050565b600060208284031215612c8f57600080fd5b6000612c9d84828501612a90565b91505092915050565b60008060008060808587031215612cbc57600080fd5b6000612cca87828801612aa5565b9450506020612cdb87828801612aa5565b9350506040612cec87828801612aa5565b9250506060612cfd87828801612aa5565b91505092959194509250565b6000612d158383612d21565b60208301905092915050565b612d2a816133db565b82525050565b612d39816133db565b82525050565b6000612d4a82613281565b612d5481856132a4565b9350612d5f83613271565b8060005b83811015612d90578151612d778882612d09565b9750612d8283613297565b925050600181019050612d63565b5085935050505092915050565b612da6816133ff565b82525050565b612db581613442565b82525050565b612dc481613466565b82525050565b6000612dd58261328c565b612ddf81856132b5565b9350612def818560208601613478565b612df881613552565b840191505092915050565b6000612e106023836132b5565b9150612e1b82613563565b604082019050919050565b6000612e336017836132b5565b9150612e3e826135b2565b602082019050919050565b6000612e56602a836132b5565b9150612e61826135db565b604082019050919050565b6000612e796022836132b5565b9150612e848261362a565b604082019050919050565b6000612e9c601b836132b5565b9150612ea782613679565b602082019050919050565b6000612ebf6021836132b5565b9150612eca826136a2565b604082019050919050565b6000612ee26015836132b5565b9150612eed826136f1565b602082019050919050565b6000612f056029836132b5565b9150612f108261371a565b604082019050919050565b6000612f286025836132b5565b9150612f3382613769565b604082019050919050565b6000612f4b601a836132b5565b9150612f56826137b8565b602082019050919050565b6000612f6e6024836132b5565b9150612f79826137e1565b604082019050919050565b6000612f91601d836132b5565b9150612f9c82613830565b602082019050919050565b612fb08161342b565b82525050565b612fbf81613435565b82525050565b6000602082019050612fda6000830184612d30565b92915050565b6000604082019050612ff56000830185612d30565b6130026020830184612fa7565b9392505050565b600060208201905061301e6000830184612d9d565b92915050565b60006020820190506130396000830184612dac565b92915050565b600060208201905081810360008301526130598184612dca565b905092915050565b6000602082019050818103600083015261307a81612e03565b9050919050565b6000602082019050818103600083015261309a81612e26565b9050919050565b600060208201905081810360008301526130ba81612e49565b9050919050565b600060208201905081810360008301526130da81612e6c565b9050919050565b600060208201905081810360008301526130fa81612e8f565b9050919050565b6000602082019050818103600083015261311a81612eb2565b9050919050565b6000602082019050818103600083015261313a81612ed5565b9050919050565b6000602082019050818103600083015261315a81612ef8565b9050919050565b6000602082019050818103600083015261317a81612f1b565b9050919050565b6000602082019050818103600083015261319a81612f3e565b9050919050565b600060208201905081810360008301526131ba81612f61565b9050919050565b600060208201905081810360008301526131da81612f84565b9050919050565b60006020820190506131f66000830184612fa7565b92915050565b600060a0820190506132116000830188612fa7565b61321e6020830187612dbb565b81810360408301526132308186612d3f565b905061323f6060830185612d30565b61324c6080830184612fa7565b9695505050505050565b600060208201905061326b6000830184612fb6565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006132d18261342b565b91506132dc8361342b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613311576133106134f4565b5b828201905092915050565b60006133278261342b565b91506133328361342b565b92508261334257613341613523565b5b828204905092915050565b60006133588261342b565b91506133638361342b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561339c5761339b6134f4565b5b828202905092915050565b60006133b28261342b565b91506133bd8361342b565b9250828210156133d0576133cf6134f4565b5b828203905092915050565b60006133e68261340b565b9050919050565b60006133f88261340b565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061344d82613454565b9050919050565b600061345f8261340b565b9050919050565b60006134718261342b565b9050919050565b60005b8381101561349657808201518184015260208101905061347b565b838111156134a5576000848401525b50505050565b60006134b68261342b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156134e9576134e86134f4565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f43616c6c6572206973206e6f7420746865206465760000000000000000000000600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f5461782063616e6e6f74206265206d6f7265207468616e20362e000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f52656469732063616e6e6f74206265206d6f7265207468616e2031302e000000600082015250565b613862816133db565b811461386d57600080fd5b50565b613879816133ed565b811461388457600080fd5b50565b613890816133ff565b811461389b57600080fd5b50565b6138a78161342b565b81146138b257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220119bb1ea6763e1ee27e1970ff0ba807cd2ca8dec2b32b26ca64c2494cb4e79e464736f6c63430008040033

Deployed Bytecode Sourcemap

4202:11541:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6442:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7294:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5334:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6719:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7463:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6628:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5382:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15399:99;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14562:262;;;;;;;;;;;;;:::i;:::-;;6822:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3783:148;;;;;;;;;;;;;:::i;:::-;;11443:237;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3578:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6533:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14836:551;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6968:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11123:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14291:263;;;;;;;;;;;;;:::i;:::-;;15506:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7143:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10826:208;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4033:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6442:83;6479:13;6512:5;;;;;;;;;;;;;;;;;6505:12;;6442:83;:::o;7294:161::-;7369:4;7386:39;7395:12;:10;:12::i;:::-;7409:7;7418:6;7386:8;:39::i;:::-;7443:4;7436:11;;7294:161;;;;:::o;5334:41::-;;;;;;;;;;;;;:::o;6719:95::-;6772:7;4618:20;6792:14;;6719:95;:::o;7463:313::-;7561:4;7578:36;7588:6;7596:9;7607:6;7578:9;:36::i;:::-;7625:121;7634:6;7642:12;:10;:12::i;:::-;7656:89;7694:6;7656:89;;;;;;;;;;;;;;;;;:11;:19;7668:6;7656:19;;;;;;;;;;;;;;;:33;7676:12;:10;:12::i;:::-;7656:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;7625:8;:121::i;:::-;7764:4;7757:11;;7463:313;;;;;:::o;6628:83::-;6669:5;5112:1;6687:16;;6628:83;:::o;5382:28::-;;;;;;;;;;;;;:::o;15399:99::-;6335:12;:10;:12::i;:::-;6324:23;;:7;:5;:7::i;:::-;:23;;;:62;;;;6374:12;:10;:12::i;:::-;6351:35;;:19;;;;;;;;;;;:35;;;6324:62;6316:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;15478:12:::1;15464:11;;:26;;;;;;;;;;;;;;;;;;15399:99:::0;:::o;14562:262::-;14628:19;;;;;;;;;;;14612:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;14667:17;;;;;;;;;;;14651:33;;:12;:10;:12::i;:::-;:33;;;14612:72;:99;;;;14704:7;:5;:7::i;:::-;14688:23;;:12;:10;:12::i;:::-;:23;;;14612:99;14604:108;;;;;;14723:26;14752:21;14723:50;;14784:32;14797:18;14784:12;:32::i;:::-;14562:262;:::o;6822:138::-;6888:7;6915:37;6935:7;:16;6943:7;6935:16;;;;;;;;;;;;;;;;6915:19;:37::i;:::-;6908:44;;6822:138;;;:::o;3783:148::-;3715:12;:10;:12::i;:::-;3705:22;;:6;;;;;;;;;;:22;;;3697:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;3890:1:::1;3853:40;;3874:6;::::0;::::1;;;;;;;;3853:40;;;;;;;;;;;;3921:1;3904:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3783:148::o:0;11443:237::-;6335:12;:10;:12::i;:::-;6324:23;;:7;:5;:7::i;:::-;:23;;;:62;;;;6374:12;:10;:12::i;:::-;6351:35;;:19;;;;;;;;;;;:35;;;6324:62;6316:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;11574:5:::1;11531:49;;11555:17;;;;;;;;;;;11531:49;;;;;;;;;;;;11612:5;11592:17;;:25;;;;;;;;;;;;;;;;;;11668:4;11628:18;:37;11647:17;;;;;;;;;;;11628:37;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;11443:237:::0;:::o;3578:79::-;3616:7;3643:6;;;;;;;;;;;3636:13;;3578:79;:::o;6533:87::-;6572:13;6605:7;;;;;;;;;;;;;;;;;6598:14;;6533:87;:::o;14836:551::-;6335:12;:10;:12::i;:::-;6324:23;;:7;:5;:7::i;:::-;:23;;;:62;;;;6374:12;:10;:12::i;:::-;6351:35;;:19;;;;;;;;;;;:35;;;6324:62;6316:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;14989:2:::1;14973:13;:18;14965:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;15058:2;15041:14;:19;15033:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;15124:1;15110:11;:15;15102:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;15187:1;15172:12;:16;15164:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;15247:13;15230:14;:30;;;;15289:14;15271:15;:32;;;;15329:11;15314:12;:26;;;;15367:12;15351:13;:28;;;;14836:551:::0;;;;:::o;6968:167::-;7046:4;7063:42;7073:12;:10;:12::i;:::-;7087:9;7098:6;7063:9;:42::i;:::-;7123:4;7116:11;;6968:167;;;;:::o;11123:225::-;6335:12;:10;:12::i;:::-;6324:23;;:7;:5;:7::i;:::-;:23;;;:62;;;;6374:12;:10;:12::i;:::-;6351:35;;:19;;;;;;;;;;;:35;;;6324:62;6316:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;11242:3:::1;11203:43;;11221:19;;;;;;;;;;;11203:43;;;;;;;;;;;;11280:3;11258:19;;:25;;;;;;;;;;;;;;;;;;11336:4;11294:18;:39;11313:19;;;;;;;;;;;11294:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;11123:225:::0;:::o;14291:263::-;14357:19;;;;;;;;;;;14341:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;14396:17;;;;;;;;;;;14380:33;;:12;:10;:12::i;:::-;:33;;;14341:72;:99;;;;14433:7;:5;:7::i;:::-;14417:23;;:12;:10;:12::i;:::-;:23;;;14341:99;14333:108;;;;;;14452:23;14478:24;14496:4;14478:9;:24::i;:::-;14452:50;;14513:33;14530:15;14513:16;:33::i;:::-;14291:263;:::o;15506:234::-;3715:12;:10;:12::i;:::-;3705:22;;:6;;;;;;;;;;:22;;;3697:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;15623:9:::1;15619:114;15642:8;;:15;;15638:1;:19;15619:114;;;15713:8;15679:18;:31;15698:8;;15707:1;15698:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15679:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;15659:3;;;;;:::i;:::-;;;;15619:114;;;;15506:234:::0;;;:::o;7143:143::-;7224:7;7251:11;:18;7263:5;7251:18;;;;;;;;;;;;;;;:27;7270:7;7251:27;;;;;;;;;;;;;;;;7244:34;;7143:143;;;;:::o;10826:208::-;6335:12;:10;:12::i;:::-;6324:23;;:7;:5;:7::i;:::-;:23;;;:62;;;;6374:12;:10;:12::i;:::-;6351:35;;:19;;;;;;;;;;;:35;;;6324:62;6316:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;10961:3:::1;10935:39;;10949:10;10935:39;;;10966:7;10935:39;;;;;;:::i;:::-;;;;;;;;10992:10;10986:26;;;11013:3;11018:7;10986:40;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10826:208:::0;;;:::o;4033:160::-;3715:12;:10;:12::i;:::-;3705:22;;:6;;;;;;;;;;:22;;;3697:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;4148:8:::1;4119:38;;4140:6;::::0;::::1;;;;;;;;4119:38;;;;;;;;;;;;4177:8;4168:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;4033:160:::0;:::o;2059:98::-;2112:7;2139:10;2132:17;;2059:98;:::o;8046:335::-;8156:1;8139:19;;:5;:19;;;;8131:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8237:1;8218:21;;:7;:21;;;;8210:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8319:6;8289:11;:18;8301:5;8289:18;;;;;;;;;;;;;;;:27;8308:7;8289:27;;;;;;;;;;;;;;;:36;;;;8357:7;8341:32;;8350:5;8341:32;;;8366:6;8341:32;;;;;;:::i;:::-;;;;;;;;8046:335;;;:::o;8389:1522::-;8493:1;8477:18;;:4;:18;;;;8469:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8570:1;8556:16;;:2;:16;;;;8548:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8640:1;8631:6;:10;8623:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8720:1;8708:9;:13;;;;8742:1;8732:7;:11;;;;8776:7;:5;:7::i;:::-;8768:15;;:4;:15;;;;:32;;;;;8793:7;:5;:7::i;:::-;8787:13;;:2;:13;;;;8768:32;8764:1097;;;8831:28;8862:24;8880:4;8862:9;:24::i;:::-;8831:55;;8906:6;;;;;;;;;;;8905:7;:32;;;;;8924:13;;;;;;;;;;;8916:21;;:4;:21;;;;8905:32;:47;;;;;8941:11;;;;;;;;;;;8905:47;:75;;;;;8979:1;8956:20;:24;8905:75;8901:346;;;9001:38;9018:20;9001:16;:38::i;:::-;9058:26;9087:21;9058:50;;9151:1;9130:18;:22;9127:105;;;9177:35;9190:21;9177:12;:35::i;:::-;9127:105;8901:346;;9286:13;;;;;;;;;;;9278:21;;:4;:21;;;:55;;;;;9317:15;;;;;;;;;;;9303:30;;:2;:30;;;;9278:55;9275:162;;;9366:14;;9354:9;:26;;;;9409:12;;9399:7;:22;;;;9275:162;9467:13;;;;;;;;;;;9461:19;;:2;:19;;;:55;;;;;9500:15;;;;;;;;;;;9484:32;;:4;:32;;;;9461:55;9457:165;;;9549:15;;9537:9;:27;;;;9593:13;;9583:7;:23;;;;9457:165;9655:18;:24;9674:4;9655:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;9683:18;:22;9702:2;9683:22;;;;;;;;;;;;;;;;;;;;;;;;;9655:50;9654:102;;;;9719:13;;;;;;;;;;;9711:21;;:4;:21;;;;:44;;;;;9742:13;;;;;;;;;;;9736:19;;:2;:19;;;;9711:44;9654:102;9650:186;;;9789:1;9777:9;:13;;;;9819:1;9809:7;:11;;;;9650:186;8764:1097;;9873:30;9888:4;9893:2;9896:6;9873:14;:30::i;:::-;8389:1522;;;:::o;2523:190::-;2609:7;2642:1;2637;:6;;2645:12;2629:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2669:9;2685:1;2681;:5;;;;:::i;:::-;2669:17;;2704:1;2697:8;;;2523:190;;;;;:::o;10418:160::-;10475:19;;;;;;;;;;;:28;;:43;10504:13;10515:1;10504:6;:10;;:13;;;;:::i;:::-;10475:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10529:17;;;;;;;;;;;:26;;:41;10556:13;10567:1;10556:6;:10;;:13;;;;:::i;:::-;10529:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10418:160;:::o;7784:254::-;7851:7;7890;;7879;:18;;7871:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7955:19;7978:10;:8;:10::i;:::-;7955:33;;8006:24;8018:11;8006:7;:11;;:24;;;;:::i;:::-;7999:31;;;7784:254;;;:::o;9919:483::-;5542:4;5533:6;;:13;;;;;;;;;;;;;;;;;;9997:21:::1;10035:1;10021:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9997:40;;10066:4;10048;10053:1;10048:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;10092:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10082:4;10087:1;10082:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;10125:62;10142:4;10157:15;;;;;;;;;;;10175:11;10125:8;:62::i;:::-;10198:15;;;;;;;;;;;:66;;;10279:11;10305:1;10321:4;10348;10368:15;10198:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5557:1;5578:5:::0;5569:6;;:14;;;;;;;;;;;;;;;;;;9919:483;:::o;10590:146::-;10684:44;10702:6;10710:9;10721:6;10684:17;:44::i;:::-;10590:146;;;:::o;2975:132::-;3033:7;3060:39;3064:1;3067;3060:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3053:46;;2975:132;;;;:::o;13850:163::-;13891:7;13912:15;13929;13948:19;:17;:19::i;:::-;13911:56;;;;13985:20;13997:7;13985;:11;;:20;;;;:::i;:::-;13978:27;;;;13850:163;:::o;11688:488::-;11787:15;11804:23;11829:12;11843:23;11868:12;11882:13;11899:19;11910:7;11899:10;:19::i;:::-;11786:132;;;;;;;;;;;;11947:28;11967:7;11947;:15;11955:6;11947:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;11929:7;:15;11937:6;11929:15;;;;;;;;;;;;;;;:46;;;;12007:39;12030:15;12007:7;:18;12015:9;12007:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;11986:7;:18;11994:9;11986:18;;;;;;;;;;;;;;;:60;;;;12058:16;12068:5;12058:9;:16::i;:::-;12085:23;12097:4;12103;12085:11;:23::i;:::-;12141:9;12124:44;;12133:6;12124:44;;;12152:15;12124:44;;;;;;:::i;:::-;;;;;;;;11688:488;;;;;;;;;:::o;3115:189::-;3201:7;3233:1;3229;:5;3236:12;3221:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3260:9;3276:1;3272;:5;;;;:::i;:::-;3260:17;;3295:1;3288:8;;;3115:189;;;;;:::o;14021:262::-;14071:7;14080;14100:15;14118:7;;14100:25;;14136:15;4618:20;14136:25;;14192:20;4618;14192:7;;:11;;:20;;;;:::i;:::-;14182:7;:30;14178:61;;;14222:7;;4618:20;14214:25;;;;;;;;14178:61;14258:7;14267;14250:25;;;;;;14021:262;;;:::o;12600:469::-;12659:7;12668;12677;12686;12695;12704;12725:23;12750:12;12764:13;12781:40;12793:7;12802:9;;12813:7;;12781:11;:40::i;:::-;12724:97;;;;;;12832:19;12855:10;:8;:10::i;:::-;12832:33;;12877:15;12894:23;12919:12;12935:46;12947:7;12956:4;12962:5;12969:11;12935;:46::i;:::-;12876:105;;;;;;13000:7;13009:15;13026:4;13032:15;13049:4;13055:5;12992:69;;;;;;;;;;;;;;;;;;;12600:469;;;;;;;:::o;2379:136::-;2437:7;2464:43;2468:1;2471;2464:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2457:50;;2379:136;;;;:::o;2192:179::-;2250:7;2270:9;2286:1;2282;:5;;;;:::i;:::-;2270:17;;2311:1;2306;:6;;2298:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2362:1;2355:8;;;2192:179;;;;:::o;12184:212::-;12237:19;12260:10;:8;:10::i;:::-;12237:33;;12281:13;12297:22;12307:11;12297:5;:9;;:22;;;;:::i;:::-;12281:38;;12355:33;12382:5;12355:7;:22;12371:4;12355:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;12330:7;:22;12346:4;12330:22;;;;;;;;;;;;;;;:58;;;;12184:212;;;:::o;12404:147::-;12482:17;12494:4;12482:7;;:11;;:17;;;;:::i;:::-;12472:7;:27;;;;12523:20;12538:4;12523:10;;:14;;:20;;;;:::i;:::-;12510:10;:33;;;;12404:147;;:::o;13077:351::-;13170:7;13179;13188;13208:12;13223:28;13247:3;13223:19;13235:6;13223:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;13208:43;;13262:13;13278:29;13303:3;13278:20;13290:7;13278;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;13262:45;;13318:23;13344:28;13366:5;13344:17;13356:4;13344:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13318:54;;13391:15;13408:4;13414:5;13383:37;;;;;;;;;13077:351;;;;;;;:::o;13436:409::-;13546:7;13555;13564;13584:15;13602:24;13614:11;13602:7;:11;;:24;;;;:::i;:::-;13584:42;;13637:12;13652:21;13661:11;13652:4;:8;;:21;;;;:::i;:::-;13637:36;;13684:13;13700:22;13710:11;13700:5;:9;;:22;;;;:::i;:::-;13684:38;;13733:23;13759:28;13781:5;13759:17;13771:4;13759:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;13733:54;;13806:7;13815:15;13832:4;13798:39;;;;;;;;;;13436:409;;;;;;;;:::o;2721:246::-;2779:7;2808:1;2803;:6;2799:47;;;2833:1;2826:8;;;;2799:47;2856:9;2872:1;2868;:5;;;;:::i;:::-;2856:17;;2901:1;2896;2892;:5;;;;:::i;:::-;:10;2884:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2958:1;2951:8;;;2721:246;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:155::-;355:5;393:6;380:20;371:29;;409:41;444:5;409:41;:::i;:::-;361:95;;;;:::o;479:367::-;552:8;562:6;612:3;605:4;597:6;593:17;589:27;579:2;;630:1;627;620:12;579:2;666:6;653:20;643:30;;696:18;688:6;685:30;682:2;;;728:1;725;718:12;682:2;765:4;757:6;753:17;741:29;;819:3;811:4;803:6;799:17;789:8;785:32;782:41;779:2;;;836:1;833;826:12;779:2;569:277;;;;;:::o;852:133::-;895:5;933:6;920:20;911:29;;949:30;973:5;949:30;:::i;:::-;901:84;;;;:::o;991:137::-;1045:5;1076:6;1070:13;1061:22;;1092:30;1116:5;1092:30;:::i;:::-;1051:77;;;;:::o;1134:139::-;1180:5;1218:6;1205:20;1196:29;;1234:33;1261:5;1234:33;:::i;:::-;1186:87;;;;:::o;1279:262::-;1338:6;1387:2;1375:9;1366:7;1362:23;1358:32;1355:2;;;1403:1;1400;1393:12;1355:2;1446:1;1471:53;1516:7;1507:6;1496:9;1492:22;1471:53;:::i;:::-;1461:63;;1417:117;1345:196;;;;:::o;1547:284::-;1617:6;1666:2;1654:9;1645:7;1641:23;1637:32;1634:2;;;1682:1;1679;1672:12;1634:2;1725:1;1750:64;1806:7;1797:6;1786:9;1782:22;1750:64;:::i;:::-;1740:74;;1696:128;1624:207;;;;:::o;1837:278::-;1904:6;1953:2;1941:9;1932:7;1928:23;1924:32;1921:2;;;1969:1;1966;1959:12;1921:2;2012:1;2037:61;2090:7;2081:6;2070:9;2066:22;2037:61;:::i;:::-;2027:71;;1983:125;1911:204;;;;:::o;2121:407::-;2189:6;2197;2246:2;2234:9;2225:7;2221:23;2217:32;2214:2;;;2262:1;2259;2252:12;2214:2;2305:1;2330:53;2375:7;2366:6;2355:9;2351:22;2330:53;:::i;:::-;2320:63;;2276:117;2432:2;2458:53;2503:7;2494:6;2483:9;2479:22;2458:53;:::i;:::-;2448:63;;2403:118;2204:324;;;;;:::o;2534:552::-;2611:6;2619;2627;2676:2;2664:9;2655:7;2651:23;2647:32;2644:2;;;2692:1;2689;2682:12;2644:2;2735:1;2760:53;2805:7;2796:6;2785:9;2781:22;2760:53;:::i;:::-;2750:63;;2706:117;2862:2;2888:53;2933:7;2924:6;2913:9;2909:22;2888:53;:::i;:::-;2878:63;;2833:118;2990:2;3016:53;3061:7;3052:6;3041:9;3037:22;3016:53;:::i;:::-;3006:63;;2961:118;2634:452;;;;;:::o;3092:407::-;3160:6;3168;3217:2;3205:9;3196:7;3192:23;3188:32;3185:2;;;3233:1;3230;3223:12;3185:2;3276:1;3301:53;3346:7;3337:6;3326:9;3322:22;3301:53;:::i;:::-;3291:63;;3247:117;3403:2;3429:53;3474:7;3465:6;3454:9;3450:22;3429:53;:::i;:::-;3419:63;;3374:118;3175:324;;;;;:::o;3505:564::-;3597:6;3605;3613;3662:2;3650:9;3641:7;3637:23;3633:32;3630:2;;;3678:1;3675;3668:12;3630:2;3749:1;3738:9;3734:17;3721:31;3779:18;3771:6;3768:30;3765:2;;;3811:1;3808;3801:12;3765:2;3847:80;3919:7;3910:6;3899:9;3895:22;3847:80;:::i;:::-;3829:98;;;;3692:245;3976:2;4002:50;4044:7;4035:6;4024:9;4020:22;4002:50;:::i;:::-;3992:60;;3947:115;3620:449;;;;;:::o;4075:256::-;4131:6;4180:2;4168:9;4159:7;4155:23;4151:32;4148:2;;;4196:1;4193;4186:12;4148:2;4239:1;4264:50;4306:7;4297:6;4286:9;4282:22;4264:50;:::i;:::-;4254:60;;4210:114;4138:193;;;;:::o;4337:278::-;4404:6;4453:2;4441:9;4432:7;4428:23;4424:32;4421:2;;;4469:1;4466;4459:12;4421:2;4512:1;4537:61;4590:7;4581:6;4570:9;4566:22;4537:61;:::i;:::-;4527:71;;4483:125;4411:204;;;;:::o;4621:698::-;4707:6;4715;4723;4731;4780:3;4768:9;4759:7;4755:23;4751:33;4748:2;;;4797:1;4794;4787:12;4748:2;4840:1;4865:53;4910:7;4901:6;4890:9;4886:22;4865:53;:::i;:::-;4855:63;;4811:117;4967:2;4993:53;5038:7;5029:6;5018:9;5014:22;4993:53;:::i;:::-;4983:63;;4938:118;5095:2;5121:53;5166:7;5157:6;5146:9;5142:22;5121:53;:::i;:::-;5111:63;;5066:118;5223:2;5249:53;5294:7;5285:6;5274:9;5270:22;5249:53;:::i;:::-;5239:63;;5194:118;4738:581;;;;;;;:::o;5325:179::-;5394:10;5415:46;5457:3;5449:6;5415:46;:::i;:::-;5493:4;5488:3;5484:14;5470:28;;5405:99;;;;:::o;5510:108::-;5587:24;5605:5;5587:24;:::i;:::-;5582:3;5575:37;5565:53;;:::o;5624:118::-;5711:24;5729:5;5711:24;:::i;:::-;5706:3;5699:37;5689:53;;:::o;5778:732::-;5897:3;5926:54;5974:5;5926:54;:::i;:::-;5996:86;6075:6;6070:3;5996:86;:::i;:::-;5989:93;;6106:56;6156:5;6106:56;:::i;:::-;6185:7;6216:1;6201:284;6226:6;6223:1;6220:13;6201:284;;;6302:6;6296:13;6329:63;6388:3;6373:13;6329:63;:::i;:::-;6322:70;;6415:60;6468:6;6415:60;:::i;:::-;6405:70;;6261:224;6248:1;6245;6241:9;6236:14;;6201:284;;;6205:14;6501:3;6494:10;;5902:608;;;;;;;:::o;6516:109::-;6597:21;6612:5;6597:21;:::i;:::-;6592:3;6585:34;6575:50;;:::o;6631:183::-;6744:63;6801:5;6744:63;:::i;:::-;6739:3;6732:76;6722:92;;:::o;6820:147::-;6915:45;6954:5;6915:45;:::i;:::-;6910:3;6903:58;6893:74;;:::o;6973:364::-;7061:3;7089:39;7122:5;7089:39;:::i;:::-;7144:71;7208:6;7203:3;7144:71;:::i;:::-;7137:78;;7224:52;7269:6;7264:3;7257:4;7250:5;7246:16;7224:52;:::i;:::-;7301:29;7323:6;7301:29;:::i;:::-;7296:3;7292:39;7285:46;;7065:272;;;;;:::o;7343:366::-;7485:3;7506:67;7570:2;7565:3;7506:67;:::i;:::-;7499:74;;7582:93;7671:3;7582:93;:::i;:::-;7700:2;7695:3;7691:12;7684:19;;7489:220;;;:::o;7715:366::-;7857:3;7878:67;7942:2;7937:3;7878:67;:::i;:::-;7871:74;;7954:93;8043:3;7954:93;:::i;:::-;8072:2;8067:3;8063:12;8056:19;;7861:220;;;:::o;8087:366::-;8229:3;8250:67;8314:2;8309:3;8250:67;:::i;:::-;8243:74;;8326:93;8415:3;8326:93;:::i;:::-;8444:2;8439:3;8435:12;8428:19;;8233:220;;;:::o;8459:366::-;8601:3;8622:67;8686:2;8681:3;8622:67;:::i;:::-;8615:74;;8698:93;8787:3;8698:93;:::i;:::-;8816:2;8811:3;8807:12;8800:19;;8605:220;;;:::o;8831:366::-;8973:3;8994:67;9058:2;9053:3;8994:67;:::i;:::-;8987:74;;9070:93;9159:3;9070:93;:::i;:::-;9188:2;9183:3;9179:12;9172:19;;8977:220;;;:::o;9203:366::-;9345:3;9366:67;9430:2;9425:3;9366:67;:::i;:::-;9359:74;;9442:93;9531:3;9442:93;:::i;:::-;9560:2;9555:3;9551:12;9544:19;;9349:220;;;:::o;9575:366::-;9717:3;9738:67;9802:2;9797:3;9738:67;:::i;:::-;9731:74;;9814:93;9903:3;9814:93;:::i;:::-;9932:2;9927:3;9923:12;9916:19;;9721:220;;;:::o;9947:366::-;10089:3;10110:67;10174:2;10169:3;10110:67;:::i;:::-;10103:74;;10186:93;10275:3;10186:93;:::i;:::-;10304:2;10299:3;10295:12;10288:19;;10093:220;;;:::o;10319:366::-;10461:3;10482:67;10546:2;10541:3;10482:67;:::i;:::-;10475:74;;10558:93;10647:3;10558:93;:::i;:::-;10676:2;10671:3;10667:12;10660:19;;10465:220;;;:::o;10691:366::-;10833:3;10854:67;10918:2;10913:3;10854:67;:::i;:::-;10847:74;;10930:93;11019:3;10930:93;:::i;:::-;11048:2;11043:3;11039:12;11032:19;;10837:220;;;:::o;11063:366::-;11205:3;11226:67;11290:2;11285:3;11226:67;:::i;:::-;11219:74;;11302:93;11391:3;11302:93;:::i;:::-;11420:2;11415:3;11411:12;11404:19;;11209:220;;;:::o;11435:366::-;11577:3;11598:67;11662:2;11657:3;11598:67;:::i;:::-;11591:74;;11674:93;11763:3;11674:93;:::i;:::-;11792:2;11787:3;11783:12;11776:19;;11581:220;;;:::o;11807:118::-;11894:24;11912:5;11894:24;:::i;:::-;11889:3;11882:37;11872:53;;:::o;11931:112::-;12014:22;12030:5;12014:22;:::i;:::-;12009:3;12002:35;11992:51;;:::o;12049:222::-;12142:4;12180:2;12169:9;12165:18;12157:26;;12193:71;12261:1;12250:9;12246:17;12237:6;12193:71;:::i;:::-;12147:124;;;;:::o;12277:332::-;12398:4;12436:2;12425:9;12421:18;12413:26;;12449:71;12517:1;12506:9;12502:17;12493:6;12449:71;:::i;:::-;12530:72;12598:2;12587:9;12583:18;12574:6;12530:72;:::i;:::-;12403:206;;;;;:::o;12615:210::-;12702:4;12740:2;12729:9;12725:18;12717:26;;12753:65;12815:1;12804:9;12800:17;12791:6;12753:65;:::i;:::-;12707:118;;;;:::o;12831:274::-;12950:4;12988:2;12977:9;12973:18;12965:26;;13001:97;13095:1;13084:9;13080:17;13071:6;13001:97;:::i;:::-;12955:150;;;;:::o;13111:313::-;13224:4;13262:2;13251:9;13247:18;13239:26;;13311:9;13305:4;13301:20;13297:1;13286:9;13282:17;13275:47;13339:78;13412:4;13403:6;13339:78;:::i;:::-;13331:86;;13229:195;;;;:::o;13430:419::-;13596:4;13634:2;13623:9;13619:18;13611:26;;13683:9;13677:4;13673:20;13669:1;13658:9;13654:17;13647:47;13711:131;13837:4;13711:131;:::i;:::-;13703:139;;13601:248;;;:::o;13855:419::-;14021:4;14059:2;14048:9;14044:18;14036:26;;14108:9;14102:4;14098:20;14094:1;14083:9;14079:17;14072:47;14136:131;14262:4;14136:131;:::i;:::-;14128:139;;14026:248;;;:::o;14280:419::-;14446:4;14484:2;14473:9;14469:18;14461:26;;14533:9;14527:4;14523:20;14519:1;14508:9;14504:17;14497:47;14561:131;14687:4;14561:131;:::i;:::-;14553:139;;14451:248;;;:::o;14705:419::-;14871:4;14909:2;14898:9;14894:18;14886:26;;14958:9;14952:4;14948:20;14944:1;14933:9;14929:17;14922:47;14986:131;15112:4;14986:131;:::i;:::-;14978:139;;14876:248;;;:::o;15130:419::-;15296:4;15334:2;15323:9;15319:18;15311:26;;15383:9;15377:4;15373:20;15369:1;15358:9;15354:17;15347:47;15411:131;15537:4;15411:131;:::i;:::-;15403:139;;15301:248;;;:::o;15555:419::-;15721:4;15759:2;15748:9;15744:18;15736:26;;15808:9;15802:4;15798:20;15794:1;15783:9;15779:17;15772:47;15836:131;15962:4;15836:131;:::i;:::-;15828:139;;15726:248;;;:::o;15980:419::-;16146:4;16184:2;16173:9;16169:18;16161:26;;16233:9;16227:4;16223:20;16219:1;16208:9;16204:17;16197:47;16261:131;16387:4;16261:131;:::i;:::-;16253:139;;16151:248;;;:::o;16405:419::-;16571:4;16609:2;16598:9;16594:18;16586:26;;16658:9;16652:4;16648:20;16644:1;16633:9;16629:17;16622:47;16686:131;16812:4;16686:131;:::i;:::-;16678:139;;16576:248;;;:::o;16830:419::-;16996:4;17034:2;17023:9;17019:18;17011:26;;17083:9;17077:4;17073:20;17069:1;17058:9;17054:17;17047:47;17111:131;17237:4;17111:131;:::i;:::-;17103:139;;17001:248;;;:::o;17255:419::-;17421:4;17459:2;17448:9;17444:18;17436:26;;17508:9;17502:4;17498:20;17494:1;17483:9;17479:17;17472:47;17536:131;17662:4;17536:131;:::i;:::-;17528:139;;17426:248;;;:::o;17680:419::-;17846:4;17884:2;17873:9;17869:18;17861:26;;17933:9;17927:4;17923:20;17919:1;17908:9;17904:17;17897:47;17961:131;18087:4;17961:131;:::i;:::-;17953:139;;17851:248;;;:::o;18105:419::-;18271:4;18309:2;18298:9;18294:18;18286:26;;18358:9;18352:4;18348:20;18344:1;18333:9;18329:17;18322:47;18386:131;18512:4;18386:131;:::i;:::-;18378:139;;18276:248;;;:::o;18530:222::-;18623:4;18661:2;18650:9;18646:18;18638:26;;18674:71;18742:1;18731:9;18727:17;18718:6;18674:71;:::i;:::-;18628:124;;;;:::o;18758:831::-;19021:4;19059:3;19048:9;19044:19;19036:27;;19073:71;19141:1;19130:9;19126:17;19117:6;19073:71;:::i;:::-;19154:80;19230:2;19219:9;19215:18;19206:6;19154:80;:::i;:::-;19281:9;19275:4;19271:20;19266:2;19255:9;19251:18;19244:48;19309:108;19412:4;19403:6;19309:108;:::i;:::-;19301:116;;19427:72;19495:2;19484:9;19480:18;19471:6;19427:72;:::i;:::-;19509:73;19577:3;19566:9;19562:19;19553:6;19509:73;:::i;:::-;19026:563;;;;;;;;:::o;19595:214::-;19684:4;19722:2;19711:9;19707:18;19699:26;;19735:67;19799:1;19788:9;19784:17;19775:6;19735:67;:::i;:::-;19689:120;;;;:::o;19815:132::-;19882:4;19905:3;19897:11;;19935:4;19930:3;19926:14;19918:22;;19887:60;;;:::o;19953:114::-;20020:6;20054:5;20048:12;20038:22;;20027:40;;;:::o;20073:99::-;20125:6;20159:5;20153:12;20143:22;;20132:40;;;:::o;20178:113::-;20248:4;20280;20275:3;20271:14;20263:22;;20253:38;;;:::o;20297:184::-;20396:11;20430:6;20425:3;20418:19;20470:4;20465:3;20461:14;20446:29;;20408:73;;;;:::o;20487:169::-;20571:11;20605:6;20600:3;20593:19;20645:4;20640:3;20636:14;20621:29;;20583:73;;;;:::o;20662:305::-;20702:3;20721:20;20739:1;20721:20;:::i;:::-;20716:25;;20755:20;20773:1;20755:20;:::i;:::-;20750:25;;20909:1;20841:66;20837:74;20834:1;20831:81;20828:2;;;20915:18;;:::i;:::-;20828:2;20959:1;20956;20952:9;20945:16;;20706:261;;;;:::o;20973:185::-;21013:1;21030:20;21048:1;21030:20;:::i;:::-;21025:25;;21064:20;21082:1;21064:20;:::i;:::-;21059:25;;21103:1;21093:2;;21108:18;;:::i;:::-;21093:2;21150:1;21147;21143:9;21138:14;;21015:143;;;;:::o;21164:348::-;21204:7;21227:20;21245:1;21227:20;:::i;:::-;21222:25;;21261:20;21279:1;21261:20;:::i;:::-;21256:25;;21449:1;21381:66;21377:74;21374:1;21371:81;21366:1;21359:9;21352:17;21348:105;21345:2;;;21456:18;;:::i;:::-;21345:2;21504:1;21501;21497:9;21486:20;;21212:300;;;;:::o;21518:191::-;21558:4;21578:20;21596:1;21578:20;:::i;:::-;21573:25;;21612:20;21630:1;21612:20;:::i;:::-;21607:25;;21651:1;21648;21645:8;21642:2;;;21656:18;;:::i;:::-;21642:2;21701:1;21698;21694:9;21686:17;;21563:146;;;;:::o;21715:96::-;21752:7;21781:24;21799:5;21781:24;:::i;:::-;21770:35;;21760:51;;;:::o;21817:104::-;21862:7;21891:24;21909:5;21891:24;:::i;:::-;21880:35;;21870:51;;;:::o;21927:90::-;21961:7;22004:5;21997:13;21990:21;21979:32;;21969:48;;;:::o;22023:126::-;22060:7;22100:42;22093:5;22089:54;22078:65;;22068:81;;;:::o;22155:77::-;22192:7;22221:5;22210:16;;22200:32;;;:::o;22238:86::-;22273:7;22313:4;22306:5;22302:16;22291:27;;22281:43;;;:::o;22330:178::-;22406:9;22439:63;22496:5;22439:63;:::i;:::-;22426:76;;22416:92;;;:::o;22514:139::-;22590:9;22623:24;22641:5;22623:24;:::i;:::-;22610:37;;22600:53;;;:::o;22659:121::-;22717:9;22750:24;22768:5;22750:24;:::i;:::-;22737:37;;22727:53;;;:::o;22786:307::-;22854:1;22864:113;22878:6;22875:1;22872:13;22864:113;;;22963:1;22958:3;22954:11;22948:18;22944:1;22939:3;22935:11;22928:39;22900:2;22897:1;22893:10;22888:15;;22864:113;;;22995:6;22992:1;22989:13;22986:2;;;23075:1;23066:6;23061:3;23057:16;23050:27;22986:2;22835:258;;;;:::o;23099:233::-;23138:3;23161:24;23179:5;23161:24;:::i;:::-;23152:33;;23207:66;23200:5;23197:77;23194:2;;;23277:18;;:::i;:::-;23194:2;23324:1;23317:5;23313:13;23306:20;;23142:190;;;:::o;23338:180::-;23386:77;23383:1;23376:88;23483:4;23480:1;23473:15;23507:4;23504:1;23497:15;23524:180;23572:77;23569:1;23562:88;23669:4;23666:1;23659:15;23693:4;23690:1;23683:15;23710:102;23751:6;23802:2;23798:7;23793:2;23786:5;23782:14;23778:28;23768:38;;23758:54;;;:::o;23818:222::-;23958:34;23954:1;23946:6;23942:14;23935:58;24027:5;24022:2;24014:6;24010:15;24003:30;23924:116;:::o;24046:173::-;24186:25;24182:1;24174:6;24170:14;24163:49;24152:67;:::o;24225:229::-;24365:34;24361:1;24353:6;24349:14;24342:58;24434:12;24429:2;24421:6;24417:15;24410:37;24331:123;:::o;24460:221::-;24600:34;24596:1;24588:6;24584:14;24577:58;24669:4;24664:2;24656:6;24652:15;24645:29;24566:115;:::o;24687:177::-;24827:29;24823:1;24815:6;24811:14;24804:53;24793:71;:::o;24870:220::-;25010:34;25006:1;24998:6;24994:14;24987:58;25079:3;25074:2;25066:6;25062:15;25055:28;24976:114;:::o;25096:171::-;25236:23;25232:1;25224:6;25220:14;25213:47;25202:65;:::o;25273:228::-;25413:34;25409:1;25401:6;25397:14;25390:58;25482:11;25477:2;25469:6;25465:15;25458:36;25379:122;:::o;25507:224::-;25647:34;25643:1;25635:6;25631:14;25624:58;25716:7;25711:2;25703:6;25699:15;25692:32;25613:118;:::o;25737:176::-;25877:28;25873:1;25865:6;25861:14;25854:52;25843:70;:::o;25919:223::-;26059:34;26055:1;26047:6;26043:14;26036:58;26128:6;26123:2;26115:6;26111:15;26104:31;26025:117;:::o;26148:179::-;26288:31;26284:1;26276:6;26272:14;26265:55;26254:73;:::o;26333:122::-;26406:24;26424:5;26406:24;:::i;:::-;26399:5;26396:35;26386:2;;26445:1;26442;26435:12;26386:2;26376:79;:::o;26461:138::-;26542:32;26568:5;26542:32;:::i;:::-;26535:5;26532:43;26522:2;;26589:1;26586;26579:12;26522:2;26512:87;:::o;26605:116::-;26675:21;26690:5;26675:21;:::i;:::-;26668:5;26665:32;26655:2;;26711:1;26708;26701:12;26655:2;26645:76;:::o;26727:122::-;26800:24;26818:5;26800:24;:::i;:::-;26793:5;26790:35;26780:2;;26839:1;26836;26829:12;26780:2;26770:79;:::o

Swarm Source

ipfs://119bb1ea6763e1ee27e1970ff0ba807cd2ca8dec2b32b26ca64c2494cb4e79e4

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.

Connect a Wallet
Connect a Wallet

Compiler specific version warnings:

The compiled contract might be susceptible to FullInlinerNonExpressionSplitArgumentEvaluationOrder (low-severity), MissingSideEffectsOnSelectorAccess (low-severity), AbiReencodingHeadOverflowWithStaticArrayCleanup (medium-severity), DirtyBytesArrayToStorage (low-severity), DataLocationChangeInInternalOverride (very low-severity), NestedCalldataArrayAbiReencodingSizeValidation (very low-severity), SignedImmutables (very low-severity) Solidity Compiler Bugs.

StepD ($STEPD) Token Tracker | BscScan (2024)

References

Top Articles
Latest Posts
Article information

Author: Roderick King

Last Updated:

Views: 5440

Rating: 4 / 5 (51 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Roderick King

Birthday: 1997-10-09

Address: 3782 Madge Knoll, East Dudley, MA 63913

Phone: +2521695290067

Job: Customer Sales Coordinator

Hobby: Gunsmithing, Embroidery, Parkour, Kitesurfing, Rock climbing, Sand art, Beekeeping

Introduction: My name is Roderick King, I am a cute, splendid, excited, perfect, gentle, funny, vivacious person who loves writing and wants to share my knowledge and understanding with you.