Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000 Inception
Holders
45
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.536271769419844703 InceptionValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Inception
Compiler Version
v0.8.7+commit.e28d00a7
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-10-06 */ //SPDX-License-Identifier: MIT pragma solidity ^0.8.5; 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 IBEP20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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); } abstract contract Auth { address internal owner; mapping (address => bool) internal authorizations; constructor(address _owner) { owner = _owner; authorizations[_owner] = true; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } modifier authorized() { require(isAuthorized(msg.sender), "!AUTHORIZED"); _; } function authorize(address adr) public onlyOwner { authorizations[adr] = true; } function unauthorize(address adr) public onlyOwner { authorizations[adr] = false; } function isOwner(address account) public view returns (bool) { return account == owner; } function isAuthorized(address adr) public view returns (bool) { return authorizations[adr]; } function transferOwnership(address payable adr) public onlyOwner { owner = adr; authorizations[adr] = true; emit OwnershipTransferred(adr); } function rennounceOwnership() public onlyOwner { address adr = address(0x000000000000000000000000000000000000dEaD); owner = adr; authorizations[adr] = true; emit OwnershipTransferred(adr); } event OwnershipTransferred(address owner); } interface IDEXFactory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IDEXRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; } contract Inception is IBEP20, Auth { using SafeMath for uint256; address WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; address DEAD = 0x000000000000000000000000000000000000dEaD; address ZERO = 0x0000000000000000000000000000000000000000; string constant _name = "A New Beginning"; string constant _symbol = "Inception"; uint8 constant _decimals = 18; uint256 _totalSupply = 100000000 * (10 ** _decimals); uint256 public _maxTxAmount = (_totalSupply * 1) / 100; uint256 public _maxWalletSize = (_totalSupply * 2) / 100; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) _allowances; mapping (address => bool) isFeeExempt; mapping (address => bool) isTxLimitExempt; uint256 liquidityFee = 5; uint256 TreasuryFee = 4; uint256 totalFee = 9; uint256 feeDenominator = 100; address private TreasuryReceiver = 0xf041742812eD2246E99664ee90c5827e170960aa; address private liquidityReceiver = 0xf041742812eD2246E99664ee90c5827e170960aa; IDEXRouter public router; address public pair; uint256 public launchedAt; bool public swapEnabled = true; uint256 public swapThreshold = _totalSupply / 1000000 * 1; // 0.3% bool inSwap; modifier swapping() { inSwap = true; _; inSwap = false; } constructor () Auth(msg.sender) { router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); pair = IDEXFactory(router.factory()).createPair(WETH, address(this)); _allowances[address(this)][address(router)] = type(uint256).max; address _owner = owner; isFeeExempt[_owner] = true; isTxLimitExempt[_owner] = true; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } receive() external payable { } function totalSupply() external view override returns (uint256) { return _totalSupply; } function decimals() external pure override returns (uint8) { return _decimals; } function symbol() external pure override returns (string memory) { return _symbol; } function name() external pure override returns (string memory) { return _name; } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function approveMax(address spender) external returns (bool) { return approve(spender, type(uint256).max); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferFrom(msg.sender, recipient, amount); } function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { if(_allowances[sender][msg.sender] != type(uint256).max){ _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance"); } return _transferFrom(sender, recipient, amount); } function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { if(inSwap){ return _basicTransfer(sender, recipient, amount); } checkTxLimit(sender, amount); if (recipient != pair && recipient != DEAD) { require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletSize, "Transfer amount exceeds the bag size."); } if(shouldSwapBack()){ swapBack(); } if(!launched() && recipient == pair){ require(_balances[sender] > 0); launch(); } _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); return true; } function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) { _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance"); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function checkTxLimit(address sender, uint256 amount) internal view { require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded"); } function shouldTakeFee(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } function takeFee(address sender, uint256 amount) internal returns (uint256) { uint256 feeAmount = amount.mul(totalFee).div(feeDenominator); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); return amount.sub(feeAmount); } function shouldSwapBack() internal view returns (bool) { return msg.sender != pair && !inSwap && swapEnabled && _balances[address(this)] >= swapThreshold; } function swapBack() internal swapping { uint256 contractTokenBalance = balanceOf(address(this)); uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2); uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify); address[] memory path = new address[](2); path[0] = address(this); path[1] = WETH; uint256 balanceBefore = address(this).balance; router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 amountETH = address(this).balance.sub(balanceBefore); uint256 totalETHFee = totalFee.sub(liquidityFee.div(2)); uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2); uint256 amountETHMarket = amountETH.mul(TreasuryFee).div(totalETHFee); (bool OPSuccess, /* bytes memory data */) = payable(TreasuryReceiver).call{value: amountETHMarket, gas: 30000}(""); require(OPSuccess, "receiver rejected ETH transfer"); addLiquidityFromSwapBack(amountToLiquify, amountETHLiquidity); } function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private { if(tokenAmount > 0){ router.addLiquidityETH{value: ETHAmount}( address(this), tokenAmount, 0, 0, address(this), block.timestamp ); emit AutoLiquify(ETHAmount, tokenAmount); } } // function only used on swapback function addLiquidityFromSwapBack(uint256 tokenAmount, uint256 ETHAmount) private { if(tokenAmount > 0){ router.addLiquidityETH{value: ETHAmount}( address(this), tokenAmount, 0, 0, liquidityReceiver, block.timestamp ); emit AutoLiquify(ETHAmount, tokenAmount); } } function buyTokens(uint256 amount, address to) internal swapping { address[] memory path = new address[](2); path[0] = WETH; path[1] = address(this); router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}( 0, path, to, block.timestamp ); } function launched() internal view returns (bool) { return launchedAt != 0; } function launch() internal { launchedAt = block.number; } function setTxLimit(uint256 amount) external authorized { require(amount >= _totalSupply / 1000); _maxTxAmount = amount; } function setMaxWallet(uint256 amount) external onlyOwner() { require(amount >= _totalSupply / 1000 ); _maxWalletSize = amount; } function setIsFeeExempt(address holder, bool exempt) external authorized { isFeeExempt[holder] = exempt; } function setIsTxLimitExempt(address holder, bool exempt) external authorized { isTxLimitExempt[holder] = exempt; } function setFees(uint256 _liquidityFee, uint256 _TreasuryFee, uint256 _feeDenominator) external authorized { liquidityFee = _liquidityFee; TreasuryFee = _TreasuryFee; totalFee = _liquidityFee.add(_TreasuryFee); feeDenominator = _feeDenominator; } function setFeeReceiver(address _TreasuryReceiver) external authorized { TreasuryReceiver = _TreasuryReceiver; } function setSwapBackSettings(bool _enabled, uint256 _amount) external authorized { swapEnabled = _enabled; swapThreshold = _amount; } function withdrawStuckETH() public { require(msg.sender == TreasuryReceiver, "Unauthorized."); bool success; (success,) = address(msg.sender).call{value: address(this).balance}(""); } function getCirculatingSupply() public view returns (uint256) { return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO)); } function getLiquidityBacking(uint256 accuracy) public view returns (uint256) { return accuracy.mul(balanceOf(pair).mul(2)).div(getCirculatingSupply()); } function isOverLiquified(uint256 target, uint256 accuracy) public view returns (bool) { return getLiquidityBacking(accuracy) > target; } event AutoLiquify(uint256 amountETH, uint256 amountBOG); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"getLiquidityBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"target","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"isOverLiquified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rennounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_TreasuryReceiver","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_TreasuryFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620000ee91906200086f565b6305f5e100620000ff9190620009ac565b60055560646001600554620001159190620009ac565b620001219190620007dc565b60065560646002600554620001379190620009ac565b620001439190620007dc565b6007556005600c556004600d556009600e556064600f5573f041742812ed2246e99664ee90c5827e170960aa601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073f041742812ed2246e99664ee90c5827e170960aa601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601560006101000a81548160ff0219169083151502179055506001620f4240600554620002349190620007dc565b620002409190620009ac565b6016553480156200025057600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620003a857600080fd5b505afa158015620003bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e391906200073e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b81526004016200044192919062000792565b602060405180830381600087803b1580156200045c57600080fd5b505af115801562000471573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200049791906200073e565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600554600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600554604051620007189190620007bf565b60405180910390a35062000ae2565b600081519050620007388162000ac8565b92915050565b60006020828403121562000757576200075662000ab6565b5b6000620007678482850162000727565b91505092915050565b6200077b8162000a0d565b82525050565b6200078c8162000a41565b82525050565b6000604082019050620007a9600083018562000770565b620007b8602083018462000770565b9392505050565b6000602082019050620007d6600083018462000781565b92915050565b6000620007e98262000a41565b9150620007f68362000a41565b92508262000809576200080862000a87565b5b828204905092915050565b6000808291508390505b600185111562000866578086048111156200083e576200083d62000a58565b5b60018516156200084e5780820291505b80810290506200085e8562000abb565b94506200081e565b94509492505050565b60006200087c8262000a41565b9150620008898362000a4b565b9250620008b87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620008c0565b905092915050565b600082620008d25760019050620009a5565b81620008e25760009050620009a5565b8160018114620008fb576002811462000906576200093c565b6001915050620009a5565b60ff8411156200091b576200091a62000a58565b5b8360020a91508482111562000935576200093462000a58565b5b50620009a5565b5060208310610133831016604e8410600b8410161715620009765782820a90508381111562000970576200096f62000a58565b5b620009a5565b62000985848484600162000814565b925090508184048111156200099f576200099e62000a58565b5b81810290505b9392505050565b6000620009b98262000a41565b9150620009c68362000a41565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000a025762000a0162000a58565b5b828202905092915050565b600062000a1a8262000a21565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b60008160011c9050919050565b62000ad38162000a0d565b811462000adf57600080fd5b50565b6135d78062000af26000396000f3fe6080604052600436106102085760003560e01c8063893d20e811610118578063dd62ed3e116100a0578063f2fde38b1161006f578063f2fde38b1461079c578063f5648a4f146107c5578063f84ba65d146107dc578063f887ea4014610805578063fe9fbb80146108305761020f565b8063dd62ed3e146106e4578063df20fd4914610721578063efdcd9741461074a578063f0b37c04146107735761020f565b8063a9059cbb116100e7578063a9059cbb146105ed578063b6a5d7de1461062a578063bf56b37114610653578063cec10c111461067e578063d51ed1c8146106a75761020f565b8063893d20e8146105415780638f9a55c01461056c57806395d89b4114610597578063a8aa1b31146105c25761020f565b8063313ce5671161019b578063658d4b7f1161016a578063658d4b7f1461046e5780636ddd1713146104975780636ec2f8f6146104c257806370a08231146104d95780637d1db4a5146105165761020f565b8063313ce567146103b4578063571ac8b0146103df5780635c85974f1461041c5780635d0044ca146104455761020f565b806318160ddd116101d757806318160ddd146102e457806323b872dd1461030f5780632b112e491461034c5780632f54bf6e146103775761020f565b80630445b6671461021457806306fdde031461023f578063095ea7b31461026a5780631161ae39146102a75761020f565b3661020f57005b600080fd5b34801561022057600080fd5b5061022961086d565b6040516102369190612fba565b60405180910390f35b34801561024b57600080fd5b50610254610873565b6040516102619190612e98565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c91906129c1565b6108b0565b60405161029e9190612e62565b60405180910390f35b3480156102b357600080fd5b506102ce60048036038101906102c99190612a6e565b6109a2565b6040516102db9190612e62565b60405180910390f35b3480156102f057600080fd5b506102f96109b7565b6040516103069190612fba565b60405180910390f35b34801561031b57600080fd5b506103366004803603810190610331919061292e565b6109c1565b6040516103439190612e62565b60405180910390f35b34801561035857600080fd5b50610361610bc1565b60405161036e9190612fba565b60405180910390f35b34801561038357600080fd5b5061039e60048036038101906103999190612894565b610c43565b6040516103ab9190612e62565b60405180910390f35b3480156103c057600080fd5b506103c9610c9c565b6040516103d69190613058565b60405180910390f35b3480156103eb57600080fd5b5061040660048036038101906104019190612894565b610ca5565b6040516104139190612e62565b60405180910390f35b34801561042857600080fd5b50610443600480360381019061043e9190612a41565b610cd8565b005b34801561045157600080fd5b5061046c60048036038101906104679190612a41565b610d46565b005b34801561047a57600080fd5b5061049560048036038101906104909190612981565b610db4565b005b3480156104a357600080fd5b506104ac610e57565b6040516104b99190612e62565b60405180910390f35b3480156104ce57600080fd5b506104d7610e6a565b005b3480156104e557600080fd5b5061050060048036038101906104fb9190612894565b610f8a565b60405161050d9190612fba565b60405180910390f35b34801561052257600080fd5b5061052b610fd3565b6040516105389190612fba565b60405180910390f35b34801561054d57600080fd5b50610556610fd9565b6040516105639190612dcb565b60405180910390f35b34801561057857600080fd5b50610581611002565b60405161058e9190612fba565b60405180910390f35b3480156105a357600080fd5b506105ac611008565b6040516105b99190612e98565b60405180910390f35b3480156105ce57600080fd5b506105d7611045565b6040516105e49190612dcb565b60405180910390f35b3480156105f957600080fd5b50610614600480360381019061060f91906129c1565b61106b565b6040516106219190612e62565b60405180910390f35b34801561063657600080fd5b50610651600480360381019061064c9190612894565b611080565b005b34801561065f57600080fd5b50610668611122565b6040516106759190612fba565b60405180910390f35b34801561068a57600080fd5b506106a560048036038101906106a09190612aae565b611128565b005b3480156106b357600080fd5b506106ce60048036038101906106c99190612a41565b6111a3565b6040516106db9190612fba565b60405180910390f35b3480156106f057600080fd5b5061070b600480360381019061070691906128ee565b611215565b6040516107189190612fba565b60405180910390f35b34801561072d57600080fd5b5061074860048036038101906107439190612a01565b61129c565b005b34801561075657600080fd5b50610771600480360381019061076c9190612894565b611309565b005b34801561077f57600080fd5b5061079a60048036038101906107959190612894565b611395565b005b3480156107a857600080fd5b506107c360048036038101906107be91906128c1565b611438565b005b3480156107d157600080fd5b506107da611551565b005b3480156107e857600080fd5b5061080360048036038101906107fe9190612981565b611652565b005b34801561081157600080fd5b5061081a6116f5565b6040516108279190612e7d565b60405180910390f35b34801561083c57600080fd5b5061085760048036038101906108529190612894565b61171b565b6040516108649190612e62565b60405180910390f35b60165481565b60606040518060400160405280600f81526020017f41204e657720426567696e6e696e670000000000000000000000000000000000815250905090565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109909190612fba565b60405180910390a36001905092915050565b6000826109ae836111a3565b11905092915050565b6000600554905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610bad57610b2c826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117719092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610bb88484846117d5565b90509392505050565b6000610c3e610bf1600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f8a565b610c30610c1f600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f8a565b600554611c6490919063ffffffff16565b611c6490919063ffffffff16565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b6000610cd1827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6108b0565b9050919050565b610ce13361171b565b610d20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1790612f9a565b60405180910390fd5b6103e8600554610d309190613129565b811015610d3c57600080fd5b8060068190555050565b610d4f33610c43565b610d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8590612f7a565b60405180910390fd5b6103e8600554610d9e9190613129565b811015610daa57600080fd5b8060078190555050565b610dbd3361171b565b610dfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df390612f9a565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601560009054906101000a900460ff1681565b610e7333610c43565b610eb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea990612f7a565b60405180910390fd5b600061dead9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051610f7f9190612dcb565b60405180910390a150565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b60606040518060400160405280600981526020017f496e63657074696f6e0000000000000000000000000000000000000000000000815250905090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006110783384846117d5565b905092915050565b61108933610c43565b6110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bf90612f7a565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60145481565b6111313361171b565b611170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116790612f9a565b60405180910390fd5b82600c8190555081600d819055506111918284611cae90919063ffffffff16565b600e8190555080600f81905550505050565b600061120e6111b0610bc1565b6112006111f160026111e3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f8a565b611d0c90919063ffffffff16565b85611d0c90919063ffffffff16565b611d8790919063ffffffff16565b9050919050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112a53361171b565b6112e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112db90612f9a565b60405180910390fd5b81601560006101000a81548160ff021916908315150217905550806016819055505050565b6113123361171b565b611351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134890612f9a565b60405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61139e33610c43565b6113dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d490612f7a565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61144133610c43565b611480576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147790612f7a565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516115469190612de6565b60405180910390a150565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d890612f3a565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff164760405161160790612db6565b60006040518083038185875af1925050503d8060008114611644576040519150601f19603f3d011682016040523d82523d6000602084013e611649565b606091505b50508091505050565b61165b3361171b565b61169a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169190612f9a565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008383111582906117b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b09190612e98565b60405180910390fd5b50600083856117c891906131b4565b9050809150509392505050565b6000601760009054906101000a900460ff16156117fe576117f7848484611dd1565b9050611c5d565b6118088483611fa4565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118b45750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561199d57600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061195d575060075482600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461195a91906130d3565b11155b61199c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199390612eba565b60405180910390fd5b5b6119a5612041565b156119b3576119b2612118565b5b6119bb6124f2565b158015611a155750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611a6f576000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611a6657600080fd5b611a6e6124ff565b5b611af8826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117719092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611b4685612508565b611b505782611b5b565b611b5a858461255f565b5b9050611baf81600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cae90919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c4f9190612fba565b60405180910390a360019150505b9392505050565b6000611ca683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611771565b905092915050565b6000808284611cbd91906130d3565b905083811015611d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf990612efa565b60405180910390fd5b8091505092915050565b600080831415611d1f5760009050611d81565b60008284611d2d919061315a565b9050828482611d3c9190613129565b14611d7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7390612f5a565b60405180910390fd5b809150505b92915050565b6000611dc983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126a3565b905092915050565b6000611e5c826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117719092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ef182600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cae90919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f919190612fba565b60405180910390a3600190509392505050565b60065481111580611ffe5750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61203d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203490612eda565b60405180910390fd5b5050565b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156120ae5750601760009054906101000a900460ff16155b80156120c65750601560009054906101000a900460ff165b80156121135750601654600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601760006101000a81548160ff021916908315150217905550600061213e30610f8a565b9050600061217e6002612170600e54612162600c5487611d0c90919063ffffffff16565b611d8790919063ffffffff16565b611d8790919063ffffffff16565b905060006121958284611c6490919063ffffffff16565b90506000600267ffffffffffffffff8111156121b4576121b3613369565b5b6040519080825280602002602001820160405280156121e25781602001602082028036833780820191505090505b50905030816000815181106121fa576121f961333a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061226b5761226a61333a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b815260040161230e959493929190612fd5565b600060405180830381600087803b15801561232857600080fd5b505af115801561233c573d6000803e3d6000fd5b5050505060006123558247611c6490919063ffffffff16565b905060006123836123726002600c54611d8790919063ffffffff16565b600e54611c6490919063ffffffff16565b905060006123c160026123b3846123a5600c5488611d0c90919063ffffffff16565b611d8790919063ffffffff16565b611d8790919063ffffffff16565b905060006123ec836123de600d5487611d0c90919063ffffffff16565b611d8790919063ffffffff16565b90506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161243a90612db6565b600060405180830381858888f193505050503d8060008114612478576040519150601f19603f3d011682016040523d82523d6000602084013e61247d565b606091505b50509050806124c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b890612f1a565b60405180910390fd5b6124cb8984612706565b505050505050505050506000601760006101000a81548160ff021916908315150217905550565b6000806014541415905090565b43601481905550565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008061258b600f5461257d600e5486611d0c90919063ffffffff16565b611d8790919063ffffffff16565b90506125df81600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cae90919063ffffffff16565b600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161267f9190612fba565b60405180910390a361269a8184611c6490919063ffffffff16565b91505092915050565b600080831182906126ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e19190612e98565b60405180910390fd5b50600083856126f99190613129565b9050809150509392505050565b600082111561282757601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161279896959493929190612e01565b6060604051808303818588803b1580156127b157600080fd5b505af11580156127c5573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906127ea9190612b01565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506818360405161281e92919061302f565b60405180910390a15b5050565b60008135905061283a81613545565b92915050565b60008135905061284f8161355c565b92915050565b60008135905061286481613573565b92915050565b6000813590506128798161358a565b92915050565b60008151905061288e8161358a565b92915050565b6000602082840312156128aa576128a9613398565b5b60006128b88482850161282b565b91505092915050565b6000602082840312156128d7576128d6613398565b5b60006128e584828501612840565b91505092915050565b6000806040838503121561290557612904613398565b5b60006129138582860161282b565b92505060206129248582860161282b565b9150509250929050565b60008060006060848603121561294757612946613398565b5b60006129558682870161282b565b93505060206129668682870161282b565b92505060406129778682870161286a565b9150509250925092565b6000806040838503121561299857612997613398565b5b60006129a68582860161282b565b92505060206129b785828601612855565b9150509250929050565b600080604083850312156129d8576129d7613398565b5b60006129e68582860161282b565b92505060206129f78582860161286a565b9150509250929050565b60008060408385031215612a1857612a17613398565b5b6000612a2685828601612855565b9250506020612a378582860161286a565b9150509250929050565b600060208284031215612a5757612a56613398565b5b6000612a658482850161286a565b91505092915050565b60008060408385031215612a8557612a84613398565b5b6000612a938582860161286a565b9250506020612aa48582860161286a565b9150509250929050565b600080600060608486031215612ac757612ac6613398565b5b6000612ad58682870161286a565b9350506020612ae68682870161286a565b9250506040612af78682870161286a565b9150509250925092565b600080600060608486031215612b1a57612b19613398565b5b6000612b288682870161287f565b9350506020612b398682870161287f565b9250506040612b4a8682870161287f565b9150509250925092565b6000612b608383612b7b565b60208301905092915050565b612b758161324f565b82525050565b612b84816131e8565b82525050565b612b93816131e8565b82525050565b6000612ba482613083565b612bae81856130a6565b9350612bb983613073565b8060005b83811015612bea578151612bd18882612b54565b9750612bdc83613099565b925050600181019050612bbd565b5085935050505092915050565b612c008161320c565b82525050565b612c0f81613261565b82525050565b612c1e81613273565b82525050565b6000612c2f8261308e565b612c3981856130c2565b9350612c498185602086016132a9565b612c528161339d565b840191505092915050565b6000612c6a6025836130c2565b9150612c75826133ae565b604082019050919050565b6000612c8d6011836130c2565b9150612c98826133fd565b602082019050919050565b6000612cb0601b836130c2565b9150612cbb82613426565b602082019050919050565b6000612cd3601e836130c2565b9150612cde8261344f565b602082019050919050565b6000612cf6600d836130c2565b9150612d0182613478565b602082019050919050565b6000612d196021836130c2565b9150612d24826134a1565b604082019050919050565b6000612d3c6006836130c2565b9150612d47826134f0565b602082019050919050565b6000612d5f6000836130b7565b9150612d6a82613519565b600082019050919050565b6000612d82600b836130c2565b9150612d8d8261351c565b602082019050919050565b612da181613238565b82525050565b612db081613242565b82525050565b6000612dc182612d52565b9150819050919050565b6000602082019050612de06000830184612b8a565b92915050565b6000602082019050612dfb6000830184612b6c565b92915050565b600060c082019050612e166000830189612b8a565b612e236020830188612d98565b612e306040830187612c15565b612e3d6060830186612c15565b612e4a6080830185612b8a565b612e5760a0830184612d98565b979650505050505050565b6000602082019050612e776000830184612bf7565b92915050565b6000602082019050612e926000830184612c06565b92915050565b60006020820190508181036000830152612eb28184612c24565b905092915050565b60006020820190508181036000830152612ed381612c5d565b9050919050565b60006020820190508181036000830152612ef381612c80565b9050919050565b60006020820190508181036000830152612f1381612ca3565b9050919050565b60006020820190508181036000830152612f3381612cc6565b9050919050565b60006020820190508181036000830152612f5381612ce9565b9050919050565b60006020820190508181036000830152612f7381612d0c565b9050919050565b60006020820190508181036000830152612f9381612d2f565b9050919050565b60006020820190508181036000830152612fb381612d75565b9050919050565b6000602082019050612fcf6000830184612d98565b92915050565b600060a082019050612fea6000830188612d98565b612ff76020830187612c15565b81810360408301526130098186612b99565b90506130186060830185612b8a565b6130256080830184612d98565b9695505050505050565b60006040820190506130446000830185612d98565b6130516020830184612d98565b9392505050565b600060208201905061306d6000830184612da7565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006130de82613238565b91506130e983613238565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561311e5761311d6132dc565b5b828201905092915050565b600061313482613238565b915061313f83613238565b92508261314f5761314e61330b565b5b828204905092915050565b600061316582613238565b915061317083613238565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156131a9576131a86132dc565b5b828202905092915050565b60006131bf82613238565b91506131ca83613238565b9250828210156131dd576131dc6132dc565b5b828203905092915050565b60006131f382613218565b9050919050565b600061320582613218565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061325a82613285565b9050919050565b600061326c82613285565b9050919050565b600061327e82613238565b9050919050565b600061329082613297565b9050919050565b60006132a282613218565b9050919050565b60005b838110156132c75780820151818401526020810190506132ac565b838111156132d6576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f5458204c696d6974204578636565646564000000000000000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f556e617574686f72697a65642e00000000000000000000000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b7f21415554484f52495a4544000000000000000000000000000000000000000000600082015250565b61354e816131e8565b811461355957600080fd5b50565b613565816131fa565b811461357057600080fd5b50565b61357c8161320c565b811461358757600080fd5b50565b61359381613238565b811461359e57600080fd5b5056fea2646970667358221220d68b42dcb1db7312e58639bc4738b14555fbfcc27401537e3bbae9b36166b58564736f6c63430008070033
Deployed Bytecode
0x6080604052600436106102085760003560e01c8063893d20e811610118578063dd62ed3e116100a0578063f2fde38b1161006f578063f2fde38b1461079c578063f5648a4f146107c5578063f84ba65d146107dc578063f887ea4014610805578063fe9fbb80146108305761020f565b8063dd62ed3e146106e4578063df20fd4914610721578063efdcd9741461074a578063f0b37c04146107735761020f565b8063a9059cbb116100e7578063a9059cbb146105ed578063b6a5d7de1461062a578063bf56b37114610653578063cec10c111461067e578063d51ed1c8146106a75761020f565b8063893d20e8146105415780638f9a55c01461056c57806395d89b4114610597578063a8aa1b31146105c25761020f565b8063313ce5671161019b578063658d4b7f1161016a578063658d4b7f1461046e5780636ddd1713146104975780636ec2f8f6146104c257806370a08231146104d95780637d1db4a5146105165761020f565b8063313ce567146103b4578063571ac8b0146103df5780635c85974f1461041c5780635d0044ca146104455761020f565b806318160ddd116101d757806318160ddd146102e457806323b872dd1461030f5780632b112e491461034c5780632f54bf6e146103775761020f565b80630445b6671461021457806306fdde031461023f578063095ea7b31461026a5780631161ae39146102a75761020f565b3661020f57005b600080fd5b34801561022057600080fd5b5061022961086d565b6040516102369190612fba565b60405180910390f35b34801561024b57600080fd5b50610254610873565b6040516102619190612e98565b60405180910390f35b34801561027657600080fd5b50610291600480360381019061028c91906129c1565b6108b0565b60405161029e9190612e62565b60405180910390f35b3480156102b357600080fd5b506102ce60048036038101906102c99190612a6e565b6109a2565b6040516102db9190612e62565b60405180910390f35b3480156102f057600080fd5b506102f96109b7565b6040516103069190612fba565b60405180910390f35b34801561031b57600080fd5b506103366004803603810190610331919061292e565b6109c1565b6040516103439190612e62565b60405180910390f35b34801561035857600080fd5b50610361610bc1565b60405161036e9190612fba565b60405180910390f35b34801561038357600080fd5b5061039e60048036038101906103999190612894565b610c43565b6040516103ab9190612e62565b60405180910390f35b3480156103c057600080fd5b506103c9610c9c565b6040516103d69190613058565b60405180910390f35b3480156103eb57600080fd5b5061040660048036038101906104019190612894565b610ca5565b6040516104139190612e62565b60405180910390f35b34801561042857600080fd5b50610443600480360381019061043e9190612a41565b610cd8565b005b34801561045157600080fd5b5061046c60048036038101906104679190612a41565b610d46565b005b34801561047a57600080fd5b5061049560048036038101906104909190612981565b610db4565b005b3480156104a357600080fd5b506104ac610e57565b6040516104b99190612e62565b60405180910390f35b3480156104ce57600080fd5b506104d7610e6a565b005b3480156104e557600080fd5b5061050060048036038101906104fb9190612894565b610f8a565b60405161050d9190612fba565b60405180910390f35b34801561052257600080fd5b5061052b610fd3565b6040516105389190612fba565b60405180910390f35b34801561054d57600080fd5b50610556610fd9565b6040516105639190612dcb565b60405180910390f35b34801561057857600080fd5b50610581611002565b60405161058e9190612fba565b60405180910390f35b3480156105a357600080fd5b506105ac611008565b6040516105b99190612e98565b60405180910390f35b3480156105ce57600080fd5b506105d7611045565b6040516105e49190612dcb565b60405180910390f35b3480156105f957600080fd5b50610614600480360381019061060f91906129c1565b61106b565b6040516106219190612e62565b60405180910390f35b34801561063657600080fd5b50610651600480360381019061064c9190612894565b611080565b005b34801561065f57600080fd5b50610668611122565b6040516106759190612fba565b60405180910390f35b34801561068a57600080fd5b506106a560048036038101906106a09190612aae565b611128565b005b3480156106b357600080fd5b506106ce60048036038101906106c99190612a41565b6111a3565b6040516106db9190612fba565b60405180910390f35b3480156106f057600080fd5b5061070b600480360381019061070691906128ee565b611215565b6040516107189190612fba565b60405180910390f35b34801561072d57600080fd5b5061074860048036038101906107439190612a01565b61129c565b005b34801561075657600080fd5b50610771600480360381019061076c9190612894565b611309565b005b34801561077f57600080fd5b5061079a60048036038101906107959190612894565b611395565b005b3480156107a857600080fd5b506107c360048036038101906107be91906128c1565b611438565b005b3480156107d157600080fd5b506107da611551565b005b3480156107e857600080fd5b5061080360048036038101906107fe9190612981565b611652565b005b34801561081157600080fd5b5061081a6116f5565b6040516108279190612e7d565b60405180910390f35b34801561083c57600080fd5b5061085760048036038101906108529190612894565b61171b565b6040516108649190612e62565b60405180910390f35b60165481565b60606040518060400160405280600f81526020017f41204e657720426567696e6e696e670000000000000000000000000000000000815250905090565b600081600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109909190612fba565b60405180910390a36001905092915050565b6000826109ae836111a3565b11905092915050565b6000600554905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610bad57610b2c826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117719092919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610bb88484846117d5565b90509392505050565b6000610c3e610bf1600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f8a565b610c30610c1f600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f8a565b600554611c6490919063ffffffff16565b611c6490919063ffffffff16565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006012905090565b6000610cd1827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6108b0565b9050919050565b610ce13361171b565b610d20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1790612f9a565b60405180910390fd5b6103e8600554610d309190613129565b811015610d3c57600080fd5b8060068190555050565b610d4f33610c43565b610d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8590612f7a565b60405180910390fd5b6103e8600554610d9e9190613129565b811015610daa57600080fd5b8060078190555050565b610dbd3361171b565b610dfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df390612f9a565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601560009054906101000a900460ff1681565b610e7333610c43565b610eb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea990612f7a565b60405180910390fd5b600061dead9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616381604051610f7f9190612dcb565b60405180910390a150565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b60606040518060400160405280600981526020017f496e63657074696f6e0000000000000000000000000000000000000000000000815250905090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006110783384846117d5565b905092915050565b61108933610c43565b6110c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bf90612f7a565b60405180910390fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60145481565b6111313361171b565b611170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116790612f9a565b60405180910390fd5b82600c8190555081600d819055506111918284611cae90919063ffffffff16565b600e8190555080600f81905550505050565b600061120e6111b0610bc1565b6112006111f160026111e3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f8a565b611d0c90919063ffffffff16565b85611d0c90919063ffffffff16565b611d8790919063ffffffff16565b9050919050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112a53361171b565b6112e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112db90612f9a565b60405180910390fd5b81601560006101000a81548160ff021916908315150217905550806016819055505050565b6113123361171b565b611351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134890612f9a565b60405180910390fd5b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61139e33610c43565b6113dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d490612f7a565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61144133610c43565b611480576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147790612f7a565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163816040516115469190612de6565b60405180910390a150565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d890612f3a565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff164760405161160790612db6565b60006040518083038185875af1925050503d8060008114611644576040519150601f19603f3d011682016040523d82523d6000602084013e611649565b606091505b50508091505050565b61165b3361171b565b61169a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169190612f9a565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008383111582906117b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b09190612e98565b60405180910390fd5b50600083856117c891906131b4565b9050809150509392505050565b6000601760009054906101000a900460ff16156117fe576117f7848484611dd1565b9050611c5d565b6118088483611fa4565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118b45750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561199d57600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061195d575060075482600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461195a91906130d3565b11155b61199c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199390612eba565b60405180910390fd5b5b6119a5612041565b156119b3576119b2612118565b5b6119bb6124f2565b158015611a155750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611a6f576000600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411611a6657600080fd5b611a6e6124ff565b5b611af8826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117719092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611b4685612508565b611b505782611b5b565b611b5a858461255f565b5b9050611baf81600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cae90919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c4f9190612fba565b60405180910390a360019150505b9392505050565b6000611ca683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611771565b905092915050565b6000808284611cbd91906130d3565b905083811015611d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf990612efa565b60405180910390fd5b8091505092915050565b600080831415611d1f5760009050611d81565b60008284611d2d919061315a565b9050828482611d3c9190613129565b14611d7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7390612f5a565b60405180910390fd5b809150505b92915050565b6000611dc983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506126a3565b905092915050565b6000611e5c826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117719092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ef182600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cae90919063ffffffff16565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f919190612fba565b60405180910390a3600190509392505050565b60065481111580611ffe5750600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61203d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203490612eda565b60405180910390fd5b5050565b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156120ae5750601760009054906101000a900460ff16155b80156120c65750601560009054906101000a900460ff165b80156121135750601654600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b905090565b6001601760006101000a81548160ff021916908315150217905550600061213e30610f8a565b9050600061217e6002612170600e54612162600c5487611d0c90919063ffffffff16565b611d8790919063ffffffff16565b611d8790919063ffffffff16565b905060006121958284611c6490919063ffffffff16565b90506000600267ffffffffffffffff8111156121b4576121b3613369565b5b6040519080825280602002602001820160405280156121e25781602001602082028036833780820191505090505b50905030816000815181106121fa576121f961333a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061226b5761226a61333a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000479050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008530426040518663ffffffff1660e01b815260040161230e959493929190612fd5565b600060405180830381600087803b15801561232857600080fd5b505af115801561233c573d6000803e3d6000fd5b5050505060006123558247611c6490919063ffffffff16565b905060006123836123726002600c54611d8790919063ffffffff16565b600e54611c6490919063ffffffff16565b905060006123c160026123b3846123a5600c5488611d0c90919063ffffffff16565b611d8790919063ffffffff16565b611d8790919063ffffffff16565b905060006123ec836123de600d5487611d0c90919063ffffffff16565b611d8790919063ffffffff16565b90506000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16826175309060405161243a90612db6565b600060405180830381858888f193505050503d8060008114612478576040519150601f19603f3d011682016040523d82523d6000602084013e61247d565b606091505b50509050806124c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b890612f1a565b60405180910390fd5b6124cb8984612706565b505050505050505050506000601760006101000a81548160ff021916908315150217905550565b6000806014541415905090565b43601481905550565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008061258b600f5461257d600e5486611d0c90919063ffffffff16565b611d8790919063ffffffff16565b90506125df81600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611cae90919063ffffffff16565b600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161267f9190612fba565b60405180910390a361269a8184611c6490919063ffffffff16565b91505092915050565b600080831182906126ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e19190612e98565b60405180910390fd5b50600083856126f99190613129565b9050809150509392505050565b600082111561282757601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161279896959493929190612e01565b6060604051808303818588803b1580156127b157600080fd5b505af11580156127c5573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906127ea9190612b01565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506818360405161281e92919061302f565b60405180910390a15b5050565b60008135905061283a81613545565b92915050565b60008135905061284f8161355c565b92915050565b60008135905061286481613573565b92915050565b6000813590506128798161358a565b92915050565b60008151905061288e8161358a565b92915050565b6000602082840312156128aa576128a9613398565b5b60006128b88482850161282b565b91505092915050565b6000602082840312156128d7576128d6613398565b5b60006128e584828501612840565b91505092915050565b6000806040838503121561290557612904613398565b5b60006129138582860161282b565b92505060206129248582860161282b565b9150509250929050565b60008060006060848603121561294757612946613398565b5b60006129558682870161282b565b93505060206129668682870161282b565b92505060406129778682870161286a565b9150509250925092565b6000806040838503121561299857612997613398565b5b60006129a68582860161282b565b92505060206129b785828601612855565b9150509250929050565b600080604083850312156129d8576129d7613398565b5b60006129e68582860161282b565b92505060206129f78582860161286a565b9150509250929050565b60008060408385031215612a1857612a17613398565b5b6000612a2685828601612855565b9250506020612a378582860161286a565b9150509250929050565b600060208284031215612a5757612a56613398565b5b6000612a658482850161286a565b91505092915050565b60008060408385031215612a8557612a84613398565b5b6000612a938582860161286a565b9250506020612aa48582860161286a565b9150509250929050565b600080600060608486031215612ac757612ac6613398565b5b6000612ad58682870161286a565b9350506020612ae68682870161286a565b9250506040612af78682870161286a565b9150509250925092565b600080600060608486031215612b1a57612b19613398565b5b6000612b288682870161287f565b9350506020612b398682870161287f565b9250506040612b4a8682870161287f565b9150509250925092565b6000612b608383612b7b565b60208301905092915050565b612b758161324f565b82525050565b612b84816131e8565b82525050565b612b93816131e8565b82525050565b6000612ba482613083565b612bae81856130a6565b9350612bb983613073565b8060005b83811015612bea578151612bd18882612b54565b9750612bdc83613099565b925050600181019050612bbd565b5085935050505092915050565b612c008161320c565b82525050565b612c0f81613261565b82525050565b612c1e81613273565b82525050565b6000612c2f8261308e565b612c3981856130c2565b9350612c498185602086016132a9565b612c528161339d565b840191505092915050565b6000612c6a6025836130c2565b9150612c75826133ae565b604082019050919050565b6000612c8d6011836130c2565b9150612c98826133fd565b602082019050919050565b6000612cb0601b836130c2565b9150612cbb82613426565b602082019050919050565b6000612cd3601e836130c2565b9150612cde8261344f565b602082019050919050565b6000612cf6600d836130c2565b9150612d0182613478565b602082019050919050565b6000612d196021836130c2565b9150612d24826134a1565b604082019050919050565b6000612d3c6006836130c2565b9150612d47826134f0565b602082019050919050565b6000612d5f6000836130b7565b9150612d6a82613519565b600082019050919050565b6000612d82600b836130c2565b9150612d8d8261351c565b602082019050919050565b612da181613238565b82525050565b612db081613242565b82525050565b6000612dc182612d52565b9150819050919050565b6000602082019050612de06000830184612b8a565b92915050565b6000602082019050612dfb6000830184612b6c565b92915050565b600060c082019050612e166000830189612b8a565b612e236020830188612d98565b612e306040830187612c15565b612e3d6060830186612c15565b612e4a6080830185612b8a565b612e5760a0830184612d98565b979650505050505050565b6000602082019050612e776000830184612bf7565b92915050565b6000602082019050612e926000830184612c06565b92915050565b60006020820190508181036000830152612eb28184612c24565b905092915050565b60006020820190508181036000830152612ed381612c5d565b9050919050565b60006020820190508181036000830152612ef381612c80565b9050919050565b60006020820190508181036000830152612f1381612ca3565b9050919050565b60006020820190508181036000830152612f3381612cc6565b9050919050565b60006020820190508181036000830152612f5381612ce9565b9050919050565b60006020820190508181036000830152612f7381612d0c565b9050919050565b60006020820190508181036000830152612f9381612d2f565b9050919050565b60006020820190508181036000830152612fb381612d75565b9050919050565b6000602082019050612fcf6000830184612d98565b92915050565b600060a082019050612fea6000830188612d98565b612ff76020830187612c15565b81810360408301526130098186612b99565b90506130186060830185612b8a565b6130256080830184612d98565b9695505050505050565b60006040820190506130446000830185612d98565b6130516020830184612d98565b9392505050565b600060208201905061306d6000830184612da7565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b60006130de82613238565b91506130e983613238565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561311e5761311d6132dc565b5b828201905092915050565b600061313482613238565b915061313f83613238565b92508261314f5761314e61330b565b5b828204905092915050565b600061316582613238565b915061317083613238565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156131a9576131a86132dc565b5b828202905092915050565b60006131bf82613238565b91506131ca83613238565b9250828210156131dd576131dc6132dc565b5b828203905092915050565b60006131f382613218565b9050919050565b600061320582613218565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061325a82613285565b9050919050565b600061326c82613285565b9050919050565b600061327e82613238565b9050919050565b600061329082613297565b9050919050565b60006132a282613218565b9050919050565b60005b838110156132c75780820151818401526020810190506132ac565b838111156132d6576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b7f5458204c696d6974204578636565646564000000000000000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f72656365697665722072656a656374656420455448207472616e736665720000600082015250565b7f556e617574686f72697a65642e00000000000000000000000000000000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b50565b7f21415554484f52495a4544000000000000000000000000000000000000000000600082015250565b61354e816131e8565b811461355957600080fd5b50565b613565816131fa565b811461357057600080fd5b50565b61357c8161320c565b811461358757600080fd5b50565b61359381613238565b811461359e57600080fd5b5056fea2646970667358221220d68b42dcb1db7312e58639bc4738b14555fbfcc27401537e3bbae9b36166b58564736f6c63430008070033
Deployed Bytecode Sourcemap
5016:10529:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6241:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7219:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7647:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15324:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6949:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8183:376;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14987:142;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2812:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7043:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7877:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13491:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13649:151;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13818:120;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6204:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3221:231;;;;;;;;;;;;;:::i;:::-;;7389:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5476:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7305:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5538:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7129:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6144:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8013:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2599:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6170:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14094:287;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15143:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7500:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14535:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14395:126;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2703:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3040:173;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14701:274;;;;;;;;;;;;;:::i;:::-;;13952:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6113:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2925:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6241:57;;;;:::o;7219:80::-;7267:13;7291:5;;;;;;;;;;;;;;;;;7284:12;;7219:80;:::o;7647:216::-;7722:4;7774:6;7739:11;:23;7751:10;7739:23;;;;;;;;;;;;;;;:32;7763:7;7739:32;;;;;;;;;;;;;;;:41;;;;7817:7;7796:37;;7805:10;7796:37;;;7826:6;7796:37;;;;;;:::i;:::-;;;;;;;;7851:4;7844:11;;7647:216;;;;:::o;15324:150::-;15404:4;15460:6;15428:29;15448:8;15428:19;:29::i;:::-;:38;15421:45;;15324:150;;;;:::o;6949:88::-;7004:7;7022:12;;7015:19;;6949:88;:::o;8183:376::-;8283:4;8338:17;8303:11;:19;8315:6;8303:19;;;;;;;;;;;;;;;:31;8323:10;8303:31;;;;;;;;;;;;;;;;:52;8300:186;;8405:69;8441:6;8405:69;;;;;;;;;;;;;;;;;:11;:19;8417:6;8405:19;;;;;;;;;;;;;;;:31;8425:10;8405:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;8371:11;:19;8383:6;8371:19;;;;;;;;;;;;;;;:31;8391:10;8371:31;;;;;;;;;;;;;;;:103;;;;8300:186;8511:40;8525:6;8533:9;8544:6;8511:13;:40::i;:::-;8504:47;;8183:376;;;;;:::o;14987:142::-;15040:7;15067:54;15105:15;15115:4;;;;;;;;;;;15105:9;:15::i;:::-;15067:33;15084:15;15094:4;;;;;;;;;;;15084:9;:15::i;:::-;15067:12;;:16;;:33;;;;:::i;:::-;:37;;:54;;;;:::i;:::-;15060:61;;14987:142;:::o;2812:103::-;2867:4;2902:5;;;;;;;;;;;2891:16;;:7;:16;;;2884:23;;2812:103;;;:::o;7043:80::-;7095:5;5406:2;7104:16;;7043:80;:::o;7877:122::-;7932:4;7956:35;7964:7;7973:17;7956:7;:35::i;:::-;7949:42;;7877:122;;;:::o;13491:145::-;2528:24;2541:10;2528:12;:24::i;:::-;2520:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;13591:4:::1;13576:12;;:19;;;;:::i;:::-;13566:6;:29;;13558:38;;;::::0;::::1;;13622:6;13607:12;:21;;;;13491:145:::0;:::o;13649:151::-;2426:19;2434:10;2426:7;:19::i;:::-;2418:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;13752:4:::1;13737:12;;:19;;;;:::i;:::-;13727:6;:29;;13719:39;;;::::0;::::1;;13786:6;13769:14;:23;;;;13649:151:::0;:::o;13818:120::-;2528:24;2541:10;2528:12;:24::i;:::-;2520:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;13924:6:::1;13902:11;:19;13914:6;13902:19;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;13818:120:::0;;:::o;6204:30::-;;;;;;;;;;;;;:::o;3221:231::-;2426:19;2434:10;2426:7;:19::i;:::-;2418:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3279:11:::1;3301:42;3279:65;;3363:3;3355:5;::::0;:11:::1;;;;;;;;;;;;;;;;;;3399:4;3377:14:::0;:19:::1;3392:3;3377:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;3419:25;3440:3;3419:25;;;;;;:::i;:::-;;;;;;;;3268:184;3221:231::o:0;7389:105::-;7455:7;7473:9;:18;7483:7;7473:18;;;;;;;;;;;;;;;;7466:25;;7389:105;;;:::o;5476:54::-;;;;:::o;7305:78::-;7357:7;7375:5;;;;;;;;;;;7368:12;;7305:78;:::o;5538:56::-;;;;:::o;7129:84::-;7179:13;7203:7;;;;;;;;;;;;;;;;;7196:14;;7129:84;:::o;6144:19::-;;;;;;;;;;;;;:::o;8013:156::-;8093:4;8117:44;8131:10;8143:9;8154:6;8117:13;:44::i;:::-;8110:51;;8013:156;;;;:::o;2599:94::-;2426:19;2434:10;2426:7;:19::i;:::-;2418:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2681:4:::1;2659:14:::0;:19:::1;2674:3;2659:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;2599:94:::0;:::o;6170:25::-;;;;:::o;14094:287::-;2528:24;2541:10;2528:12;:24::i;:::-;2520:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14227:13:::1;14212:12;:28;;;;14265:12;14251:11;:26;;;;14299:31;14317:12;14299:13;:17;;:31;;;;:::i;:::-;14288:8;:42;;;;14358:15;14341:14;:32;;;;14094:287:::0;;;:::o;15143:167::-;15211:7;15238:64;15279:22;:20;:22::i;:::-;15238:36;15251:22;15271:1;15251:15;15261:4;;;;;;;;;;;15251:9;:15::i;:::-;:19;;:22;;;;:::i;:::-;15238:8;:12;;:36;;;;:::i;:::-;:40;;:64;;;;:::i;:::-;15231:71;;15143:167;;;:::o;7500:133::-;7584:7;7602:11;:19;7614:6;7602:19;;;;;;;;;;;;;;;:28;7622:7;7602:28;;;;;;;;;;;;;;;;7595:35;;7500:133;;;;:::o;14535:156::-;2528:24;2541:10;2528:12;:24::i;:::-;2520:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14641:8:::1;14627:11;;:22;;;;;;;;;;;;;;;;;;14676:7;14660:13;:23;;;;14535:156:::0;;:::o;14395:126::-;2528:24;2541:10;2528:12;:24::i;:::-;2520:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14496:17:::1;14477:16;;:36;;;;;;;;;;;;;;;;;;14395:126:::0;:::o;2703:97::-;2426:19;2434:10;2426:7;:19::i;:::-;2418:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2787:5:::1;2765:14;:19;2780:3;2765:19;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;2703:97:::0;:::o;3040:173::-;2426:19;2434:10;2426:7;:19::i;:::-;2418:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;3124:3:::1;3116:5;::::0;:11:::1;;;;;;;;;;;;;;;;;;3160:4;3138:14:::0;:19:::1;3153:3;3138:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;3180:25;3201:3;3180:25;;;;;;:::i;:::-;;;;;;;;3040:173:::0;:::o;14701:274::-;14828:16;;;;;;;;;;;14814:30;;:10;:30;;;14806:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;14873:12;14917:10;14909:24;;14941:21;14909:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14896:71;;;;;14736:239;14701:274::o;13952:128::-;2528:24;2541:10;2528:12;:24::i;:::-;2520:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;14066:6:::1;14040:15;:23;14056:6;14040:23;;;;;;;;;;;;;;;;:32;;;;;;;;;;;;;;;;;;13952:128:::0;;:::o;6113:24::-;;;;;;;;;;;;;:::o;2925:107::-;2981:4;3005:14;:19;3020:3;3005:19;;;;;;;;;;;;;;;;;;;;;;;;;2998:26;;2925:107;;;:::o;420:198::-;506:7;539:1;534;:6;;542:12;526:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;566:9;582:1;578;:5;;;;:::i;:::-;566:17;;609:1;602:8;;;420:198;;;;;:::o;8573:955::-;8665:4;8685:6;;;;;;;;;;;8682:63;;;8701:41;8716:6;8724:9;8735:6;8701:14;:41::i;:::-;8694:48;;;;8682:63;8765:28;8778:6;8786;8765:12;:28::i;:::-;8831:4;;;;;;;;;;;8818:17;;:9;:17;;;;:38;;;;;8852:4;;;;;;;;;;;8839:17;;:9;:17;;;;8818:38;8814:198;;;8881:15;:26;8897:9;8881:26;;;;;;;;;;;;;;;;;;;;;;;;;:77;;;;8944:14;;8934:6;8911:9;:20;8921:9;8911:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:47;;8881:77;8873:127;;;;;;;;;;;;:::i;:::-;;;;;;;;;8814:198;9035:16;:14;:16::i;:::-;9032:35;;;9054:10;:8;:10::i;:::-;9032:35;9089:10;:8;:10::i;:::-;9088:11;:32;;;;;9116:4;;;;;;;;;;;9103:17;;:9;:17;;;9088:32;9085:81;;;9151:1;9131:9;:17;9141:6;9131:17;;;;;;;;;;;;;;;;:21;9123:30;;;;;;9155:8;:6;:8::i;:::-;9085:81;9204:53;9226:6;9204:53;;;;;;;;;;;;;;;;;:9;:17;9214:6;9204:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9184:9;:17;9194:6;9184:17;;;;;;;;;;;;;;;:73;;;;9276:22;9301:21;9315:6;9301:13;:21::i;:::-;:56;;9351:6;9301:56;;;9325:23;9333:6;9341;9325:7;:23::i;:::-;9301:56;9276:81;;9391:40;9416:14;9391:9;:20;9401:9;9391:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;9368:9;:20;9378:9;9368:20;;;;;;;;;;;;;;;:63;;;;9472:9;9455:43;;9464:6;9455:43;;;9483:14;9455:43;;;;;;:::i;:::-;;;;;;;;9516:4;9509:11;;;8573:955;;;;;;:::o;278:136::-;336:7;363:43;367:1;370;363:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;356:50;;278:136;;;;:::o;85:187::-;143:7;163:9;179:1;175;:5;;;;:::i;:::-;163:17;;204:1;199;:6;;191:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;263:1;256:8;;;85:187;;;;:::o;624:250::-;682:7;711:1;706;:6;702:47;;;736:1;729:8;;;;702:47;761:9;777:1;773;:5;;;;:::i;:::-;761:17;;806:1;801;797;:5;;;;:::i;:::-;:10;789:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;865:1;858:8;;;624:250;;;;;:::o;880:132::-;938:7;965:39;969:1;972;965:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;958:46;;880:132;;;;:::o;9540:330::-;9633:4;9670:53;9692:6;9670:53;;;;;;;;;;;;;;;;;:9;:17;9680:6;9670:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;9650:9;:17;9660:6;9650:17;;;;;;;;;;;;;;;:73;;;;9757:32;9782:6;9757:9;:20;9767:9;9757:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;9734:9;:20;9744:9;9734:20;;;;;;;;;;;;;;;:55;;;;9822:9;9805:35;;9814:6;9805:35;;;9833:6;9805:35;;;;;;:::i;:::-;;;;;;;;9858:4;9851:11;;9540:330;;;;;:::o;9884:166::-;9981:12;;9971:6;:22;;:49;;;;9997:15;:23;10013:6;9997:23;;;;;;;;;;;;;;;;;;;;;;;;;9971:49;9963:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;9884:166;;:::o;10557:197::-;10606:4;10644;;;;;;;;;;;10630:18;;:10;:18;;;;:38;;;;;10662:6;;;;;;;;;;;10661:7;10630:38;:62;;;;;10681:11;;;;;;;;;;;10630:62;:116;;;;;10733:13;;10705:9;:24;10723:4;10705:24;;;;;;;;;;;;;;;;:41;;10630:116;10623:123;;10557:197;:::o;10768:1248::-;6362:4;6353:6;;:13;;;;;;;;;;;;;;;;;;10817:28:::1;10848:24;10866:4;10848:9;:24::i;:::-;10817:55;;10883:23;10909:59;10966:1;10909:52;10952:8;;10909:38;10934:12;;10909:20;:24;;:38;;;;:::i;:::-;:42;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;10883:85;;10979:20;11002:41;11027:15;11002:20;:24;;:41;;;;:::i;:::-;10979:64;;11062:21;11100:1;11086:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11062:40;;11131:4;11113;11118:1;11113:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;11157:4;;;;;;;;;;;11147;11152:1;11147:7;;;;;;;;:::i;:::-;;;;;;;:14;;;;;;;;;::::0;::::1;11180:21;11204;11180:45;;11244:6;;;;;;;;;;;:57;;;11316:12;11343:1;11359:4;11386;11406:15;11244:188;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11443:17;11463:40;11489:13;11463:21;:25;;:40;;;;:::i;:::-;11443:60;;11514:19;11536:33;11549:19;11566:1;11549:12;;:16;;:19;;;;:::i;:::-;11536:8;;:12;;:33;;;;:::i;:::-;11514:55;;11580:26;11609:51;11658:1;11609:44;11641:11;11609:27;11623:12;;11609:9;:13;;:27;;;;:::i;:::-;:31;;:44;;;;:::i;:::-;:48;;:51;;;;:::i;:::-;11580:80;;11671:23;11697:43;11728:11;11697:26;11711:11;;11697:9;:13;;:26;;;;:::i;:::-;:30;;:43;;;;:::i;:::-;11671:69;;11760:14;11811:16;;;;;;;;;;;11803:30;;11841:15;11863:5;11803:70;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11759:114;;;11892:9;11884:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;11947:61;11972:15;11989:18;11947:24;:61::i;:::-;10806:1210;;;;;;;;;;6380:5:::0;6371:6;;:14;;;;;;;;;;;;;;;;;;10768:1248::o;13302:90::-;13345:4;13383:1;13369:10;;:15;;13362:22;;13302:90;:::o;13406:71::-;13457:12;13444:10;:25;;;;13406:71::o;10062:114::-;10124:4;10149:11;:19;10161:6;10149:19;;;;;;;;;;;;;;;;;;;;;;;;;10148:20;10141:27;;10062:114;;;:::o;10198:345::-;10265:7;10285:17;10305:40;10330:14;;10305:20;10316:8;;10305:6;:10;;:20;;;;:::i;:::-;:24;;:40;;;;:::i;:::-;10285:60;;10391:39;10420:9;10391;:24;10409:4;10391:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10364:9;:24;10382:4;10364:24;;;;;;;;;;;;;;;:66;;;;10471:4;10446:42;;10455:6;10446:42;;;10478:9;10446:42;;;;;;:::i;:::-;;;;;;;;10514:21;10525:9;10514:6;:10;;:21;;;;:::i;:::-;10507:28;;;10198:345;;;;:::o;1018:201::-;1104:7;1146:1;1142;:5;1149:12;1134:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1173:9;1189:1;1185;:5;;;;:::i;:::-;1173:17;;1210:1;1203:8;;;1018:201;;;;;:::o;12487:424::-;12593:1;12579:11;:15;12576:328;;;12610:6;;;;;;;;;;;:22;;;12640:9;12677:4;12701:11;12731:1;12751;12771:17;;;;;;;;;;;12807:15;12610:227;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12857:35;12869:9;12880:11;12857:35;;;;;;;:::i;:::-;;;;;;;;12576:328;12487:424;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:155::-;206:5;244:6;231:20;222:29;;260:41;295:5;260:41;:::i;:::-;152:155;;;;:::o;313:133::-;356:5;394:6;381:20;372:29;;410:30;434:5;410:30;:::i;:::-;313:133;;;;:::o;452:139::-;498:5;536:6;523:20;514:29;;552:33;579:5;552:33;:::i;:::-;452:139;;;;:::o;597:143::-;654:5;685:6;679:13;670:22;;701:33;728:5;701:33;:::i;:::-;597:143;;;;:::o;746:329::-;805:6;854:2;842:9;833:7;829:23;825:32;822:119;;;860:79;;:::i;:::-;822:119;980:1;1005:53;1050:7;1041:6;1030:9;1026:22;1005:53;:::i;:::-;995:63;;951:117;746:329;;;;:::o;1081:345::-;1148:6;1197:2;1185:9;1176:7;1172:23;1168:32;1165:119;;;1203:79;;:::i;:::-;1165:119;1323:1;1348:61;1401:7;1392:6;1381:9;1377:22;1348:61;:::i;:::-;1338:71;;1294:125;1081:345;;;;:::o;1432:474::-;1500:6;1508;1557:2;1545:9;1536:7;1532:23;1528:32;1525:119;;;1563:79;;:::i;:::-;1525:119;1683:1;1708:53;1753:7;1744:6;1733:9;1729:22;1708:53;:::i;:::-;1698:63;;1654:117;1810:2;1836:53;1881:7;1872:6;1861:9;1857:22;1836:53;:::i;:::-;1826:63;;1781:118;1432:474;;;;;:::o;1912:619::-;1989:6;1997;2005;2054:2;2042:9;2033:7;2029:23;2025:32;2022:119;;;2060:79;;:::i;:::-;2022:119;2180:1;2205:53;2250:7;2241:6;2230:9;2226:22;2205:53;:::i;:::-;2195:63;;2151:117;2307:2;2333:53;2378:7;2369:6;2358:9;2354:22;2333:53;:::i;:::-;2323:63;;2278:118;2435:2;2461:53;2506:7;2497:6;2486:9;2482:22;2461:53;:::i;:::-;2451:63;;2406:118;1912:619;;;;;:::o;2537:468::-;2602:6;2610;2659:2;2647:9;2638:7;2634:23;2630:32;2627:119;;;2665:79;;:::i;:::-;2627:119;2785:1;2810:53;2855:7;2846:6;2835:9;2831:22;2810:53;:::i;:::-;2800:63;;2756:117;2912:2;2938:50;2980:7;2971:6;2960:9;2956:22;2938:50;:::i;:::-;2928:60;;2883:115;2537:468;;;;;:::o;3011:474::-;3079:6;3087;3136:2;3124:9;3115:7;3111:23;3107:32;3104:119;;;3142:79;;:::i;:::-;3104:119;3262:1;3287:53;3332:7;3323:6;3312:9;3308:22;3287:53;:::i;:::-;3277:63;;3233:117;3389:2;3415:53;3460:7;3451:6;3440:9;3436:22;3415:53;:::i;:::-;3405:63;;3360:118;3011:474;;;;;:::o;3491:468::-;3556:6;3564;3613:2;3601:9;3592:7;3588:23;3584:32;3581:119;;;3619:79;;:::i;:::-;3581:119;3739:1;3764:50;3806:7;3797:6;3786:9;3782:22;3764:50;:::i;:::-;3754:60;;3710:114;3863:2;3889:53;3934:7;3925:6;3914:9;3910:22;3889:53;:::i;:::-;3879:63;;3834:118;3491:468;;;;;:::o;3965:329::-;4024:6;4073:2;4061:9;4052:7;4048:23;4044:32;4041:119;;;4079:79;;:::i;:::-;4041:119;4199:1;4224:53;4269:7;4260:6;4249:9;4245:22;4224:53;:::i;:::-;4214:63;;4170:117;3965:329;;;;:::o;4300:474::-;4368:6;4376;4425:2;4413:9;4404:7;4400:23;4396:32;4393:119;;;4431:79;;:::i;:::-;4393:119;4551:1;4576:53;4621:7;4612:6;4601:9;4597:22;4576:53;:::i;:::-;4566:63;;4522:117;4678:2;4704:53;4749:7;4740:6;4729:9;4725:22;4704:53;:::i;:::-;4694:63;;4649:118;4300:474;;;;;:::o;4780:619::-;4857:6;4865;4873;4922:2;4910:9;4901:7;4897:23;4893:32;4890:119;;;4928:79;;:::i;:::-;4890:119;5048:1;5073:53;5118:7;5109:6;5098:9;5094:22;5073:53;:::i;:::-;5063:63;;5019:117;5175:2;5201:53;5246:7;5237:6;5226:9;5222:22;5201:53;:::i;:::-;5191:63;;5146:118;5303:2;5329:53;5374:7;5365:6;5354:9;5350:22;5329:53;:::i;:::-;5319:63;;5274:118;4780:619;;;;;:::o;5405:663::-;5493:6;5501;5509;5558:2;5546:9;5537:7;5533:23;5529:32;5526:119;;;5564:79;;:::i;:::-;5526:119;5684:1;5709:64;5765:7;5756:6;5745:9;5741:22;5709:64;:::i;:::-;5699:74;;5655:128;5822:2;5848:64;5904:7;5895:6;5884:9;5880:22;5848:64;:::i;:::-;5838:74;;5793:129;5961:2;5987:64;6043:7;6034:6;6023:9;6019:22;5987:64;:::i;:::-;5977:74;;5932:129;5405:663;;;;;:::o;6074:179::-;6143:10;6164:46;6206:3;6198:6;6164:46;:::i;:::-;6242:4;6237:3;6233:14;6219:28;;6074:179;;;;:::o;6259:147::-;6354:45;6393:5;6354:45;:::i;:::-;6349:3;6342:58;6259:147;;:::o;6412:108::-;6489:24;6507:5;6489:24;:::i;:::-;6484:3;6477:37;6412:108;;:::o;6526:118::-;6613:24;6631:5;6613:24;:::i;:::-;6608:3;6601:37;6526:118;;:::o;6680:732::-;6799:3;6828:54;6876:5;6828:54;:::i;:::-;6898:86;6977:6;6972:3;6898:86;:::i;:::-;6891:93;;7008:56;7058:5;7008:56;:::i;:::-;7087:7;7118:1;7103:284;7128:6;7125:1;7122:13;7103:284;;;7204:6;7198:13;7231:63;7290:3;7275:13;7231:63;:::i;:::-;7224:70;;7317:60;7370:6;7317:60;:::i;:::-;7307:70;;7163:224;7150:1;7147;7143:9;7138:14;;7103:284;;;7107:14;7403:3;7396:10;;6804:608;;;6680:732;;;;:::o;7418:109::-;7499:21;7514:5;7499:21;:::i;:::-;7494:3;7487:34;7418:109;;:::o;7533:167::-;7638:55;7687:5;7638:55;:::i;:::-;7633:3;7626:68;7533:167;;:::o;7706:147::-;7801:45;7840:5;7801:45;:::i;:::-;7796:3;7789:58;7706:147;;:::o;7859:364::-;7947:3;7975:39;8008:5;7975:39;:::i;:::-;8030:71;8094:6;8089:3;8030:71;:::i;:::-;8023:78;;8110:52;8155:6;8150:3;8143:4;8136:5;8132:16;8110:52;:::i;:::-;8187:29;8209:6;8187:29;:::i;:::-;8182:3;8178:39;8171:46;;7951:272;7859:364;;;;:::o;8229:366::-;8371:3;8392:67;8456:2;8451:3;8392:67;:::i;:::-;8385:74;;8468:93;8557:3;8468:93;:::i;:::-;8586:2;8581:3;8577:12;8570:19;;8229:366;;;:::o;8601:::-;8743:3;8764:67;8828:2;8823:3;8764:67;:::i;:::-;8757:74;;8840:93;8929:3;8840:93;:::i;:::-;8958:2;8953:3;8949:12;8942:19;;8601:366;;;:::o;8973:::-;9115:3;9136:67;9200:2;9195:3;9136:67;:::i;:::-;9129:74;;9212:93;9301:3;9212:93;:::i;:::-;9330:2;9325:3;9321:12;9314:19;;8973:366;;;:::o;9345:::-;9487:3;9508:67;9572:2;9567:3;9508:67;:::i;:::-;9501:74;;9584:93;9673:3;9584:93;:::i;:::-;9702:2;9697:3;9693:12;9686:19;;9345:366;;;:::o;9717:::-;9859:3;9880:67;9944:2;9939:3;9880:67;:::i;:::-;9873:74;;9956:93;10045:3;9956:93;:::i;:::-;10074:2;10069:3;10065:12;10058:19;;9717:366;;;:::o;10089:::-;10231:3;10252:67;10316:2;10311:3;10252:67;:::i;:::-;10245:74;;10328:93;10417:3;10328:93;:::i;:::-;10446:2;10441:3;10437:12;10430:19;;10089:366;;;:::o;10461:365::-;10603:3;10624:66;10688:1;10683:3;10624:66;:::i;:::-;10617:73;;10699:93;10788:3;10699:93;:::i;:::-;10817:2;10812:3;10808:12;10801:19;;10461:365;;;:::o;10832:398::-;10991:3;11012:83;11093:1;11088:3;11012:83;:::i;:::-;11005:90;;11104:93;11193:3;11104:93;:::i;:::-;11222:1;11217:3;11213:11;11206:18;;10832:398;;;:::o;11236:366::-;11378:3;11399:67;11463:2;11458:3;11399:67;:::i;:::-;11392:74;;11475:93;11564:3;11475:93;:::i;:::-;11593:2;11588:3;11584:12;11577:19;;11236:366;;;:::o;11608:118::-;11695:24;11713:5;11695:24;:::i;:::-;11690:3;11683:37;11608:118;;:::o;11732:112::-;11815:22;11831:5;11815:22;:::i;:::-;11810:3;11803:35;11732:112;;:::o;11850:379::-;12034:3;12056:147;12199:3;12056:147;:::i;:::-;12049:154;;12220:3;12213:10;;11850:379;;;:::o;12235:222::-;12328:4;12366:2;12355:9;12351:18;12343:26;;12379:71;12447:1;12436:9;12432:17;12423:6;12379:71;:::i;:::-;12235:222;;;;:::o;12463:238::-;12564:4;12602:2;12591:9;12587:18;12579:26;;12615:79;12691:1;12680:9;12676:17;12667:6;12615:79;:::i;:::-;12463:238;;;;:::o;12707:807::-;12956:4;12994:3;12983:9;12979:19;12971:27;;13008:71;13076:1;13065:9;13061:17;13052:6;13008:71;:::i;:::-;13089:72;13157:2;13146:9;13142:18;13133:6;13089:72;:::i;:::-;13171:80;13247:2;13236:9;13232:18;13223:6;13171:80;:::i;:::-;13261;13337:2;13326:9;13322:18;13313:6;13261:80;:::i;:::-;13351:73;13419:3;13408:9;13404:19;13395:6;13351:73;:::i;:::-;13434;13502:3;13491:9;13487:19;13478:6;13434:73;:::i;:::-;12707:807;;;;;;;;;:::o;13520:210::-;13607:4;13645:2;13634:9;13630:18;13622:26;;13658:65;13720:1;13709:9;13705:17;13696:6;13658:65;:::i;:::-;13520:210;;;;:::o;13736:258::-;13847:4;13885:2;13874:9;13870:18;13862:26;;13898:89;13984:1;13973:9;13969:17;13960:6;13898:89;:::i;:::-;13736:258;;;;:::o;14000:313::-;14113:4;14151:2;14140:9;14136:18;14128:26;;14200:9;14194:4;14190:20;14186:1;14175:9;14171:17;14164:47;14228:78;14301:4;14292:6;14228:78;:::i;:::-;14220:86;;14000:313;;;;:::o;14319:419::-;14485:4;14523:2;14512:9;14508:18;14500:26;;14572:9;14566:4;14562:20;14558:1;14547:9;14543:17;14536:47;14600:131;14726:4;14600:131;:::i;:::-;14592:139;;14319:419;;;:::o;14744:::-;14910:4;14948:2;14937:9;14933:18;14925:26;;14997:9;14991:4;14987:20;14983:1;14972:9;14968:17;14961:47;15025:131;15151:4;15025:131;:::i;:::-;15017:139;;14744:419;;;:::o;15169:::-;15335:4;15373:2;15362:9;15358:18;15350:26;;15422:9;15416:4;15412:20;15408:1;15397:9;15393:17;15386:47;15450:131;15576:4;15450:131;:::i;:::-;15442:139;;15169:419;;;:::o;15594:::-;15760:4;15798:2;15787:9;15783:18;15775:26;;15847:9;15841:4;15837:20;15833:1;15822:9;15818:17;15811:47;15875:131;16001:4;15875:131;:::i;:::-;15867:139;;15594:419;;;:::o;16019:::-;16185:4;16223:2;16212:9;16208:18;16200:26;;16272:9;16266:4;16262:20;16258:1;16247:9;16243:17;16236:47;16300:131;16426:4;16300:131;:::i;:::-;16292:139;;16019:419;;;:::o;16444:::-;16610:4;16648:2;16637:9;16633:18;16625:26;;16697:9;16691:4;16687:20;16683:1;16672:9;16668:17;16661:47;16725:131;16851:4;16725:131;:::i;:::-;16717:139;;16444:419;;;:::o;16869:::-;17035:4;17073:2;17062:9;17058:18;17050:26;;17122:9;17116:4;17112:20;17108:1;17097:9;17093:17;17086:47;17150:131;17276:4;17150:131;:::i;:::-;17142:139;;16869:419;;;:::o;17294:::-;17460:4;17498:2;17487:9;17483:18;17475:26;;17547:9;17541:4;17537:20;17533:1;17522:9;17518:17;17511:47;17575:131;17701:4;17575:131;:::i;:::-;17567:139;;17294:419;;;:::o;17719:222::-;17812:4;17850:2;17839:9;17835:18;17827:26;;17863:71;17931:1;17920:9;17916:17;17907:6;17863:71;:::i;:::-;17719:222;;;;:::o;17947:831::-;18210:4;18248:3;18237:9;18233:19;18225:27;;18262:71;18330:1;18319:9;18315:17;18306:6;18262:71;:::i;:::-;18343:80;18419:2;18408:9;18404:18;18395:6;18343:80;:::i;:::-;18470:9;18464:4;18460:20;18455:2;18444:9;18440:18;18433:48;18498:108;18601:4;18592:6;18498:108;:::i;:::-;18490:116;;18616:72;18684:2;18673:9;18669:18;18660:6;18616:72;:::i;:::-;18698:73;18766:3;18755:9;18751:19;18742:6;18698:73;:::i;:::-;17947:831;;;;;;;;:::o;18784:332::-;18905:4;18943:2;18932:9;18928:18;18920:26;;18956:71;19024:1;19013:9;19009:17;19000:6;18956:71;:::i;:::-;19037:72;19105:2;19094:9;19090:18;19081:6;19037:72;:::i;:::-;18784:332;;;;;:::o;19122:214::-;19211:4;19249:2;19238:9;19234:18;19226:26;;19262:67;19326:1;19315:9;19311:17;19302:6;19262:67;:::i;:::-;19122:214;;;;:::o;19423:132::-;19490:4;19513:3;19505:11;;19543:4;19538:3;19534:14;19526:22;;19423:132;;;:::o;19561:114::-;19628:6;19662:5;19656:12;19646:22;;19561:114;;;:::o;19681:99::-;19733:6;19767:5;19761:12;19751:22;;19681:99;;;:::o;19786:113::-;19856:4;19888;19883:3;19879:14;19871:22;;19786:113;;;:::o;19905:184::-;20004:11;20038:6;20033:3;20026:19;20078:4;20073:3;20069:14;20054:29;;19905:184;;;;:::o;20095:147::-;20196:11;20233:3;20218:18;;20095:147;;;;:::o;20248:169::-;20332:11;20366:6;20361:3;20354:19;20406:4;20401:3;20397:14;20382:29;;20248:169;;;;:::o;20423:305::-;20463:3;20482:20;20500:1;20482:20;:::i;:::-;20477:25;;20516:20;20534:1;20516:20;:::i;:::-;20511:25;;20670:1;20602:66;20598:74;20595:1;20592:81;20589:107;;;20676:18;;:::i;:::-;20589:107;20720:1;20717;20713:9;20706:16;;20423:305;;;;:::o;20734:185::-;20774:1;20791:20;20809:1;20791:20;:::i;:::-;20786:25;;20825:20;20843:1;20825:20;:::i;:::-;20820:25;;20864:1;20854:35;;20869:18;;:::i;:::-;20854:35;20911:1;20908;20904:9;20899:14;;20734:185;;;;:::o;20925:348::-;20965:7;20988:20;21006:1;20988:20;:::i;:::-;20983:25;;21022:20;21040:1;21022:20;:::i;:::-;21017:25;;21210:1;21142:66;21138:74;21135:1;21132:81;21127:1;21120:9;21113:17;21109:105;21106:131;;;21217:18;;:::i;:::-;21106:131;21265:1;21262;21258:9;21247:20;;20925:348;;;;:::o;21279:191::-;21319:4;21339:20;21357:1;21339:20;:::i;:::-;21334:25;;21373:20;21391:1;21373:20;:::i;:::-;21368:25;;21412:1;21409;21406:8;21403:34;;;21417:18;;:::i;:::-;21403:34;21462:1;21459;21455:9;21447:17;;21279:191;;;;:::o;21476:96::-;21513:7;21542:24;21560:5;21542:24;:::i;:::-;21531:35;;21476:96;;;:::o;21578:104::-;21623:7;21652:24;21670:5;21652:24;:::i;:::-;21641:35;;21578:104;;;:::o;21688:90::-;21722:7;21765:5;21758:13;21751:21;21740:32;;21688:90;;;:::o;21784:126::-;21821:7;21861:42;21854:5;21850:54;21839:65;;21784:126;;;:::o;21916:77::-;21953:7;21982:5;21971:16;;21916:77;;;:::o;21999:86::-;22034:7;22074:4;22067:5;22063:16;22052:27;;21999:86;;;:::o;22091:134::-;22149:9;22182:37;22213:5;22182:37;:::i;:::-;22169:50;;22091:134;;;:::o;22231:144::-;22299:9;22332:37;22363:5;22332:37;:::i;:::-;22319:50;;22231:144;;;:::o;22381:121::-;22439:9;22472:24;22490:5;22472:24;:::i;:::-;22459:37;;22381:121;;;:::o;22508:126::-;22558:9;22591:37;22622:5;22591:37;:::i;:::-;22578:50;;22508:126;;;:::o;22640:113::-;22690:9;22723:24;22741:5;22723:24;:::i;:::-;22710:37;;22640:113;;;:::o;22759:307::-;22827:1;22837:113;22851:6;22848:1;22845:13;22837:113;;;22936:1;22931:3;22927:11;22921:18;22917:1;22912:3;22908:11;22901:39;22873:2;22870:1;22866:10;22861:15;;22837:113;;;22968:6;22965:1;22962:13;22959:101;;;23048:1;23039:6;23034:3;23030:16;23023:27;22959:101;22808:258;22759:307;;;:::o;23072:180::-;23120:77;23117:1;23110:88;23217:4;23214:1;23207:15;23241:4;23238:1;23231:15;23258:180;23306:77;23303:1;23296:88;23403:4;23400:1;23393:15;23427:4;23424:1;23417:15;23444:180;23492:77;23489:1;23482:88;23589:4;23586:1;23579:15;23613:4;23610:1;23603:15;23630:180;23678:77;23675:1;23668:88;23775:4;23772:1;23765:15;23799:4;23796:1;23789:15;23939:117;24048:1;24045;24038:12;24062:102;24103:6;24154:2;24150:7;24145:2;24138:5;24134:14;24130:28;24120:38;;24062:102;;;:::o;24170:224::-;24310:34;24306:1;24298:6;24294:14;24287:58;24379:7;24374:2;24366:6;24362:15;24355:32;24170:224;:::o;24400:167::-;24540:19;24536:1;24528:6;24524:14;24517:43;24400:167;:::o;24573:177::-;24713:29;24709:1;24701:6;24697:14;24690:53;24573:177;:::o;24756:180::-;24896:32;24892:1;24884:6;24880:14;24873:56;24756:180;:::o;24942:163::-;25082:15;25078:1;25070:6;25066:14;25059:39;24942:163;:::o;25111:220::-;25251:34;25247:1;25239:6;25235:14;25228:58;25320:3;25315:2;25307:6;25303:15;25296:28;25111:220;:::o;25337:156::-;25477:8;25473:1;25465:6;25461:14;25454:32;25337:156;:::o;25499:114::-;;:::o;25619:161::-;25759:13;25755:1;25747:6;25743:14;25736:37;25619:161;:::o;25786:122::-;25859:24;25877:5;25859:24;:::i;:::-;25852:5;25849:35;25839:63;;25898:1;25895;25888:12;25839:63;25786:122;:::o;25914:138::-;25995:32;26021:5;25995:32;:::i;:::-;25988:5;25985:43;25975:71;;26042:1;26039;26032:12;25975:71;25914:138;:::o;26058:116::-;26128:21;26143:5;26128:21;:::i;:::-;26121:5;26118:32;26108:60;;26164:1;26161;26154:12;26108:60;26058:116;:::o;26180:122::-;26253:24;26271:5;26253:24;:::i;:::-;26246:5;26243:35;26233:63;;26292:1;26289;26282:12;26233:63;26180:122;:::o
Swarm Source
ipfs://d68b42dcb1db7312e58639bc4738b14555fbfcc27401537e3bbae9b36166b585
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.