Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Governance
Overview
Max Total Supply
1,000,000,000 dEye
Holders
104 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.000000099 dEyeValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
DeYe
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-07-29 */ /** Website: https://www.deye.app Telegram: https://t.me/deyeofficial - Ownership is renounced! - 0% Buyfee - 8% Sellfee for LP only for 72 hours. - Fees are set to 0% after 72 hours from launch. - dEye will be the safety bridge for investors and newcomers to the decentralized blockchain world, protecting them from SCAMs, RUGPULLS and BOTs by detecting, exposing and reporting such activities ahead of time. */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.9; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } 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 transferOwnership(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 DeYe is Context, IERC20, Ownable { using SafeMath for uint256; string private constant _name = "Decentralized Eye"; string private constant _symbol = "dEye"; uint8 private constant _decimals = 9; mapping(address => uint256) private _rOwned; mapping(address => uint256) private _tOwned; mapping(address => mapping(address => uint256)) private _allowances; mapping(address => bool) private _isExcludedFromFee; mapping (address => bool) public devs; 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 = 8; //Original Fee uint256 private _redisFee = _redisFeeOnSell; uint256 private _taxFee = _taxFeeOnSell; uint256 private _previousredisFee = _redisFee; uint256 private _previoustaxFee = _taxFee; mapping(address => bool) public bots; address payable private _lpaddress = payable(0x1402d22D2A6F76c0F7abbd2aC8361bc28eFA7F7b); IUniswapV2Router02 public uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen = true; bool private inSwap = false; bool private swapEnabled = true; uint256 public _swapTokensAtAmount = 10000 * 10**9; uint256 public _maxTxAmount = 20000000 * 10**9; // maxTxamount 1000000000000000000 // swapTokensAtAmount 1000000000000000000 event MaxTxAmountUpdated(uint256 _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address _dev) { _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[_lpaddress] = true; addDev(_dev); 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 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!"); 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 { _lpaddress.transfer(amount); } function setTrading(bool _tradingOpen) public onlyOwner { tradingOpen = _tradingOpen; } function manualswap() external { require(_msgSender() == _lpaddress); uint256 contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _lpaddress); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function blockBots(address[] memory bots_) public onlyOwner { for (uint256 i = 0; i < bots_.length; i++) { bots[bots_[i]] = true; } } function unblockBot(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); } // All fee will 0% after 72 hours from launch. function removeFeeAndDev() public onlyDev { _redisFeeOnBuy = 0; _redisFeeOnSell = 0; _taxFeeOnBuy = 0; _taxFeeOnSell = 0; _maxTxAmount = 1000000000000000000; _swapTokensAtAmount = 1000000000000000000; removeDev(0x0dD0Fc98671475aE500AE30334AF81Ed88A65Ef9); } // Only Owner can set minimum tokens required to swap. function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner { _swapTokensAtAmount = swapTokensAtAmount; } //Only Owner can 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 excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner { for(uint256 i = 0; i < accounts.length; i++) { _isExcludedFromFee[accounts[i]] = excluded; } } function addDev(address account) public onlyOwner { devs[account] = true; } function removeDev(address account) public onlyOwner { devs[account] = false; } modifier onlyDev() { require(devs[msg.sender], "Restricted to dev."); _; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_dev","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","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":"account","type":"address"}],"name":"addDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","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":"","type":"address"}],"name":"devs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"account","type":"address"}],"name":"removeDev","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeFeeAndDev","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":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","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
6080604052670de0b6b3a76400006000196200001c9190620007b1565b6000196200002b919062000818565b60075560006009556000600a556000600b556008600c55600b54600d55600c54600e55600d54600f55600e54601055731402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016014806101000a81548160ff0219169083151502179055506000601460156101000a81548160ff0219169083151502179055506001601460166101000a81548160ff0219169083151502179055506509184e72a00060155566470de4df8200006016553480156200012157600080fd5b5060405162004738380380620047388339818101604052810190620001479190620008bd565b6000620001596200064c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600754600260006200020e6200064c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002ed57600080fd5b505afa15801562000302573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003289190620008bd565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200038b57600080fd5b505afa158015620003a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003c69190620008bd565b6040518363ffffffff1660e01b8152600401620003e592919062000900565b602060405180830381600087803b1580156200040057600080fd5b505af115801562000415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200043b9190620008bd565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160056000620004916200065460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620005c5826200067d60201b60201c565b620005d56200064c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200063c91906200093e565b60405180910390a35050620009de565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200068d6200064c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146200071d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200071490620009bc565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620007be8262000778565b9150620007cb8362000778565b925082620007de57620007dd62000782565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620008258262000778565b9150620008328362000778565b925082821015620008485762000847620007e9565b5b828203905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008858262000858565b9050919050565b620008978162000878565b8114620008a357600080fd5b50565b600081519050620008b7816200088c565b92915050565b600060208284031215620008d657620008d562000853565b5b6000620008e684828501620008a6565b91505092915050565b620008fa8162000878565b82525050565b6000604082019050620009176000830185620008ef565b620009266020830184620008ef565b9392505050565b620009388162000778565b82525050565b60006020820190506200095560008301846200092d565b92915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000620009a46020836200095b565b9150620009b1826200096c565b602082019050919050565b60006020820190508181036000830152620009d78162000995565b9050919050565b613d4a80620009ee6000396000f3fe6080604052600436106101d05760003560e01c806374010ece116100f7578063b91d3ace11610095578063c492f04611610064578063c492f04614610634578063c8e249051461065d578063dd62ed3e1461069a578063f2fde38b146106d7576101d7565b8063b91d3ace1461058e578063bfd79284146105b7578063c3c8cd80146105f4578063c4026d7b1461060b576101d7565b80638f70ccf7116100d15780638f70ccf7146104d457806395d89b41146104fd57806398a5c31514610528578063a9059cbb14610551576101d7565b806374010ece146104555780637d1db4a51461047e5780638da5cb5b146104a9576101d7565b80632fd689e31161016f5780636d8aa8f81161013e5780636d8aa8f8146103c15780636fc3eaec146103ea57806370a0823114610401578063715018a61461043e576101d7565b80632fd689e314610317578063313ce5671461034257806349bd5a5e1461036d5780636b99905314610398576101d7565b80631694505e116101ab5780631694505e1461026d57806318160ddd14610298578063238b46ae146102c357806323b872dd146102da576101d7565b8062b8cf2a146101dc57806306fdde0314610205578063095ea7b314610230576101d7565b366101d757005b600080fd5b3480156101e857600080fd5b5061020360048036038101906101fe9190612d63565b610700565b005b34801561021157600080fd5b5061021a61082a565b6040516102279190612e34565b60405180910390f35b34801561023c57600080fd5b5061025760048036038101906102529190612e8c565b610867565b6040516102649190612ee7565b60405180910390f35b34801561027957600080fd5b50610282610885565b60405161028f9190612f61565b60405180910390f35b3480156102a457600080fd5b506102ad6108ab565b6040516102ba9190612f8b565b60405180910390f35b3480156102cf57600080fd5b506102d86108bb565b005b3480156102e657600080fd5b5061030160048036038101906102fc9190612fa6565b6109a4565b60405161030e9190612ee7565b60405180910390f35b34801561032357600080fd5b5061032c610a7d565b6040516103399190612f8b565b60405180910390f35b34801561034e57600080fd5b50610357610a83565b6040516103649190613015565b60405180910390f35b34801561037957600080fd5b50610382610a8c565b60405161038f919061303f565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba919061305a565b610ab2565b005b3480156103cd57600080fd5b506103e860048036038101906103e391906130b3565b610ba2565b005b3480156103f657600080fd5b506103ff610c54565b005b34801561040d57600080fd5b506104286004803603810190610423919061305a565b610cc6565b6040516104359190612f8b565b60405180910390f35b34801561044a57600080fd5b50610453610d17565b005b34801561046157600080fd5b5061047c600480360381019061047791906130e0565b610e6a565b005b34801561048a57600080fd5b50610493610f09565b6040516104a09190612f8b565b60405180910390f35b3480156104b557600080fd5b506104be610f0f565b6040516104cb919061303f565b60405180910390f35b3480156104e057600080fd5b506104fb60048036038101906104f691906130b3565b610f38565b005b34801561050957600080fd5b50610512610fe9565b60405161051f9190612e34565b60405180910390f35b34801561053457600080fd5b5061054f600480360381019061054a91906130e0565b611026565b005b34801561055d57600080fd5b5061057860048036038101906105739190612e8c565b6110c5565b6040516105859190612ee7565b60405180910390f35b34801561059a57600080fd5b506105b560048036038101906105b0919061305a565b6110e3565b005b3480156105c357600080fd5b506105de60048036038101906105d9919061305a565b6111d3565b6040516105eb9190612ee7565b60405180910390f35b34801561060057600080fd5b506106096111f3565b005b34801561061757600080fd5b50610632600480360381019061062d919061305a565b61126d565b005b34801561064057600080fd5b5061065b60048036038101906106569190613168565b61135d565b005b34801561066957600080fd5b50610684600480360381019061067f919061305a565b611497565b6040516106919190612ee7565b60405180910390f35b3480156106a657600080fd5b506106c160048036038101906106bc91906131c8565b6114b7565b6040516106ce9190612f8b565b60405180910390f35b3480156106e357600080fd5b506106fe60048036038101906106f9919061305a565b61153e565b005b610708611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c90613254565b60405180910390fd5b60005b8151811015610826576001601160008484815181106107ba576107b9613274565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061081e906132d2565b915050610798565b5050565b60606040518060400160405280601181526020017f446563656e7472616c697a656420457965000000000000000000000000000000815250905090565b600061087b610874611700565b8484611708565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093e90613367565b60405180910390fd5b60006009819055506000600b819055506000600a819055506000600c81905550670de0b6b3a7640000601681905550670de0b6b3a76400006015819055506109a2730dd0fc98671475ae500ae30334af81ed88a65ef961126d565b565b60006109b18484846118d3565b610a72846109bd611700565b610a6d85604051806060016040528060288152602001613ced60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a23611700565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120ab9092919063ffffffff16565b611708565b600190509392505050565b60155481565b60006009905090565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610aba611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e90613254565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610baa611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2e90613254565b60405180910390fd5b80601460166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c95611700565b73ffffffffffffffffffffffffffffffffffffffff1614610cb557600080fd5b6000479050610cc38161210f565b50565b6000610d10600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461217b565b9050919050565b610d1f611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da390613254565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610e72611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef690613254565b60405180910390fd5b8060168190555050565b60165481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610f40611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc490613254565b60405180910390fd5b806014806101000a81548160ff02191690831515021790555050565b60606040518060400160405280600481526020017f6445796500000000000000000000000000000000000000000000000000000000815250905090565b61102e611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b290613254565b60405180910390fd5b8060158190555050565b60006110d96110d2611700565b84846118d3565b6001905092915050565b6110eb611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116f90613254565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60116020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611234611700565b73ffffffffffffffffffffffffffffffffffffffff161461125457600080fd5b600061125f30610cc6565b905061126a816121e9565b50565b611275611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f990613254565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611365611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e990613254565b60405180910390fd5b60005b8383905081101561149157816005600086868581811061141857611417613274565b5b905060200201602081019061142d919061305a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611489906132d2565b9150506113f5565b50505050565b60066020528060005260406000206000915054906101000a900460ff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611546611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ca90613254565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611643576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163a906133f9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176f9061348b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117df9061351d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118c69190612f8b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193a906135af565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119aa90613641565b60405180910390fd5b600081116119f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ed906136d3565b60405180910390fd5b6119fe610f0f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a6c5750611a3c610f0f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611daa5760148054906101000a900460ff16611af957611a8b610f0f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aef90613765565b60405180910390fd5b5b601654811115611b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b35906137d1565b60405180910390fd5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611be25750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611c21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1890613863565b60405180910390fd5b6000611c2c30610cc6565b9050600060155482101590506016548210611c475760165491505b808015611c615750601460159054906101000a900460ff16155b8015611cbb5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611cd35750601460169054906101000a900460ff165b8015611d295750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d7f5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611da757611d8d826121e9565b60004790506000811115611da557611da44761210f565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e515750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611f045750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611f035750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611f125760009050612099565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611fbd5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611fd557600954600d81905550600a54600e819055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156120805750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561209857600b54600d81905550600c54600e819055505b5b6120a584848484612471565b50505050565b60008383111582906120f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ea9190612e34565b60405180910390fd5b50600083856121029190613883565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612177573d6000803e3d6000fd5b5050565b60006007548211156121c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b990613929565b60405180910390fd5b60006121cc61249e565b90506121e181846124c990919063ffffffff16565b915050919050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561222157612220612bc2565b5b60405190808252806020026020018201604052801561224f5781602001602082028036833780820191505090505b509050308160008151811061226757612266613274565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561230957600080fd5b505afa15801561231d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612341919061395e565b8160018151811061235557612354613274565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506123bc30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611708565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612420959493929190613a84565b600060405180830381600087803b15801561243a57600080fd5b505af115801561244e573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b8061247f5761247e612513565b5b61248a848484612556565b8061249857612497612721565b5b50505050565b60008060006124ab612735565b915091506124c281836124c990919063ffffffff16565b9250505090565b600061250b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612794565b905092915050565b6000600d5414801561252757506000600e54145b1561253157612554565b600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b600080600080600080612568876127f7565b9550955095509550955095506125c686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461285f90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061265b85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128a990919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126a781612907565b6126b184836129c4565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161270e9190612f8b565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b600080600060075490506000670de0b6b3a76400009050612769670de0b6b3a76400006007546124c990919063ffffffff16565b82101561278757600754670de0b6b3a7640000935093505050612790565b81819350935050505b9091565b600080831182906127db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127d29190612e34565b60405180910390fd5b50600083856127ea9190613b0d565b9050809150509392505050565b60008060008060008060008060006128148a600d54600e546129fe565b925092509250600061282461249e565b905060008060006128378e878787612a94565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006128a183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506120ab565b905092915050565b60008082846128b89190613b3e565b9050838110156128fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f490613be0565b60405180910390fd5b8091505092915050565b600061291161249e565b905060006129288284612b1d90919063ffffffff16565b905061297c81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128a990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6129d98260075461285f90919063ffffffff16565b6007819055506129f4816008546128a990919063ffffffff16565b6008819055505050565b600080600080612a2a6064612a1c888a612b1d90919063ffffffff16565b6124c990919063ffffffff16565b90506000612a546064612a46888b612b1d90919063ffffffff16565b6124c990919063ffffffff16565b90506000612a7d82612a6f858c61285f90919063ffffffff16565b61285f90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612aad8589612b1d90919063ffffffff16565b90506000612ac48689612b1d90919063ffffffff16565b90506000612adb8789612b1d90919063ffffffff16565b90506000612b0482612af6858761285f90919063ffffffff16565b61285f90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612b305760009050612b92565b60008284612b3e9190613c00565b9050828482612b4d9190613b0d565b14612b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8490613ccc565b60405180910390fd5b809150505b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612bfa82612bb1565b810181811067ffffffffffffffff82111715612c1957612c18612bc2565b5b80604052505050565b6000612c2c612b98565b9050612c388282612bf1565b919050565b600067ffffffffffffffff821115612c5857612c57612bc2565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c9982612c6e565b9050919050565b612ca981612c8e565b8114612cb457600080fd5b50565b600081359050612cc681612ca0565b92915050565b6000612cdf612cda84612c3d565b612c22565b90508083825260208201905060208402830185811115612d0257612d01612c69565b5b835b81811015612d2b5780612d178882612cb7565b845260208401935050602081019050612d04565b5050509392505050565b600082601f830112612d4a57612d49612bac565b5b8135612d5a848260208601612ccc565b91505092915050565b600060208284031215612d7957612d78612ba2565b5b600082013567ffffffffffffffff811115612d9757612d96612ba7565b5b612da384828501612d35565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612de6578082015181840152602081019050612dcb565b83811115612df5576000848401525b50505050565b6000612e0682612dac565b612e108185612db7565b9350612e20818560208601612dc8565b612e2981612bb1565b840191505092915050565b60006020820190508181036000830152612e4e8184612dfb565b905092915050565b6000819050919050565b612e6981612e56565b8114612e7457600080fd5b50565b600081359050612e8681612e60565b92915050565b60008060408385031215612ea357612ea2612ba2565b5b6000612eb185828601612cb7565b9250506020612ec285828601612e77565b9150509250929050565b60008115159050919050565b612ee181612ecc565b82525050565b6000602082019050612efc6000830184612ed8565b92915050565b6000819050919050565b6000612f27612f22612f1d84612c6e565b612f02565b612c6e565b9050919050565b6000612f3982612f0c565b9050919050565b6000612f4b82612f2e565b9050919050565b612f5b81612f40565b82525050565b6000602082019050612f766000830184612f52565b92915050565b612f8581612e56565b82525050565b6000602082019050612fa06000830184612f7c565b92915050565b600080600060608486031215612fbf57612fbe612ba2565b5b6000612fcd86828701612cb7565b9350506020612fde86828701612cb7565b9250506040612fef86828701612e77565b9150509250925092565b600060ff82169050919050565b61300f81612ff9565b82525050565b600060208201905061302a6000830184613006565b92915050565b61303981612c8e565b82525050565b60006020820190506130546000830184613030565b92915050565b6000602082840312156130705761306f612ba2565b5b600061307e84828501612cb7565b91505092915050565b61309081612ecc565b811461309b57600080fd5b50565b6000813590506130ad81613087565b92915050565b6000602082840312156130c9576130c8612ba2565b5b60006130d78482850161309e565b91505092915050565b6000602082840312156130f6576130f5612ba2565b5b600061310484828501612e77565b91505092915050565b600080fd5b60008083601f84011261312857613127612bac565b5b8235905067ffffffffffffffff8111156131455761314461310d565b5b60208301915083602082028301111561316157613160612c69565b5b9250929050565b60008060006040848603121561318157613180612ba2565b5b600084013567ffffffffffffffff81111561319f5761319e612ba7565b5b6131ab86828701613112565b935093505060206131be8682870161309e565b9150509250925092565b600080604083850312156131df576131de612ba2565b5b60006131ed85828601612cb7565b92505060206131fe85828601612cb7565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061323e602083612db7565b915061324982613208565b602082019050919050565b6000602082019050818103600083015261326d81613231565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006132dd82612e56565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156133105761330f6132a3565b5b600182019050919050565b7f5265737472696374656420746f206465762e0000000000000000000000000000600082015250565b6000613351601283612db7565b915061335c8261331b565b602082019050919050565b6000602082019050818103600083015261338081613344565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006133e3602683612db7565b91506133ee82613387565b604082019050919050565b60006020820190508181036000830152613412816133d6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613475602483612db7565b915061348082613419565b604082019050919050565b600060208201905081810360008301526134a481613468565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613507602283612db7565b9150613512826134ab565b604082019050919050565b60006020820190508181036000830152613536816134fa565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613599602583612db7565b91506135a48261353d565b604082019050919050565b600060208201905081810360008301526135c88161358c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061362b602383612db7565b9150613636826135cf565b604082019050919050565b6000602082019050818103600083015261365a8161361e565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006136bd602983612db7565b91506136c882613661565b604082019050919050565b600060208201905081810360008301526136ec816136b0565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b600061374f603f83612db7565b915061375a826136f3565b604082019050919050565b6000602082019050818103600083015261377e81613742565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b60006137bb601c83612db7565b91506137c682613785565b602082019050919050565b600060208201905081810360008301526137ea816137ae565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b600061384d602383612db7565b9150613858826137f1565b604082019050919050565b6000602082019050818103600083015261387c81613840565b9050919050565b600061388e82612e56565b915061389983612e56565b9250828210156138ac576138ab6132a3565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613913602a83612db7565b915061391e826138b7565b604082019050919050565b6000602082019050818103600083015261394281613906565b9050919050565b60008151905061395881612ca0565b92915050565b60006020828403121561397457613973612ba2565b5b600061398284828501613949565b91505092915050565b6000819050919050565b60006139b06139ab6139a68461398b565b612f02565b612e56565b9050919050565b6139c081613995565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6139fb81612c8e565b82525050565b6000613a0d83836139f2565b60208301905092915050565b6000602082019050919050565b6000613a31826139c6565b613a3b81856139d1565b9350613a46836139e2565b8060005b83811015613a77578151613a5e8882613a01565b9750613a6983613a19565b925050600181019050613a4a565b5085935050505092915050565b600060a082019050613a996000830188612f7c565b613aa660208301876139b7565b8181036040830152613ab88186613a26565b9050613ac76060830185613030565b613ad46080830184612f7c565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b1882612e56565b9150613b2383612e56565b925082613b3357613b32613ade565b5b828204905092915050565b6000613b4982612e56565b9150613b5483612e56565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613b8957613b886132a3565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613bca601b83612db7565b9150613bd582613b94565b602082019050919050565b60006020820190508181036000830152613bf981613bbd565b9050919050565b6000613c0b82612e56565b9150613c1683612e56565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c4f57613c4e6132a3565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613cb6602183612db7565b9150613cc182613c5a565b604082019050919050565b60006020820190508181036000830152613ce581613ca9565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220437b83613c7d418a3793601fd10c6827b38c064038e04ad86b3cbc13410b25d064736f6c634300080900330000000000000000000000001402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b
Deployed Bytecode
0x6080604052600436106101d05760003560e01c806374010ece116100f7578063b91d3ace11610095578063c492f04611610064578063c492f04614610634578063c8e249051461065d578063dd62ed3e1461069a578063f2fde38b146106d7576101d7565b8063b91d3ace1461058e578063bfd79284146105b7578063c3c8cd80146105f4578063c4026d7b1461060b576101d7565b80638f70ccf7116100d15780638f70ccf7146104d457806395d89b41146104fd57806398a5c31514610528578063a9059cbb14610551576101d7565b806374010ece146104555780637d1db4a51461047e5780638da5cb5b146104a9576101d7565b80632fd689e31161016f5780636d8aa8f81161013e5780636d8aa8f8146103c15780636fc3eaec146103ea57806370a0823114610401578063715018a61461043e576101d7565b80632fd689e314610317578063313ce5671461034257806349bd5a5e1461036d5780636b99905314610398576101d7565b80631694505e116101ab5780631694505e1461026d57806318160ddd14610298578063238b46ae146102c357806323b872dd146102da576101d7565b8062b8cf2a146101dc57806306fdde0314610205578063095ea7b314610230576101d7565b366101d757005b600080fd5b3480156101e857600080fd5b5061020360048036038101906101fe9190612d63565b610700565b005b34801561021157600080fd5b5061021a61082a565b6040516102279190612e34565b60405180910390f35b34801561023c57600080fd5b5061025760048036038101906102529190612e8c565b610867565b6040516102649190612ee7565b60405180910390f35b34801561027957600080fd5b50610282610885565b60405161028f9190612f61565b60405180910390f35b3480156102a457600080fd5b506102ad6108ab565b6040516102ba9190612f8b565b60405180910390f35b3480156102cf57600080fd5b506102d86108bb565b005b3480156102e657600080fd5b5061030160048036038101906102fc9190612fa6565b6109a4565b60405161030e9190612ee7565b60405180910390f35b34801561032357600080fd5b5061032c610a7d565b6040516103399190612f8b565b60405180910390f35b34801561034e57600080fd5b50610357610a83565b6040516103649190613015565b60405180910390f35b34801561037957600080fd5b50610382610a8c565b60405161038f919061303f565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba919061305a565b610ab2565b005b3480156103cd57600080fd5b506103e860048036038101906103e391906130b3565b610ba2565b005b3480156103f657600080fd5b506103ff610c54565b005b34801561040d57600080fd5b506104286004803603810190610423919061305a565b610cc6565b6040516104359190612f8b565b60405180910390f35b34801561044a57600080fd5b50610453610d17565b005b34801561046157600080fd5b5061047c600480360381019061047791906130e0565b610e6a565b005b34801561048a57600080fd5b50610493610f09565b6040516104a09190612f8b565b60405180910390f35b3480156104b557600080fd5b506104be610f0f565b6040516104cb919061303f565b60405180910390f35b3480156104e057600080fd5b506104fb60048036038101906104f691906130b3565b610f38565b005b34801561050957600080fd5b50610512610fe9565b60405161051f9190612e34565b60405180910390f35b34801561053457600080fd5b5061054f600480360381019061054a91906130e0565b611026565b005b34801561055d57600080fd5b5061057860048036038101906105739190612e8c565b6110c5565b6040516105859190612ee7565b60405180910390f35b34801561059a57600080fd5b506105b560048036038101906105b0919061305a565b6110e3565b005b3480156105c357600080fd5b506105de60048036038101906105d9919061305a565b6111d3565b6040516105eb9190612ee7565b60405180910390f35b34801561060057600080fd5b506106096111f3565b005b34801561061757600080fd5b50610632600480360381019061062d919061305a565b61126d565b005b34801561064057600080fd5b5061065b60048036038101906106569190613168565b61135d565b005b34801561066957600080fd5b50610684600480360381019061067f919061305a565b611497565b6040516106919190612ee7565b60405180910390f35b3480156106a657600080fd5b506106c160048036038101906106bc91906131c8565b6114b7565b6040516106ce9190612f8b565b60405180910390f35b3480156106e357600080fd5b506106fe60048036038101906106f9919061305a565b61153e565b005b610708611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c90613254565b60405180910390fd5b60005b8151811015610826576001601160008484815181106107ba576107b9613274565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061081e906132d2565b915050610798565b5050565b60606040518060400160405280601181526020017f446563656e7472616c697a656420457965000000000000000000000000000000815250905090565b600061087b610874611700565b8484611708565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093e90613367565b60405180910390fd5b60006009819055506000600b819055506000600a819055506000600c81905550670de0b6b3a7640000601681905550670de0b6b3a76400006015819055506109a2730dd0fc98671475ae500ae30334af81ed88a65ef961126d565b565b60006109b18484846118d3565b610a72846109bd611700565b610a6d85604051806060016040528060288152602001613ced60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a23611700565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120ab9092919063ffffffff16565b611708565b600190509392505050565b60155481565b60006009905090565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610aba611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e90613254565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610baa611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2e90613254565b60405180910390fd5b80601460166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c95611700565b73ffffffffffffffffffffffffffffffffffffffff1614610cb557600080fd5b6000479050610cc38161210f565b50565b6000610d10600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461217b565b9050919050565b610d1f611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da390613254565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610e72611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef690613254565b60405180910390fd5b8060168190555050565b60165481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610f40611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc490613254565b60405180910390fd5b806014806101000a81548160ff02191690831515021790555050565b60606040518060400160405280600481526020017f6445796500000000000000000000000000000000000000000000000000000000815250905090565b61102e611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b290613254565b60405180910390fd5b8060158190555050565b60006110d96110d2611700565b84846118d3565b6001905092915050565b6110eb611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116f90613254565b60405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60116020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611234611700565b73ffffffffffffffffffffffffffffffffffffffff161461125457600080fd5b600061125f30610cc6565b905061126a816121e9565b50565b611275611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f990613254565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611365611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e990613254565b60405180910390fd5b60005b8383905081101561149157816005600086868581811061141857611417613274565b5b905060200201602081019061142d919061305a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611489906132d2565b9150506113f5565b50505050565b60066020528060005260406000206000915054906101000a900460ff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611546611700565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ca90613254565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611643576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163a906133f9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611778576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176f9061348b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117df9061351d565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118c69190612f8b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193a906135af565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119aa90613641565b60405180910390fd5b600081116119f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ed906136d3565b60405180910390fd5b6119fe610f0f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a6c5750611a3c610f0f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611daa5760148054906101000a900460ff16611af957611a8b610f0f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aef90613765565b60405180910390fd5b5b601654811115611b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b35906137d1565b60405180910390fd5b601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611be25750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611c21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1890613863565b60405180910390fd5b6000611c2c30610cc6565b9050600060155482101590506016548210611c475760165491505b808015611c615750601460159054906101000a900460ff16155b8015611cbb5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611cd35750601460169054906101000a900460ff165b8015611d295750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d7f5750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611da757611d8d826121e9565b60004790506000811115611da557611da44761210f565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e515750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611f045750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611f035750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611f125760009050612099565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611fbd5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611fd557600954600d81905550600a54600e819055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156120805750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561209857600b54600d81905550600c54600e819055505b5b6120a584848484612471565b50505050565b60008383111582906120f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ea9190612e34565b60405180910390fd5b50600083856121029190613883565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612177573d6000803e3d6000fd5b5050565b60006007548211156121c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b990613929565b60405180910390fd5b60006121cc61249e565b90506121e181846124c990919063ffffffff16565b915050919050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561222157612220612bc2565b5b60405190808252806020026020018201604052801561224f5781602001602082028036833780820191505090505b509050308160008151811061226757612266613274565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561230957600080fd5b505afa15801561231d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612341919061395e565b8160018151811061235557612354613274565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506123bc30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611708565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612420959493929190613a84565b600060405180830381600087803b15801561243a57600080fd5b505af115801561244e573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b8061247f5761247e612513565b5b61248a848484612556565b8061249857612497612721565b5b50505050565b60008060006124ab612735565b915091506124c281836124c990919063ffffffff16565b9250505090565b600061250b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612794565b905092915050565b6000600d5414801561252757506000600e54145b1561253157612554565b600d54600f81905550600e546010819055506000600d819055506000600e819055505b565b600080600080600080612568876127f7565b9550955095509550955095506125c686600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461285f90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061265b85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128a990919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126a781612907565b6126b184836129c4565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161270e9190612f8b565b60405180910390a3505050505050505050565b600f54600d81905550601054600e81905550565b600080600060075490506000670de0b6b3a76400009050612769670de0b6b3a76400006007546124c990919063ffffffff16565b82101561278757600754670de0b6b3a7640000935093505050612790565b81819350935050505b9091565b600080831182906127db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127d29190612e34565b60405180910390fd5b50600083856127ea9190613b0d565b9050809150509392505050565b60008060008060008060008060006128148a600d54600e546129fe565b925092509250600061282461249e565b905060008060006128378e878787612a94565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006128a183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506120ab565b905092915050565b60008082846128b89190613b3e565b9050838110156128fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f490613be0565b60405180910390fd5b8091505092915050565b600061291161249e565b905060006129288284612b1d90919063ffffffff16565b905061297c81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128a990919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6129d98260075461285f90919063ffffffff16565b6007819055506129f4816008546128a990919063ffffffff16565b6008819055505050565b600080600080612a2a6064612a1c888a612b1d90919063ffffffff16565b6124c990919063ffffffff16565b90506000612a546064612a46888b612b1d90919063ffffffff16565b6124c990919063ffffffff16565b90506000612a7d82612a6f858c61285f90919063ffffffff16565b61285f90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612aad8589612b1d90919063ffffffff16565b90506000612ac48689612b1d90919063ffffffff16565b90506000612adb8789612b1d90919063ffffffff16565b90506000612b0482612af6858761285f90919063ffffffff16565b61285f90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612b305760009050612b92565b60008284612b3e9190613c00565b9050828482612b4d9190613b0d565b14612b8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8490613ccc565b60405180910390fd5b809150505b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612bfa82612bb1565b810181811067ffffffffffffffff82111715612c1957612c18612bc2565b5b80604052505050565b6000612c2c612b98565b9050612c388282612bf1565b919050565b600067ffffffffffffffff821115612c5857612c57612bc2565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c9982612c6e565b9050919050565b612ca981612c8e565b8114612cb457600080fd5b50565b600081359050612cc681612ca0565b92915050565b6000612cdf612cda84612c3d565b612c22565b90508083825260208201905060208402830185811115612d0257612d01612c69565b5b835b81811015612d2b5780612d178882612cb7565b845260208401935050602081019050612d04565b5050509392505050565b600082601f830112612d4a57612d49612bac565b5b8135612d5a848260208601612ccc565b91505092915050565b600060208284031215612d7957612d78612ba2565b5b600082013567ffffffffffffffff811115612d9757612d96612ba7565b5b612da384828501612d35565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612de6578082015181840152602081019050612dcb565b83811115612df5576000848401525b50505050565b6000612e0682612dac565b612e108185612db7565b9350612e20818560208601612dc8565b612e2981612bb1565b840191505092915050565b60006020820190508181036000830152612e4e8184612dfb565b905092915050565b6000819050919050565b612e6981612e56565b8114612e7457600080fd5b50565b600081359050612e8681612e60565b92915050565b60008060408385031215612ea357612ea2612ba2565b5b6000612eb185828601612cb7565b9250506020612ec285828601612e77565b9150509250929050565b60008115159050919050565b612ee181612ecc565b82525050565b6000602082019050612efc6000830184612ed8565b92915050565b6000819050919050565b6000612f27612f22612f1d84612c6e565b612f02565b612c6e565b9050919050565b6000612f3982612f0c565b9050919050565b6000612f4b82612f2e565b9050919050565b612f5b81612f40565b82525050565b6000602082019050612f766000830184612f52565b92915050565b612f8581612e56565b82525050565b6000602082019050612fa06000830184612f7c565b92915050565b600080600060608486031215612fbf57612fbe612ba2565b5b6000612fcd86828701612cb7565b9350506020612fde86828701612cb7565b9250506040612fef86828701612e77565b9150509250925092565b600060ff82169050919050565b61300f81612ff9565b82525050565b600060208201905061302a6000830184613006565b92915050565b61303981612c8e565b82525050565b60006020820190506130546000830184613030565b92915050565b6000602082840312156130705761306f612ba2565b5b600061307e84828501612cb7565b91505092915050565b61309081612ecc565b811461309b57600080fd5b50565b6000813590506130ad81613087565b92915050565b6000602082840312156130c9576130c8612ba2565b5b60006130d78482850161309e565b91505092915050565b6000602082840312156130f6576130f5612ba2565b5b600061310484828501612e77565b91505092915050565b600080fd5b60008083601f84011261312857613127612bac565b5b8235905067ffffffffffffffff8111156131455761314461310d565b5b60208301915083602082028301111561316157613160612c69565b5b9250929050565b60008060006040848603121561318157613180612ba2565b5b600084013567ffffffffffffffff81111561319f5761319e612ba7565b5b6131ab86828701613112565b935093505060206131be8682870161309e565b9150509250925092565b600080604083850312156131df576131de612ba2565b5b60006131ed85828601612cb7565b92505060206131fe85828601612cb7565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061323e602083612db7565b915061324982613208565b602082019050919050565b6000602082019050818103600083015261326d81613231565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006132dd82612e56565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156133105761330f6132a3565b5b600182019050919050565b7f5265737472696374656420746f206465762e0000000000000000000000000000600082015250565b6000613351601283612db7565b915061335c8261331b565b602082019050919050565b6000602082019050818103600083015261338081613344565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006133e3602683612db7565b91506133ee82613387565b604082019050919050565b60006020820190508181036000830152613412816133d6565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613475602483612db7565b915061348082613419565b604082019050919050565b600060208201905081810360008301526134a481613468565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613507602283612db7565b9150613512826134ab565b604082019050919050565b60006020820190508181036000830152613536816134fa565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613599602583612db7565b91506135a48261353d565b604082019050919050565b600060208201905081810360008301526135c88161358c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061362b602383612db7565b9150613636826135cf565b604082019050919050565b6000602082019050818103600083015261365a8161361e565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006136bd602983612db7565b91506136c882613661565b604082019050919050565b600060208201905081810360008301526136ec816136b0565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b600061374f603f83612db7565b915061375a826136f3565b604082019050919050565b6000602082019050818103600083015261377e81613742565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b60006137bb601c83612db7565b91506137c682613785565b602082019050919050565b600060208201905081810360008301526137ea816137ae565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b600061384d602383612db7565b9150613858826137f1565b604082019050919050565b6000602082019050818103600083015261387c81613840565b9050919050565b600061388e82612e56565b915061389983612e56565b9250828210156138ac576138ab6132a3565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613913602a83612db7565b915061391e826138b7565b604082019050919050565b6000602082019050818103600083015261394281613906565b9050919050565b60008151905061395881612ca0565b92915050565b60006020828403121561397457613973612ba2565b5b600061398284828501613949565b91505092915050565b6000819050919050565b60006139b06139ab6139a68461398b565b612f02565b612e56565b9050919050565b6139c081613995565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6139fb81612c8e565b82525050565b6000613a0d83836139f2565b60208301905092915050565b6000602082019050919050565b6000613a31826139c6565b613a3b81856139d1565b9350613a46836139e2565b8060005b83811015613a77578151613a5e8882613a01565b9750613a6983613a19565b925050600181019050613a4a565b5085935050505092915050565b600060a082019050613a996000830188612f7c565b613aa660208301876139b7565b8181036040830152613ab88186613a26565b9050613ac76060830185613030565b613ad46080830184612f7c565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b1882612e56565b9150613b2383612e56565b925082613b3357613b32613ade565b5b828204905092915050565b6000613b4982612e56565b9150613b5483612e56565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613b8957613b886132a3565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613bca601b83612db7565b9150613bd582613b94565b602082019050919050565b60006020820190508181036000830152613bf981613bbd565b9050919050565b6000613c0b82612e56565b9150613c1683612e56565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c4f57613c4e6132a3565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613cb6602183612db7565b9150613cc182613c5a565b604082019050919050565b60006020820190508181036000830152613ce581613ca9565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220437b83613c7d418a3793601fd10c6827b38c064038e04ad86b3cbc13410b25d064736f6c63430008090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000001402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b
-----Decoded View---------------
Arg [0] : _dev (address): 0x1402d22D2A6F76c0F7abbd2aC8361bc28eFA7F7b
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000001402d22d2a6f76c0f7abbd2ac8361bc28efa7f7b
Deployed Bytecode Sourcemap
4502:13440:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12816:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6905:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7830:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5741:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7182:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16543:325;;;;;;;;;;;;;:::i;:::-;;8031:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5938:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7091:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5789:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12993:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17142:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12619:189;;;;;;;;;;;;;:::i;:::-;;7285:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1989:148;;;;;;;;;;;;;:::i;:::-;;17282:108;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5997:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1775:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12312:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6996:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16936:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7431:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17642:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5600:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12421:190;;;;;;;;;;;;;:::i;:::-;;17739:93;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17400:234;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4970:37;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7638:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2145:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12816:169;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12892:9:::1;12887:91;12911:5;:12;12907:1;:16;12887:91;;;12962:4;12945;:14;12950:5;12956:1;12950:8;;;;;;;;:::i;:::-;;;;;;;;12945:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12925:3;;;;;:::i;:::-;;;;12887:91;;;;12816:169:::0;:::o;6905:83::-;6942:13;6975:5;;;;;;;;;;;;;;;;;6968:12;;6905:83;:::o;7830:193::-;7932:4;7954:39;7963:12;:10;:12::i;:::-;7977:7;7986:6;7954:8;:39::i;:::-;8011:4;8004:11;;7830:193;;;;:::o;5741:41::-;;;;;;;;;;;;;:::o;7182:95::-;7235:7;5098:18;7255:14;;7182:95;:::o;16543:325::-;17878:4;:16;17883:10;17878:16;;;;;;;;;;;;;;;;;;;;;;;;;17870:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;16613:1:::1;16596:14;:18;;;;16643:1;16625:15;:19;;;;16670:1;16655:12;:16;;;;16698:1;16682:13;:17;;;;16725:19;16710:12;:34;;;;16777:19;16755;:41;;;;16807:53;16817:42;16807:9;:53::i;:::-;16543:325::o:0;8031:446::-;8163:4;8180:36;8190:6;8198:9;8209:6;8180:9;:36::i;:::-;8227:220;8250:6;8271:12;:10;:12::i;:::-;8298:138;8354:6;8298:138;;;;;;;;;;;;;;;;;:11;:19;8310:6;8298:19;;;;;;;;;;;;;;;:33;8318:12;:10;:12::i;:::-;8298:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;8227:8;:220::i;:::-;8465:4;8458:11;;8031:446;;;;;:::o;5938:50::-;;;;:::o;7091:83::-;7132:5;4728:1;7150:16;;7091:83;:::o;5789:28::-;;;;;;;;;;;;;:::o;12993:92::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13072:5:::1;13057:4;:12;13062:6;13057:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;12993:92:::0;:::o;17142:101::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17223:12:::1;17209:11;;:26;;;;;;;;;;;;;;;;;;17142:101:::0;:::o;12619:189::-;12685:10;;;;;;;;;;;12669:26;;:12;:10;:12::i;:::-;:26;;;12661:35;;;;;;12707:26;12736:21;12707:50;;12768:32;12781:18;12768:12;:32::i;:::-;12650:158;12619:189::o;7285:138::-;7351:7;7378:37;7398:7;:16;7406:7;7398:16;;;;;;;;;;;;;;;;7378:19;:37::i;:::-;7371:44;;7285:138;;;:::o;1989:148::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2096:1:::1;2059:40;;2080:6;::::0;::::1;;;;;;;;2059:40;;;;;;;;;;;;2127:1;2110:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1989:148::o:0;17282:108::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17371:11:::1;17356:12;:26;;;;17282:108:::0;:::o;5997:46::-;;;;:::o;1775:79::-;1813:7;1840:6;;;;;;;;;;;1833:13;;1775:79;:::o;12312:101::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12393:12:::1;12379:11;::::0;:26:::1;;;;;;;;;;;;;;;;;;12312:101:::0;:::o;6996:87::-;7035:13;7068:7;;;;;;;;;;;;;;;;;7061:14;;6996:87;:::o;16936:139::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17049:18:::1;17027:19;:40;;;;16936:139:::0;:::o;7431:199::-;7536:4;7558:42;7568:12;:10;:12::i;:::-;7582:9;7593:6;7558:9;:42::i;:::-;7618:4;7611:11;;7431:199;;;;:::o;17642:89::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17719:4:::1;17703;:13;17708:7;17703:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;17642:89:::0;:::o;5600:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;12421:190::-;12487:10;;;;;;;;;;;12471:26;;:12;:10;:12::i;:::-;:26;;;12463:35;;;;;;12509:23;12535:24;12553:4;12535:9;:24::i;:::-;12509:50;;12570:33;12587:15;12570:16;:33::i;:::-;12452:159;12421:190::o;17739:93::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17819:5:::1;17803:4;:13;17808:7;17803:13;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;17739:93:::0;:::o;17400:234::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;17517:9:::1;17513:114;17536:8;;:15;;17532:1;:19;17513:114;;;17607:8;17573:18;:31;17592:8;;17601:1;17592:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;17573:31;;;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;17553:3;;;;;:::i;:::-;;;;17513:114;;;;17400:234:::0;;;:::o;4970:37::-;;;;;;;;;;;;;;;;;;;;;;:::o;7638:184::-;7755:7;7787:11;:18;7799:5;7787:18;;;;;;;;;;;;;;;:27;7806:7;7787:27;;;;;;;;;;;;;;;;7780:34;;7638:184;;;;:::o;2145:244::-;1912:12;:10;:12::i;:::-;1902:22;;:6;;;;;;;;;;:22;;;1894:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2254:1:::1;2234:22;;:8;:22;;;;2226:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2344:8;2315:38;;2336:6;::::0;::::1;;;;;;;;2315:38;;;;;;;;;;;;2373:8;2364:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2145:244:::0;:::o;534:98::-;587:7;614:10;607:17;;534:98;:::o;9168:369::-;9312:1;9295:19;;:5;:19;;;;9287:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9393:1;9374:21;;:7;:21;;;;9366:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9475:6;9445:11;:18;9457:5;9445:18;;;;;;;;;;;;;;;:27;9464:7;9445:27;;;;;;;;;;;;;;;:36;;;;9513:7;9497:32;;9506:5;9497:32;;;9522:6;9497:32;;;;;;:::i;:::-;;;;;;;;9168:369;;;:::o;9545:2168::-;9683:1;9667:18;;:4;:18;;;;9659:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9760:1;9746:16;;:2;:16;;;;9738:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9830:1;9821:6;:10;9813:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;9902:7;:5;:7::i;:::-;9894:15;;:4;:15;;;;:32;;;;;9919:7;:5;:7::i;:::-;9913:13;;:2;:13;;;;9894:32;9890:1097;;;9983:11;;;;;;;;;;9978:144;;10031:7;:5;:7::i;:::-;10023:15;;:4;:15;;;10015:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;9978:144;10156:12;;10146:6;:22;;10138:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10225:4;:10;10230:4;10225:10;;;;;;;;;;;;;;;;;;;;;;;;;10224:11;:24;;;;;10240:4;:8;10245:2;10240:8;;;;;;;;;;;;;;;;;;;;;;;;;10239:9;10224:24;10216:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;10305:28;10336:24;10354:4;10336:9;:24::i;:::-;10305:55;;10375:12;10414:19;;10390:20;:43;;10375:58;;10477:12;;10453:20;:36;10450:124;;10546:12;;10523:35;;10450:124;10594:7;:18;;;;;10606:6;;;;;;;;;;;10605:7;10594:18;:43;;;;;10624:13;;;;;;;;;;;10616:21;;:4;:21;;;;10594:43;:58;;;;;10641:11;;;;;;;;;;;10594:58;:87;;;;;10657:18;:24;10676:4;10657:24;;;;;;;;;;;;;;;;;;;;;;;;;10656:25;10594:87;:114;;;;;10686:18;:22;10705:2;10686:22;;;;;;;;;;;;;;;;;;;;;;;;;10685:23;10594:114;10590:386;;;10729:38;10746:20;10729:16;:38::i;:::-;10786:26;10815:21;10786:50;;10880:1;10859:18;:22;10855:106;;;10906:35;10919:21;10906:12;:35::i;:::-;10855:106;10710:266;10590:386;9928:1059;;9890:1097;10999:12;11014:4;10999:19;;11063:18;:24;11082:4;11063:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;11091:18;:22;11110:2;11091:22;;;;;;;;;;;;;;;;;;;;;;;;;11063:50;11062:102;;;;11127:13;;;;;;;;;;;11119:21;;:4;:21;;;;:44;;;;;11150:13;;;;;;;;;;;11144:19;;:2;:19;;;;11119:44;11062:102;11058:594;;;11191:5;11181:15;;11058:594;;;11274:13;;;;;;;;;;;11266:21;;:4;:21;;;:55;;;;;11305:15;;;;;;;;;;;11291:30;;:2;:30;;;;11266:55;11263:162;;;11354:14;;11342:9;:26;;;;11397:12;;11387:7;:22;;;;11263:162;11484:13;;;;;;;;;;;11478:19;;:2;:19;;;:55;;;;;11517:15;;;;;;;;;;;11501:32;;:4;:32;;;;11478:55;11474:165;;;11566:15;;11554:9;:27;;;;11610:13;;11600:7;:23;;;;11474:165;11058:594;11664:41;11679:4;11685:2;11689:6;11697:7;11664:14;:41::i;:::-;9648:2065;9545:2168;;;:::o;2753:224::-;2873:7;2906:1;2901;:6;;2909:12;2893:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2933:9;2949:1;2945;:5;;;;:::i;:::-;2933:17;;2968:1;2961:8;;;2753:224;;;;;:::o;12212:92::-;12269:10;;;;;;;;;;;:19;;:27;12289:6;12269:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12212:92;:::o;8485:323::-;8580:7;8638;;8627;:18;;8605:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;8726:19;8748:10;:8;:10::i;:::-;8726:32;;8776:24;8788:11;8776:7;:11;;:24;;;;:::i;:::-;8769:31;;;8485:323;;;:::o;11721:483::-;6237:4;6228:6;;:13;;;;;;;;;;;;;;;;;;11799:21:::1;11837:1;11823:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11799:40;;11868:4;11850;11855:1;11850:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11894:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11884:4;11889:1;11884:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;11927:62;11944:4;11959:15;;;;;;;;;;;11977:11;11927:8;:62::i;:::-;12000:15;;;;;;;;;;;:66;;;12081:11;12107:1;12123:4;12150;12170:15;12000:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11788:416;6273:5:::0;6264:6;;:14;;;;;;;;;;;;;;;;;;11721:483;:::o;13093:282::-;13249:7;13244:28;;13258:14;:12;:14::i;:::-;13244:28;13283:44;13301:6;13309:9;13320:6;13283:17;:44::i;:::-;13343:7;13338:29;;13352:15;:13;:15::i;:::-;13338:29;13093:282;;;;:::o;16054:164::-;16096:7;16117:15;16134;16153:19;:17;:19::i;:::-;16116:56;;;;16190:20;16202:7;16190;:11;;:20;;;;:::i;:::-;16183:27;;;;16054:164;:::o;3239:132::-;3297:7;3324:39;3328:1;3331;3324:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3317:46;;3239:132;;;;:::o;8816:219::-;8876:1;8863:9;;:14;:30;;;;;8892:1;8881:7;;:12;8863:30;8859:43;;;8895:7;;8859:43;8934:9;;8914:17;:29;;;;8972:7;;8954:15;:25;;;;9004:1;8992:9;:13;;;;9026:1;9016:7;:11;;;;8816:219;:::o;13383:610::-;13530:15;13560:23;13598:12;13625:23;13663:12;13690:13;13717:19;13728:7;13717:10;:19::i;:::-;13515:221;;;;;;;;;;;;13765:28;13785:7;13765;:15;13773:6;13765:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13747:7;:15;13755:6;13747:15;;;;;;;;;;;;;;;:46;;;;13825:39;13848:15;13825:7;:18;13833:9;13825:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13804:7;:18;13812:9;13804:18;;;;;;;;;;;;;;;:60;;;;13875:16;13885:5;13875:9;:16::i;:::-;13902:23;13914:4;13920;13902:11;:23::i;:::-;13958:9;13941:44;;13950:6;13941:44;;;13969:15;13941:44;;;;;;:::i;:::-;;;;;;;;13504:489;;;;;;13383:610;;;:::o;9043:117::-;9099:17;;9087:9;:29;;;;9137:15;;9127:7;:25;;;;9043:117::o;16226:257::-;16277:7;16286;16306:15;16324:7;;16306:25;;16342:15;5098:18;16342:25;;16392:20;5098:18;16392:7;;:11;;:20;;;;:::i;:::-;16382:7;:30;16378:61;;;16422:7;;5098:18;16414:25;;;;;;;;16378:61;16458:7;16467;16450:25;;;;;;16226:257;;;:::o;3379:223::-;3499:7;3531:1;3527;:5;3534:12;3519:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3558:9;3574:1;3570;:5;;;;:::i;:::-;3558:17;;3593:1;3586:8;;;3379:223;;;;;:::o;14412:615::-;14512:7;14534;14556;14578;14600;14622;14658:23;14683:12;14697:13;14727:40;14739:7;14748:9;;14759:7;;14727:11;:40::i;:::-;14657:110;;;;;;14778:19;14800:10;:8;:10::i;:::-;14778:32;;14822:15;14839:23;14864:12;14893:46;14905:7;14914:4;14920:5;14927:11;14893;:46::i;:::-;14821:118;;;;;;14958:7;14967:15;14984:4;14990:15;15007:4;15013:5;14950:69;;;;;;;;;;;;;;;;;;;14412:615;;;;;;;:::o;2609:136::-;2667:7;2694:43;2698:1;2701;2694:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2687:50;;2609:136;;;;:::o;2422:179::-;2480:7;2500:9;2516:1;2512;:5;;;;:::i;:::-;2500:17;;2541:1;2536;:6;;2528:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2592:1;2585:8;;;2422:179;;;;:::o;14001:211::-;14054:19;14076:10;:8;:10::i;:::-;14054:32;;14097:13;14113:22;14123:11;14113:5;:9;;:22;;;;:::i;:::-;14097:38;;14171:33;14198:5;14171:7;:22;14187:4;14171:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;14146:7;:22;14162:4;14146:22;;;;;;;;;;;;;;;:58;;;;14043:169;;14001:211;:::o;14220:147::-;14298:17;14310:4;14298:7;;:11;;:17;;;;:::i;:::-;14288:7;:27;;;;14339:20;14354:4;14339:10;;:14;;:20;;;;:::i;:::-;14326:10;:33;;;;14220:147;;:::o;15035:469::-;15204:7;15226;15248;15283:12;15298:30;15324:3;15298:21;15310:8;15298:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;15283:45;;15339:13;15355:28;15379:3;15355:19;15367:6;15355:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15339:44;;15394:23;15420:28;15442:5;15420:17;15432:4;15420:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15394:54;;15467:15;15484:4;15490:5;15459:37;;;;;;;;;15035:469;;;;;;;:::o;15512:534::-;15706:7;15728;15750;15785:15;15803:24;15815:11;15803:7;:11;;:24;;;;:::i;:::-;15785:42;;15838:12;15853:21;15862:11;15853:4;:8;;:21;;;;:::i;:::-;15838:36;;15885:13;15901:22;15911:11;15901:5;:9;;:22;;;;:::i;:::-;15885:38;;15934:23;15960:28;15982:5;15960:17;15972:4;15960:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15934:54;;16007:7;16016:15;16033:4;15999:39;;;;;;;;;;15512:534;;;;;;;;:::o;2985:246::-;3043:7;3072:1;3067;:6;3063:47;;;3097:1;3090:8;;;;3063:47;3120:9;3136:1;3132;:5;;;;:::i;:::-;3120:17;;3165:1;3160;3156;:5;;;;:::i;:::-;:10;3148:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3222:1;3215:8;;;2985:246;;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:99::-;3843:6;3877:5;3871:12;3861:22;;3791:99;;;:::o;3896:169::-;3980:11;4014:6;4009:3;4002:19;4054:4;4049:3;4045:14;4030:29;;3896:169;;;;:::o;4071:307::-;4139:1;4149:113;4163:6;4160:1;4157:13;4149:113;;;4248:1;4243:3;4239:11;4233:18;4229:1;4224:3;4220:11;4213:39;4185:2;4182:1;4178:10;4173:15;;4149:113;;;4280:6;4277:1;4274:13;4271:101;;;4360:1;4351:6;4346:3;4342:16;4335:27;4271:101;4120:258;4071:307;;;:::o;4384:364::-;4472:3;4500:39;4533:5;4500:39;:::i;:::-;4555:71;4619:6;4614:3;4555:71;:::i;:::-;4548:78;;4635:52;4680:6;4675:3;4668:4;4661:5;4657:16;4635:52;:::i;:::-;4712:29;4734:6;4712:29;:::i;:::-;4707:3;4703:39;4696:46;;4476:272;4384:364;;;;:::o;4754:313::-;4867:4;4905:2;4894:9;4890:18;4882:26;;4954:9;4948:4;4944:20;4940:1;4929:9;4925:17;4918:47;4982:78;5055:4;5046:6;4982:78;:::i;:::-;4974:86;;4754:313;;;;:::o;5073:77::-;5110:7;5139:5;5128:16;;5073:77;;;:::o;5156:122::-;5229:24;5247:5;5229:24;:::i;:::-;5222:5;5219:35;5209:63;;5268:1;5265;5258:12;5209:63;5156:122;:::o;5284:139::-;5330:5;5368:6;5355:20;5346:29;;5384:33;5411:5;5384:33;:::i;:::-;5284:139;;;;:::o;5429:474::-;5497:6;5505;5554:2;5542:9;5533:7;5529:23;5525:32;5522:119;;;5560:79;;:::i;:::-;5522:119;5680:1;5705:53;5750:7;5741:6;5730:9;5726:22;5705:53;:::i;:::-;5695:63;;5651:117;5807:2;5833:53;5878:7;5869:6;5858:9;5854:22;5833:53;:::i;:::-;5823:63;;5778:118;5429:474;;;;;:::o;5909:90::-;5943:7;5986:5;5979:13;5972:21;5961:32;;5909:90;;;:::o;6005:109::-;6086:21;6101:5;6086:21;:::i;:::-;6081:3;6074:34;6005:109;;:::o;6120:210::-;6207:4;6245:2;6234:9;6230:18;6222:26;;6258:65;6320:1;6309:9;6305:17;6296:6;6258:65;:::i;:::-;6120:210;;;;:::o;6336:60::-;6364:3;6385:5;6378:12;;6336:60;;;:::o;6402:142::-;6452:9;6485:53;6503:34;6512:24;6530:5;6512:24;:::i;:::-;6503:34;:::i;:::-;6485:53;:::i;:::-;6472:66;;6402:142;;;:::o;6550:126::-;6600:9;6633:37;6664:5;6633:37;:::i;:::-;6620:50;;6550:126;;;:::o;6682:152::-;6758:9;6791:37;6822:5;6791:37;:::i;:::-;6778:50;;6682:152;;;:::o;6840:183::-;6953:63;7010:5;6953:63;:::i;:::-;6948:3;6941:76;6840:183;;:::o;7029:274::-;7148:4;7186:2;7175:9;7171:18;7163:26;;7199:97;7293:1;7282:9;7278:17;7269:6;7199:97;:::i;:::-;7029:274;;;;:::o;7309:118::-;7396:24;7414:5;7396:24;:::i;:::-;7391:3;7384:37;7309:118;;:::o;7433:222::-;7526:4;7564:2;7553:9;7549:18;7541:26;;7577:71;7645:1;7634:9;7630:17;7621:6;7577:71;:::i;:::-;7433:222;;;;:::o;7661:619::-;7738:6;7746;7754;7803:2;7791:9;7782:7;7778:23;7774:32;7771:119;;;7809:79;;:::i;:::-;7771:119;7929:1;7954:53;7999:7;7990:6;7979:9;7975:22;7954:53;:::i;:::-;7944:63;;7900:117;8056:2;8082:53;8127:7;8118:6;8107:9;8103:22;8082:53;:::i;:::-;8072:63;;8027:118;8184:2;8210:53;8255:7;8246:6;8235:9;8231:22;8210:53;:::i;:::-;8200:63;;8155:118;7661:619;;;;;:::o;8286:86::-;8321:7;8361:4;8354:5;8350:16;8339:27;;8286:86;;;:::o;8378:112::-;8461:22;8477:5;8461:22;:::i;:::-;8456:3;8449:35;8378:112;;:::o;8496:214::-;8585:4;8623:2;8612:9;8608:18;8600:26;;8636:67;8700:1;8689:9;8685:17;8676:6;8636:67;:::i;:::-;8496:214;;;;:::o;8716:118::-;8803:24;8821:5;8803:24;:::i;:::-;8798:3;8791:37;8716:118;;:::o;8840:222::-;8933:4;8971:2;8960:9;8956:18;8948:26;;8984:71;9052:1;9041:9;9037:17;9028:6;8984:71;:::i;:::-;8840:222;;;;:::o;9068:329::-;9127:6;9176:2;9164:9;9155:7;9151:23;9147:32;9144:119;;;9182:79;;:::i;:::-;9144:119;9302:1;9327:53;9372:7;9363:6;9352:9;9348:22;9327:53;:::i;:::-;9317:63;;9273:117;9068:329;;;;:::o;9403:116::-;9473:21;9488:5;9473:21;:::i;:::-;9466:5;9463:32;9453:60;;9509:1;9506;9499:12;9453:60;9403:116;:::o;9525:133::-;9568:5;9606:6;9593:20;9584:29;;9622:30;9646:5;9622:30;:::i;:::-;9525:133;;;;:::o;9664:323::-;9720:6;9769:2;9757:9;9748:7;9744:23;9740:32;9737:119;;;9775:79;;:::i;:::-;9737:119;9895:1;9920:50;9962:7;9953:6;9942:9;9938:22;9920:50;:::i;:::-;9910:60;;9866:114;9664:323;;;;:::o;9993:329::-;10052:6;10101:2;10089:9;10080:7;10076:23;10072:32;10069:119;;;10107:79;;:::i;:::-;10069:119;10227:1;10252:53;10297:7;10288:6;10277:9;10273:22;10252:53;:::i;:::-;10242:63;;10198:117;9993:329;;;;:::o;10328:117::-;10437:1;10434;10427:12;10468:568;10541:8;10551:6;10601:3;10594:4;10586:6;10582:17;10578:27;10568:122;;10609:79;;:::i;:::-;10568:122;10722:6;10709:20;10699:30;;10752:18;10744:6;10741:30;10738:117;;;10774:79;;:::i;:::-;10738:117;10888:4;10880:6;10876:17;10864:29;;10942:3;10934:4;10926:6;10922:17;10912:8;10908:32;10905:41;10902:128;;;10949:79;;:::i;:::-;10902:128;10468:568;;;;;:::o;11042:698::-;11134:6;11142;11150;11199:2;11187:9;11178:7;11174:23;11170:32;11167:119;;;11205:79;;:::i;:::-;11167:119;11353:1;11342:9;11338:17;11325:31;11383:18;11375:6;11372:30;11369:117;;;11405:79;;:::i;:::-;11369:117;11518:80;11590:7;11581:6;11570:9;11566:22;11518:80;:::i;:::-;11500:98;;;;11296:312;11647:2;11673:50;11715:7;11706:6;11695:9;11691:22;11673:50;:::i;:::-;11663:60;;11618:115;11042:698;;;;;:::o;11746:474::-;11814:6;11822;11871:2;11859:9;11850:7;11846:23;11842:32;11839:119;;;11877:79;;:::i;:::-;11839:119;11997:1;12022:53;12067:7;12058:6;12047:9;12043:22;12022:53;:::i;:::-;12012:63;;11968:117;12124:2;12150:53;12195:7;12186:6;12175:9;12171:22;12150:53;:::i;:::-;12140:63;;12095:118;11746:474;;;;;:::o;12226:182::-;12366:34;12362:1;12354:6;12350:14;12343:58;12226:182;:::o;12414:366::-;12556:3;12577:67;12641:2;12636:3;12577:67;:::i;:::-;12570:74;;12653:93;12742:3;12653:93;:::i;:::-;12771:2;12766:3;12762:12;12755:19;;12414:366;;;:::o;12786:419::-;12952:4;12990:2;12979:9;12975:18;12967:26;;13039:9;13033:4;13029:20;13025:1;13014:9;13010:17;13003:47;13067:131;13193:4;13067:131;:::i;:::-;13059:139;;12786:419;;;:::o;13211:180::-;13259:77;13256:1;13249:88;13356:4;13353:1;13346:15;13380:4;13377:1;13370:15;13397:180;13445:77;13442:1;13435:88;13542:4;13539:1;13532:15;13566:4;13563:1;13556:15;13583:233;13622:3;13645:24;13663:5;13645:24;:::i;:::-;13636:33;;13691:66;13684:5;13681:77;13678:103;;;13761:18;;:::i;:::-;13678:103;13808:1;13801:5;13797:13;13790:20;;13583:233;;;:::o;13822:168::-;13962:20;13958:1;13950:6;13946:14;13939:44;13822:168;:::o;13996:366::-;14138:3;14159:67;14223:2;14218:3;14159:67;:::i;:::-;14152:74;;14235:93;14324:3;14235:93;:::i;:::-;14353:2;14348:3;14344:12;14337:19;;13996:366;;;:::o;14368:419::-;14534:4;14572:2;14561:9;14557:18;14549:26;;14621:9;14615:4;14611:20;14607:1;14596:9;14592:17;14585:47;14649:131;14775:4;14649:131;:::i;:::-;14641:139;;14368:419;;;:::o;14793:225::-;14933:34;14929:1;14921:6;14917:14;14910:58;15002:8;14997:2;14989:6;14985:15;14978:33;14793:225;:::o;15024:366::-;15166:3;15187:67;15251:2;15246:3;15187:67;:::i;:::-;15180:74;;15263:93;15352:3;15263:93;:::i;:::-;15381:2;15376:3;15372:12;15365:19;;15024:366;;;:::o;15396:419::-;15562:4;15600:2;15589:9;15585:18;15577:26;;15649:9;15643:4;15639:20;15635:1;15624:9;15620:17;15613:47;15677:131;15803:4;15677:131;:::i;:::-;15669:139;;15396:419;;;:::o;15821:223::-;15961:34;15957:1;15949:6;15945:14;15938:58;16030:6;16025:2;16017:6;16013:15;16006:31;15821:223;:::o;16050:366::-;16192:3;16213:67;16277:2;16272:3;16213:67;:::i;:::-;16206:74;;16289:93;16378:3;16289:93;:::i;:::-;16407:2;16402:3;16398:12;16391:19;;16050:366;;;:::o;16422:419::-;16588:4;16626:2;16615:9;16611:18;16603:26;;16675:9;16669:4;16665:20;16661:1;16650:9;16646:17;16639:47;16703:131;16829:4;16703:131;:::i;:::-;16695:139;;16422:419;;;:::o;16847:221::-;16987:34;16983:1;16975:6;16971:14;16964:58;17056:4;17051:2;17043:6;17039:15;17032:29;16847:221;:::o;17074:366::-;17216:3;17237:67;17301:2;17296:3;17237:67;:::i;:::-;17230:74;;17313:93;17402:3;17313:93;:::i;:::-;17431:2;17426:3;17422:12;17415:19;;17074:366;;;:::o;17446:419::-;17612:4;17650:2;17639:9;17635:18;17627:26;;17699:9;17693:4;17689:20;17685:1;17674:9;17670:17;17663:47;17727:131;17853:4;17727:131;:::i;:::-;17719:139;;17446:419;;;:::o;17871:224::-;18011:34;18007:1;17999:6;17995:14;17988:58;18080:7;18075:2;18067:6;18063:15;18056:32;17871:224;:::o;18101:366::-;18243:3;18264:67;18328:2;18323:3;18264:67;:::i;:::-;18257:74;;18340:93;18429:3;18340:93;:::i;:::-;18458:2;18453:3;18449:12;18442:19;;18101:366;;;:::o;18473:419::-;18639:4;18677:2;18666:9;18662:18;18654:26;;18726:9;18720:4;18716:20;18712:1;18701:9;18697:17;18690:47;18754:131;18880:4;18754:131;:::i;:::-;18746:139;;18473:419;;;:::o;18898:222::-;19038:34;19034:1;19026:6;19022:14;19015:58;19107:5;19102:2;19094:6;19090:15;19083:30;18898:222;:::o;19126:366::-;19268:3;19289:67;19353:2;19348:3;19289:67;:::i;:::-;19282:74;;19365:93;19454:3;19365:93;:::i;:::-;19483:2;19478:3;19474:12;19467:19;;19126:366;;;:::o;19498:419::-;19664:4;19702:2;19691:9;19687:18;19679:26;;19751:9;19745:4;19741:20;19737:1;19726:9;19722:17;19715:47;19779:131;19905:4;19779:131;:::i;:::-;19771:139;;19498:419;;;:::o;19923:228::-;20063:34;20059:1;20051:6;20047:14;20040:58;20132:11;20127:2;20119:6;20115:15;20108:36;19923:228;:::o;20157:366::-;20299:3;20320:67;20384:2;20379:3;20320:67;:::i;:::-;20313:74;;20396:93;20485:3;20396:93;:::i;:::-;20514:2;20509:3;20505:12;20498:19;;20157:366;;;:::o;20529:419::-;20695:4;20733:2;20722:9;20718:18;20710:26;;20782:9;20776:4;20772:20;20768:1;20757:9;20753:17;20746:47;20810:131;20936:4;20810:131;:::i;:::-;20802:139;;20529:419;;;:::o;20954:250::-;21094:34;21090:1;21082:6;21078:14;21071:58;21163:33;21158:2;21150:6;21146:15;21139:58;20954:250;:::o;21210:366::-;21352:3;21373:67;21437:2;21432:3;21373:67;:::i;:::-;21366:74;;21449:93;21538:3;21449:93;:::i;:::-;21567:2;21562:3;21558:12;21551:19;;21210:366;;;:::o;21582:419::-;21748:4;21786:2;21775:9;21771:18;21763:26;;21835:9;21829:4;21825:20;21821:1;21810:9;21806:17;21799:47;21863:131;21989:4;21863:131;:::i;:::-;21855:139;;21582:419;;;:::o;22007:178::-;22147:30;22143:1;22135:6;22131:14;22124:54;22007:178;:::o;22191:366::-;22333:3;22354:67;22418:2;22413:3;22354:67;:::i;:::-;22347:74;;22430:93;22519:3;22430:93;:::i;:::-;22548:2;22543:3;22539:12;22532:19;;22191:366;;;:::o;22563:419::-;22729:4;22767:2;22756:9;22752:18;22744:26;;22816:9;22810:4;22806:20;22802:1;22791:9;22787:17;22780:47;22844:131;22970:4;22844:131;:::i;:::-;22836:139;;22563:419;;;:::o;22988:222::-;23128:34;23124:1;23116:6;23112:14;23105:58;23197:5;23192:2;23184:6;23180:15;23173:30;22988:222;:::o;23216:366::-;23358:3;23379:67;23443:2;23438:3;23379:67;:::i;:::-;23372:74;;23455:93;23544:3;23455:93;:::i;:::-;23573:2;23568:3;23564:12;23557:19;;23216:366;;;:::o;23588:419::-;23754:4;23792:2;23781:9;23777:18;23769:26;;23841:9;23835:4;23831:20;23827:1;23816:9;23812:17;23805:47;23869:131;23995:4;23869:131;:::i;:::-;23861:139;;23588:419;;;:::o;24013:191::-;24053:4;24073:20;24091:1;24073:20;:::i;:::-;24068:25;;24107:20;24125:1;24107:20;:::i;:::-;24102:25;;24146:1;24143;24140:8;24137:34;;;24151:18;;:::i;:::-;24137:34;24196:1;24193;24189:9;24181:17;;24013:191;;;;:::o;24210:229::-;24350:34;24346:1;24338:6;24334:14;24327:58;24419:12;24414:2;24406:6;24402:15;24395:37;24210:229;:::o;24445:366::-;24587:3;24608:67;24672:2;24667:3;24608:67;:::i;:::-;24601:74;;24684:93;24773:3;24684:93;:::i;:::-;24802:2;24797:3;24793:12;24786:19;;24445:366;;;:::o;24817:419::-;24983:4;25021:2;25010:9;25006:18;24998:26;;25070:9;25064:4;25060:20;25056:1;25045:9;25041:17;25034:47;25098:131;25224:4;25098:131;:::i;:::-;25090:139;;24817:419;;;:::o;25242:143::-;25299:5;25330:6;25324:13;25315:22;;25346:33;25373:5;25346:33;:::i;:::-;25242:143;;;;:::o;25391:351::-;25461:6;25510:2;25498:9;25489:7;25485:23;25481:32;25478:119;;;25516:79;;:::i;:::-;25478:119;25636:1;25661:64;25717:7;25708:6;25697:9;25693:22;25661:64;:::i;:::-;25651:74;;25607:128;25391:351;;;;:::o;25748:85::-;25793:7;25822:5;25811:16;;25748:85;;;:::o;25839:158::-;25897:9;25930:61;25948:42;25957:32;25983:5;25957:32;:::i;:::-;25948:42;:::i;:::-;25930:61;:::i;:::-;25917:74;;25839:158;;;:::o;26003:147::-;26098:45;26137:5;26098:45;:::i;:::-;26093:3;26086:58;26003:147;;:::o;26156:114::-;26223:6;26257:5;26251:12;26241:22;;26156:114;;;:::o;26276:184::-;26375:11;26409:6;26404:3;26397:19;26449:4;26444:3;26440:14;26425:29;;26276:184;;;;:::o;26466:132::-;26533:4;26556:3;26548:11;;26586:4;26581:3;26577:14;26569:22;;26466:132;;;:::o;26604:108::-;26681:24;26699:5;26681:24;:::i;:::-;26676:3;26669:37;26604:108;;:::o;26718:179::-;26787:10;26808:46;26850:3;26842:6;26808:46;:::i;:::-;26886:4;26881:3;26877:14;26863:28;;26718:179;;;;:::o;26903:113::-;26973:4;27005;27000:3;26996:14;26988:22;;26903:113;;;:::o;27052:732::-;27171:3;27200:54;27248:5;27200:54;:::i;:::-;27270:86;27349:6;27344:3;27270:86;:::i;:::-;27263:93;;27380:56;27430:5;27380:56;:::i;:::-;27459:7;27490:1;27475:284;27500:6;27497:1;27494:13;27475:284;;;27576:6;27570:13;27603:63;27662:3;27647:13;27603:63;:::i;:::-;27596:70;;27689:60;27742:6;27689:60;:::i;:::-;27679:70;;27535:224;27522:1;27519;27515:9;27510:14;;27475:284;;;27479:14;27775:3;27768:10;;27176:608;;;27052:732;;;;:::o;27790:831::-;28053:4;28091:3;28080:9;28076:19;28068:27;;28105:71;28173:1;28162:9;28158:17;28149:6;28105:71;:::i;:::-;28186:80;28262:2;28251:9;28247:18;28238:6;28186:80;:::i;:::-;28313:9;28307:4;28303:20;28298:2;28287:9;28283:18;28276:48;28341:108;28444:4;28435:6;28341:108;:::i;:::-;28333:116;;28459:72;28527:2;28516:9;28512:18;28503:6;28459:72;:::i;:::-;28541:73;28609:3;28598:9;28594:19;28585:6;28541:73;:::i;:::-;27790:831;;;;;;;;:::o;28627:180::-;28675:77;28672:1;28665:88;28772:4;28769:1;28762:15;28796:4;28793:1;28786:15;28813:185;28853:1;28870:20;28888:1;28870:20;:::i;:::-;28865:25;;28904:20;28922:1;28904:20;:::i;:::-;28899:25;;28943:1;28933:35;;28948:18;;:::i;:::-;28933:35;28990:1;28987;28983:9;28978:14;;28813:185;;;;:::o;29004:305::-;29044:3;29063:20;29081:1;29063:20;:::i;:::-;29058:25;;29097:20;29115:1;29097:20;:::i;:::-;29092:25;;29251:1;29183:66;29179:74;29176:1;29173:81;29170:107;;;29257:18;;:::i;:::-;29170:107;29301:1;29298;29294:9;29287:16;;29004:305;;;;:::o;29315:177::-;29455:29;29451:1;29443:6;29439:14;29432:53;29315:177;:::o;29498:366::-;29640:3;29661:67;29725:2;29720:3;29661:67;:::i;:::-;29654:74;;29737:93;29826:3;29737:93;:::i;:::-;29855:2;29850:3;29846:12;29839:19;;29498:366;;;:::o;29870:419::-;30036:4;30074:2;30063:9;30059:18;30051:26;;30123:9;30117:4;30113:20;30109:1;30098:9;30094:17;30087:47;30151:131;30277:4;30151:131;:::i;:::-;30143:139;;29870:419;;;:::o;30295:348::-;30335:7;30358:20;30376:1;30358:20;:::i;:::-;30353:25;;30392:20;30410:1;30392:20;:::i;:::-;30387:25;;30580:1;30512:66;30508:74;30505:1;30502:81;30497:1;30490:9;30483:17;30479:105;30476:131;;;30587:18;;:::i;:::-;30476:131;30635:1;30632;30628:9;30617:20;;30295:348;;;;:::o;30649:220::-;30789:34;30785:1;30777:6;30773:14;30766:58;30858:3;30853:2;30845:6;30841:15;30834:28;30649:220;:::o;30875:366::-;31017:3;31038:67;31102:2;31097:3;31038:67;:::i;:::-;31031:74;;31114:93;31203:3;31114:93;:::i;:::-;31232:2;31227:3;31223:12;31216:19;;30875:366;;;:::o;31247:419::-;31413:4;31451:2;31440:9;31436:18;31428:26;;31500:9;31494:4;31490:20;31486:1;31475:9;31471:17;31464:47;31528:131;31654:4;31528:131;:::i;:::-;31520:139;;31247:419;;;:::o
Swarm Source
ipfs://437b83613c7d418a3793601fd10c6827b38c064038e04ad86b3cbc13410b25d0
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.