Contract Overview
My Name Tag:
Not Available
TokenTracker:
[ Download CSV Export ]
Latest 25 internal transaction
[ Download CSV Export ]
Contract Source Code Verified (Exact Match)
Contract Name:
Pornlab
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Arbiscan on 2023-02-28 */ // SPDX-License-Identifier: MIT pragma solidity >= 0.8.0; abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return payable(msg.sender); } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } contract Ownable is Context { address private _owner; address private _previousOwner; uint256 private _lockTime; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); constructor() { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } } interface IERC20 { 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); } interface IFactoryV2 { event PairCreated(address indexed token0, address indexed token1, address lpPair, uint); function getPair(address tokenA, address tokenB) external view returns (address lpPair); function createPair(address tokenA, address tokenB) external returns (address lpPair); } interface IV2Pair { function factory() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function sync() external; } interface IRouter01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); 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 swapExactETHForTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable returns (uint[] memory amounts); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); } interface IRouter02 is IRouter01 { function swapExactTokensForETHSupportingFeeOnTransferTokens( 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 swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); } contract Pornlab is IERC20, Ownable { uint256 private constant _totalTokens = 1_000_000_000 * 10**DECIMALS; string private constant NAME = "PornLab"; string private constant SYMBOL = "PLAB"; uint8 private constant DECIMALS = 18; struct feeProfile{ uint8 _liquidity; uint8 _marketing; uint8 _dev; uint8 _totalFee; } feeProfile public _buyProfile; feeProfile public _sellProfile; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => uint256) private _balances; mapping (address => bool) public _addressesExcludedFromFees; bool public _isSwapEnabled; bool public _isFeeEnabled; bool public _isBuyingAllowed; //The contract will be activated once liquidity is added. uint256 public _tokenSwapThreshold = _totalTokens / 1000 * 1; //0.1% // UNISWAP INTERFACES (For swaps) IRouter02 internal V2Router; address private V2Pair; address public _marketingWallet; address public _devWallet; uint256 private blockPenalty; uint256 public tradingActiveBlock = 0; // 0 means trading is not active event _changeFees(uint256 _liq, uint256 _marketing, uint256 _dev, bool _isBuy); event _updateWallets(address _marketing, address _dev); event _setRouter(address _routerAddress); event _setThreshold(uint256 _threshold); event _clear(uint256 _tokenAmount); event _claimDust(uint256 _amount); event _launch(uint256 _start); event _swapAndLiquify(uint256 _amount); // BSC TESTNET: 0xD99D1c33F9fC3444f8101754aBC46c52416550D1 constructor () { _balances[_msgSender()] = totalSupply(); _marketingWallet = address(0xA51e4ca53f6e7722922B6B18ce1F5E058C15198c); _devWallet = address(0xB7E041809B7B026b97f03Bd6dbC28E74cCECa08E); // Initialize V2 router setSwapRouter(address(0x863e9610E9E0C3986DCc6fb2cD335e11D88f7D5f)); // Exclude contract from fees setExcludedFromFees(address(this), true); setExcludedFromFees(_msgSender(), true); setExcludedFromFees(_marketingWallet, true); setExcludedFromFees(_devWallet, true); // buy setFeeProfile(1,1,1,true); // sell setFeeProfile(1,1,1,false); emit Transfer(address(0), _msgSender(), totalSupply()); } function Launch(uint256 _blockPenalty) external onlyOwner { require(!_isBuyingAllowed, "trading is already active"); setSwapEnabled(true); setFeeEnabled(true); _isBuyingAllowed = true; tradingActiveBlock = block.number; blockPenalty = _blockPenalty; emit _launch(tradingActiveBlock); } function setWallets(address _marketing, address _dev) external onlyOwner() { _marketingWallet = _marketing; _devWallet = _dev; emit _updateWallets(_marketing, _dev); } function setFeeProfile(uint8 _liquidity, uint8 _marketing, uint8 _dev, bool _updateBuy) public onlyOwner() { uint8 _totalFee = _liquidity + _marketing + _dev; require(_totalFee <= 20, "tax to high"); if(_updateBuy) { _buyProfile._liquidity = _liquidity; _buyProfile._marketing = _marketing; _buyProfile._dev = _dev; _buyProfile._totalFee = _totalFee; } else{ _sellProfile._liquidity = _liquidity; _sellProfile._marketing = _marketing; _sellProfile._dev = _dev; _sellProfile._totalFee = _totalFee;} emit _changeFees(_liquidity,_marketing,_dev,_updateBuy); } function transfer(address recipient, uint256 amount) public override returns (bool) { doTransfer(_msgSender(), recipient, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { doTransfer(sender, recipient, amount); doApprove(sender, _msgSender(), _allowances[sender][_msgSender()] - amount); // Will fail when there is not enough allowance return true; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function approve(address spender, uint256 amount) public override returns (bool) { doApprove(_msgSender(), spender, amount); return true; } function doTransfer(address sender, address recipient, uint256 amount) internal virtual { require(sender != address(0), "zero address transfer is not allowed"); require(recipient != address(0), "zero address transfer is not allowed"); require(amount > 0, "amount must be greater than zero"); if(!_isBuyingAllowed) { require(_addressesExcludedFromFees[sender], "cant transfer"); } if(_isSwapEnabled){ executeSwapCheck(sender, recipient); } uint256 feeRate = calculateFeeRate(sender, recipient); uint256 feeAmount = amount * feeRate / 100; uint256 transferAmount = amount - feeAmount; updateBalances(sender, recipient, amount, feeAmount); emit Transfer(sender, recipient, transferAmount); } function executeSwapCheck(address sender, address recipient) private { if (!isMarketTransfer(sender, recipient)) { return; } uint256 tokensAvailableForSwap = balanceOf(address(this)); if (tokensAvailableForSwap >= _tokenSwapThreshold) { tokensAvailableForSwap = _tokenSwapThreshold; bool isSelling = isPancakeswapPair(recipient); if (isSelling) { executeSwap(tokensAvailableForSwap); } } } // if buildup becomes to large in contract function clearSwap(uint256 _tokenAmount) external onlyOwner(){ executeSwap(_tokenAmount); emit _clear(_tokenAmount); } function executeSwap(uint256 amount) private { // Allow pancakeswap to spend the tokens of the address doApprove(address(this), address(V2Router), amount); uint256 total = _sellProfile._totalFee; uint256 tokensReservedForLiquidity = amount * _sellProfile._liquidity / total; uint256 tokensReservedForDev = amount * _sellProfile._dev / total ; uint256 tokensReservedForMarketing = amount - tokensReservedForLiquidity - tokensReservedForDev; uint256 tokensToSwapForLiquidity = tokensReservedForLiquidity / 2; uint256 tokensToAddAsLiquidity = tokensToSwapForLiquidity; uint256 tokensToSwap = tokensToSwapForLiquidity + tokensReservedForMarketing + tokensReservedForDev; uint256 ethSwapped = swapTokensForBNB(tokensToSwap); uint256 bnbToBeAddedToLiquidity = ethSwapped * tokensToSwapForLiquidity / tokensToSwap; uint256 bnbToBeSentToDevelopment = ethSwapped * tokensReservedForDev / tokensToSwap; uint256 bnbToBeSentToMarketing = ethSwapped - bnbToBeAddedToLiquidity- bnbToBeSentToDevelopment; payable(_marketingWallet).transfer(bnbToBeSentToMarketing); payable(_devWallet).transfer(bnbToBeSentToDevelopment); try V2Router.addLiquidityETH{value: bnbToBeAddedToLiquidity}(address(this), tokensToAddAsLiquidity, 0, 0, _devWallet, block.timestamp){} catch {} emit _swapAndLiquify(ethSwapped); } function updateBalances(address sender, address recipient, uint256 sentAmount, uint256 feeAmount) private { // Calculate amount to be received by recipient uint256 receivedAmount = sentAmount - feeAmount; // Update balances _balances[sender] -= sentAmount; _balances[recipient] += receivedAmount; // Add fees to contract _balances[address(this)] += feeAmount; // hides bloat emits if(feeAmount > 0 ){ emit Transfer(sender, address(this), feeAmount); } } function doApprove(address owner, address spender, uint256 amount) private { require(owner != address(0), "Cannot approve from the zero address"); require(spender != address(0), "Cannot approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function calculateFeeRate(address sender, address recipient) private view returns(uint256) { bool applyFees = _isFeeEnabled && !_addressesExcludedFromFees[sender] && !_addressesExcludedFromFees[recipient]; if (applyFees) { if (isPancakeswapPair(recipient)) { return _sellProfile._totalFee; }else{ if(isPenaltyActive()){ return 75; }else{ return _buyProfile._totalFee; } } } return 0; } function swapTokensForBNB(uint256 tokenAmount) internal returns(uint256) { uint256 initialBalance = address(this).balance; address[] memory path = new address[](2); path[0] = address(this); path[1] = V2Router.WETH(); V2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, address(this), block.timestamp); return address(this).balance - initialBalance; } function isSwapTransfer(address sender, address recipient) private view returns(bool) { bool isContractSelling = sender == address(this) && isPancakeswapPair(recipient); return isContractSelling; } function isMarketTransfer(address sender, address recipient) internal virtual view returns(bool) { return !isSwapTransfer(sender, recipient); } function amountUntilSwap() external view returns (uint256) { uint256 balance = balanceOf(address(this)); if (balance > _tokenSwapThreshold) { return 0; } return _tokenSwapThreshold - balance; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { doApprove(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { doApprove(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue); return true; } function setSwapRouter(address routerAddress) public onlyOwner { require(routerAddress != address(0), "Cannot use the zero address as router address"); V2Router = IRouter02(routerAddress); V2Pair = IFactoryV2(V2Router.factory()).createPair(address(this), V2Router.WETH()); emit _setRouter(routerAddress); } function isPancakeswapPair(address addr) internal view returns(bool) { return V2Pair == addr; } function setTokenSwapThreshold(uint256 threshold) external onlyOwner { require(threshold > 0, "Threshold must be greater than 0"); _tokenSwapThreshold = threshold; emit _setThreshold(threshold); } // dust can build up by failure of adding liq function clearDust() external onlyOwner{ payable(_devWallet).transfer(address(this).balance); emit _claimDust(address(this).balance); } function totalSupply() public override pure returns (uint256) { return _totalTokens; } function allowance(address user, address spender) public view override returns (uint256) { return _allowances[user][spender]; } function pairAddress() public view returns (address) { return V2Pair; } function setSwapEnabled(bool isEnabled) public onlyOwner { _isSwapEnabled = isEnabled; } function setFeeEnabled(bool isEnabled) public onlyOwner { _isFeeEnabled = isEnabled; } function setExcludedFromFees(address addr, bool value) public onlyOwner { _addressesExcludedFromFees[addr] = value; } function isPenaltyActive() public view returns (bool) { return tradingActiveBlock >= block.number - blockPenalty; } function decimals() external pure override returns (uint8) { if (totalSupply() == 0) { revert(); } 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(); } receive() external payable {} }
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_liq","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_marketing","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_dev","type":"uint256"},{"indexed":false,"internalType":"bool","name":"_isBuy","type":"bool"}],"name":"_changeFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"_claimDust","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tokenAmount","type":"uint256"}],"name":"_clear","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_start","type":"uint256"}],"name":"_launch","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_routerAddress","type":"address"}],"name":"_setRouter","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"_setThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"_swapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_marketing","type":"address"},{"indexed":false,"internalType":"address","name":"_dev","type":"address"}],"name":"_updateWallets","type":"event"},{"inputs":[{"internalType":"uint256","name":"_blockPenalty","type":"uint256"}],"name":"Launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_addressesExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyProfile","outputs":[{"internalType":"uint8","name":"_liquidity","type":"uint8"},{"internalType":"uint8","name":"_marketing","type":"uint8"},{"internalType":"uint8","name":"_dev","type":"uint8"},{"internalType":"uint8","name":"_totalFee","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_isBuyingAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_isFeeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_isSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellProfile","outputs":[{"internalType":"uint8","name":"_liquidity","type":"uint8"},{"internalType":"uint8","name":"_marketing","type":"uint8"},{"internalType":"uint8","name":"_dev","type":"uint8"},{"internalType":"uint8","name":"_totalFee","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tokenSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"amountUntilSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearDust","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenAmount","type":"uint256"}],"name":"clearSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isPenaltyActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setExcludedFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}],"name":"setFeeEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"_liquidity","type":"uint8"},{"internalType":"uint8","name":"_marketing","type":"uint8"},{"internalType":"uint8","name":"_dev","type":"uint8"},{"internalType":"bool","name":"_updateBuy","type":"bool"}],"name":"setFeeProfile","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"isEnabled","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"routerAddress","type":"address"}],"name":"setSwapRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"setTokenSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketing","type":"address"},{"internalType":"address","name":"_dev","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingActiveBlock","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"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526103e8620000156012600a62000796565b6200002590633b9aca00620007ae565b620000319190620007c8565b6200003e906001620007ae565b6009556000600f553480156200005357600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506200009f620001c6565b33600090815260066020526040902055600c80546001600160a01b031990811673a51e4ca53f6e7722922b6b18ce1f5e058c15198c17909155600d805490911673b7e041809b7b026b97f03bd6dbc28e74cceca08e1790556200011673863e9610e9e0c3986dcc6fb2cd335e11d88f7d5f620001eb565b6200012330600162000479565b6200013033600162000479565b600c5462000149906001600160a01b0316600162000479565b600d5462000162906001600160a01b0316600162000479565b620001716001808080620004ef565b62000181600180806000620004ef565b3360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001af620001c6565b60405190815260200160405180910390a362000832565b6000620001d66012600a62000796565b620001e690633b9aca00620007ae565b905090565b6000546001600160a01b031633146200023a5760405162461bcd60e51b815260206004820181905260248201526000805160206200269083398151915260448201526064015b60405180910390fd5b6001600160a01b038116620002a85760405162461bcd60e51b815260206004820152602d60248201527f43616e6e6f742075736520746865207a65726f2061646472657373206173207260448201526c6f75746572206164647265737360981b606482015260840162000231565b600a80546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000302573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003289190620007eb565b6001600160a01b031663c9c6539630600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200038b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003b19190620007eb565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620003ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004259190620007eb565b600b80546001600160a01b0319166001600160a01b0392831617905560405190821681527fd1431ffd6b1c0a705bfdf15dbd9a5954739e5f4f093dd08fef588fd4151642619060200160405180910390a150565b6000546001600160a01b03163314620004c45760405162461bcd60e51b8152602060048201819052602482015260008051602062002690833981519152604482015260640162000231565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146200053a5760405162461bcd60e51b8152602060048201819052602482015260008051602062002690833981519152604482015260640162000231565b60008262000549858762000816565b62000555919062000816565b905060148160ff1611156200059b5760405162461bcd60e51b815260206004820152600b60248201526a0e8c2f040e8de40d0d2ced60ab1b604482015260640162000231565b8115620005ea576003805460ff87811661ffff1990921691909117610100878316021763ffff00001916620100008683160263ff0000001916176301000000918416919091021790556200062d565b6004805460ff87811661ffff1990921691909117610100878316021763ffff00001916620100008683160263ff0000001916176301000000918416919091021790555b6040805160ff87811682528681166020830152851681830152831515606082015290517f44bc7ab7a81ee033147d69565c5c1c74915cd840ece00a5eb172ce9c7b7814c09181900360800190a15050505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006d8578160001904821115620006bc57620006bc62000681565b80851615620006ca57918102915b93841c93908002906200069c565b509250929050565b600082620006f15750600162000790565b81620007005750600062000790565b8160018114620007195760028114620007245762000744565b600191505062000790565b60ff84111562000738576200073862000681565b50506001821b62000790565b5060208310610133831016604e8410600b841016171562000769575081810a62000790565b62000775838362000697565b80600019048211156200078c576200078c62000681565b0290505b92915050565b6000620007a760ff841683620006e0565b9392505050565b808202811582820484141762000790576200079062000681565b600082620007e657634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620007fe57600080fd5b81516001600160a01b0381168114620007a757600080fd5b60ff818116838216019081111562000790576200079062000681565b611e4e80620008426000396000f3fe6080604052600436106102135760003560e01c8063893d20e811610118578063d3f6a157116100a0578063e6f2306b1161006f578063e6f2306b14610695578063ee40166e146106cb578063f0977357146106e1578063f16f07ae14610701578063fb96a95f1461071757600080fd5b8063d3f6a157146105f0578063d3ff209d14610610578063dd62ed3e1461062f578063e01af92c1461067557600080fd5b8063962dfc75116100e7578063962dfc7514610552578063a457c2d714610572578063a72e5e1514610592578063a8b08982146105b2578063a9059cbb146105d057600080fd5b8063893d20e8146104e75780638da5cb5b146104e757806391f24c091461050557806395d89b411461052557600080fd5b80633e0bf7161161019b57806359ecf39e1161016a57806359ecf39e146104425780635a264ca71461046257806370a08231146104825780637d584aa1146104b85780637f7fcecc146104cd57600080fd5b80633e0bf7161461038a57806341273657146103ed57806358b69bc31461040d578063590ffdce1461042257600080fd5b806318160ddd116101e257806318160ddd146102eb57806323b872dd1461030e5780633094375d1461032e578063313ce56714610343578063395093511461036a57600080fd5b806306fdde031461021f578063095ea7b3146102615780630db474fa1461029157806311a63e17146102b357600080fd5b3661021a57005b600080fd5b34801561022b57600080fd5b506040805180820190915260078152662837b9372630b160c91b60208201525b6040516102589190611939565b60405180910390f35b34801561026d57600080fd5b5061028161027c36600461199f565b610747565b6040519015158152602001610258565b34801561029d57600080fd5b506102b16102ac3660046119e0565b61075e565b005b3480156102bf57600080fd5b50600d546102d3906001600160a01b031681565b6040516001600160a01b039091168152602001610258565b3480156102f757600080fd5b506103006107ab565b604051908152602001610258565b34801561031a57600080fd5b50610281610329366004611a02565b6107cc565b34801561033a57600080fd5b5061030061081e565b34801561034f57600080fd5b50610358610854565b60405160ff9091168152602001610258565b34801561037657600080fd5b5061028161038536600461199f565b610870565b34801561039657600080fd5b506003546103c09060ff808216916101008104821691620100008204811691630100000090041684565b6040805160ff95861681529385166020850152918416918301919091529091166060820152608001610258565b3480156103f957600080fd5b506102b1610408366004611a43565b6108a7565b34801561041957600080fd5b50610281610b06565b34801561042e57600080fd5b506102b161043d366004611a60565b610b20565b34801561044e57600080fd5b506102b161045d366004611a95565b610b75565b34801561046e57600080fd5b506008546102819062010000900460ff1681565b34801561048e57600080fd5b5061030061049d366004611a43565b6001600160a01b031660009081526006602052604090205490565b3480156104c457600080fd5b506102b1610c24565b3480156104d957600080fd5b506008546102819060ff1681565b3480156104f357600080fd5b506000546001600160a01b03166102d3565b34801561051157600080fd5b506102b1610520366004611abf565b610cbd565b34801561053157600080fd5b50604080518082019091526004815263282620a160e11b602082015261024b565b34801561055e57600080fd5b50600c546102d3906001600160a01b031681565b34801561057e57600080fd5b5061028161058d36600461199f565b610e26565b34801561059e57600080fd5b506102b16105ad366004611a95565b610e5d565b3480156105be57600080fd5b50600b546001600160a01b03166102d3565b3480156105dc57600080fd5b506102816105eb36600461199f565b610f42565b3480156105fc57600080fd5b506102b161060b366004611b13565b610f4f565b34801561061c57600080fd5b5060085461028190610100900460ff1681565b34801561063b57600080fd5b5061030061064a366004611b13565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561068157600080fd5b506102b16106903660046119e0565b610fe7565b3480156106a157600080fd5b506004546103c09060ff808216916101008104821691620100008204811691630100000090041684565b3480156106d757600080fd5b50610300600f5481565b3480156106ed57600080fd5b506102b16106fc366004611a95565b611024565b34801561070d57600080fd5b5061030060095481565b34801561072357600080fd5b50610281610732366004611a43565b60076020526000908152604090205460ff1681565b6000610754338484611087565b5060015b92915050565b6000546001600160a01b031633146107915760405162461bcd60e51b815260040161078890611b4c565b60405180910390fd5b600880549115156101000261ff0019909216919091179055565b60006107b96012600a611c7b565b6107c790633b9aca00611c8a565b905090565b60006107d98484846111ab565b6001600160a01b03841660009081526005602090815260408083203380855292529091205461081491869161080f908690611ca1565b611087565b5060019392505050565b3060009081526006602052604081205460095481111561084057600091505090565b8060095461084e9190611ca1565b91505090565b600061085e6107ab565b60000361086a57600080fd5b50601290565b3360008181526005602090815260408083206001600160a01b0387168452909152812054909161075491859061080f908690611cb4565b6000546001600160a01b031633146108d15760405162461bcd60e51b815260040161078890611b4c565b6001600160a01b03811661093d5760405162461bcd60e51b815260206004820152602d60248201527f43616e6e6f742075736520746865207a65726f2061646472657373206173207260448201526c6f75746572206164647265737360981b6064820152608401610788565b600a80546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba9190611cc7565b6001600160a01b031663c9c6539630600a60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a409190611cc7565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab19190611cc7565b600b80546001600160a01b0319166001600160a01b0392831617905560405190821681527fd1431ffd6b1c0a705bfdf15dbd9a5954739e5f4f093dd08fef588fd415164261906020015b60405180910390a150565b6000600e5443610b169190611ca1565b600f541015905090565b6000546001600160a01b03163314610b4a5760405162461bcd60e51b815260040161078890611b4c565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b9f5760405162461bcd60e51b815260040161078890611b4c565b60008111610bef5760405162461bcd60e51b815260206004820181905260248201527f5468726573686f6c64206d7573742062652067726561746572207468616e20306044820152606401610788565b60098190556040518181527f3d5472e45a39af360c106b99aa48f7356cd3b609ea581b5deb38a4b1270e898590602001610afb565b6000546001600160a01b03163314610c4e5760405162461bcd60e51b815260040161078890611b4c565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610c87573d6000803e3d6000fd5b506040514781527fd1c23667321cc2db9d1de3db7f4dcf0eb5ade4f87e163713d3667eec1e92facb9060200160405180910390a1565b6000546001600160a01b03163314610ce75760405162461bcd60e51b815260040161078890611b4c565b600082610cf48587611ce4565b610cfe9190611ce4565b905060148160ff161115610d425760405162461bcd60e51b815260206004820152600b60248201526a0e8c2f040e8de40d0d2ced60ab1b6044820152606401610788565b8115610d8f576003805460ff87811661ffff1990921691909117610100878316021763ffff00001916620100008683160263ff000000191617630100000091841691909102179055610dd2565b6004805460ff87811661ffff1990921691909117610100878316021763ffff00001916620100008683160263ff0000001916176301000000918416919091021790555b6040805160ff87811682528681166020830152851681830152831515606082015290517f44bc7ab7a81ee033147d69565c5c1c74915cd840ece00a5eb172ce9c7b7814c09181900360800190a15050505050565b3360008181526005602090815260408083206001600160a01b0387168452909152812054909161075491859061080f908690611ca1565b6000546001600160a01b03163314610e875760405162461bcd60e51b815260040161078890611b4c565b60085462010000900460ff1615610ee05760405162461bcd60e51b815260206004820152601960248201527f74726164696e6720697320616c726561647920616374697665000000000000006044820152606401610788565b610eea6001610fe7565b610ef4600161075e565b6008805462ff000019166201000017905543600f819055600e8290556040517f6600f6005863f92891b8c04d901a1f5d14860257428eba2058e9f3f9175b563391610afb9190815260200190565b60006107543384846111ab565b6000546001600160a01b03163314610f795760405162461bcd60e51b815260040161078890611b4c565b600c80546001600160a01b038481166001600160a01b03199283168117909355600d80549185169190921681179091556040805192835260208301919091527fe67d5d4d7e74d0ccbdf30dbd83729da0b6a8405bfb83b5f35038638e19a4ea13910160405180910390a15050565b6000546001600160a01b031633146110115760405162461bcd60e51b815260040161078890611b4c565b6008805460ff1916911515919091179055565b6000546001600160a01b0316331461104e5760405162461bcd60e51b815260040161078890611b4c565b6110578161135b565b6040518181527f8d9f39d10957a4e556f944f249fcdc7cc1263cc4e31368fe3056895f85d4599d90602001610afb565b6001600160a01b0383166110e95760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610788565b6001600160a01b03821661114a5760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610788565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166111d15760405162461bcd60e51b815260040161078890611cfd565b6001600160a01b0382166111f75760405162461bcd60e51b815260040161078890611cfd565b600081116112475760405162461bcd60e51b815260206004820181905260248201527f616d6f756e74206d7573742062652067726561746572207468616e207a65726f6044820152606401610788565b60085462010000900460ff166112af576001600160a01b03831660009081526007602052604090205460ff166112af5760405162461bcd60e51b815260206004820152600d60248201526c31b0b73a103a3930b739b332b960991b6044820152606401610788565b60085460ff16156112c4576112c483836115ac565b60006112d08484611602565b9050600060646112e08385611c8a565b6112ea9190611d41565b905060006112f88285611ca1565b9050611306868686856116c2565b846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161134b91815260200190565b60405180910390a3505050505050565b600a546113739030906001600160a01b031683611087565b60045460ff630100000082048116916000918391611392911685611c8a565b61139c9190611d41565b60045490915060009083906113ba9062010000900460ff1686611c8a565b6113c49190611d41565b90506000816113d38487611ca1565b6113dd9190611ca1565b905060006113ec600285611d41565b9050806000846113fc8584611cb4565b6114069190611cb4565b905060006114138261179f565b90506000826114228684611c8a565b61142c9190611d41565b905060008361143b8985611c8a565b6114459190611d41565b90506000816114548486611ca1565b61145e9190611ca1565b600c546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015611499573d6000803e3d6000fd5b50600d546040516001600160a01b039091169083156108fc029084906000818181858888f193505050501580156114d4573d6000803e3d6000fd5b50600a54600d5460405163f305d71960e01b81523060048201526024810189905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af193505050508015611562575060408051601f3d908101601f1916820190925261155f91810190611d63565b60015b1561156b575050505b6040518481527f7bf54cb9a865e8dabf744f65dfac5fe865060b1d1b8172c512d88fe90815cf2a9060200160405180910390a1505050505050505050505050565b6115b682826118f6565b6115be575050565b3060009081526006602052604090205460095481106115fd5750600954600b546001600160a01b0383811691161480156115fb576115fb8261135b565b505b505050565b6008546000908190610100900460ff16801561163757506001600160a01b03841660009081526007602052604090205460ff16155b801561165c57506001600160a01b03831660009081526007602052604090205460ff16155b905080156116b857600b546001600160a01b0380851691160361168d5750506004546301000000900460ff16610758565b611695610b06565b156116a457604b915050610758565b50506003546301000000900460ff16610758565b5060009392505050565b60006116ce8284611ca1565b6001600160a01b0386166000908152600660205260408120805492935085929091906116fb908490611ca1565b90915550506001600160a01b03841660009081526006602052604081208054839290611728908490611cb4565b9091555050306000908152600660205260408120805484929061174c908490611cb4565b909155505081156117985760405182815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b5050505050565b60408051600280825260608201835260009247928492909160208301908036833701905050905030816000815181106117da576117da611d91565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611833573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118579190611cc7565b8160018151811061186a5761186a611d91565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b815291169063791ac947906118b0908790600090869030904290600401611da7565b600060405180830381600087803b1580156118ca57600080fd5b505af11580156118de573d6000803e3d6000fd5b5050505081476118ee9190611ca1565b949350505050565b6000611902838361190a565b159392505050565b6000806001600160a01b038416301480156118ee5750600b546001600160a01b03808516911614949350505050565b600060208083528351808285015260005b818110156119665785810183015185820160400152820161194a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461199c57600080fd5b50565b600080604083850312156119b257600080fd5b82356119bd81611987565b946020939093013593505050565b803580151581146119db57600080fd5b919050565b6000602082840312156119f257600080fd5b6119fb826119cb565b9392505050565b600080600060608486031215611a1757600080fd5b8335611a2281611987565b92506020840135611a3281611987565b929592945050506040919091013590565b600060208284031215611a5557600080fd5b81356119fb81611987565b60008060408385031215611a7357600080fd5b8235611a7e81611987565b9150611a8c602084016119cb565b90509250929050565b600060208284031215611aa757600080fd5b5035919050565b803560ff811681146119db57600080fd5b60008060008060808587031215611ad557600080fd5b611ade85611aae565b9350611aec60208601611aae565b9250611afa60408601611aae565b9150611b08606086016119cb565b905092959194509250565b60008060408385031215611b2657600080fd5b8235611b3181611987565b91506020830135611b4181611987565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611bd2578160001904821115611bb857611bb8611b81565b80851615611bc557918102915b93841c9390800290611b9c565b509250929050565b600082611be957506001610758565b81611bf657506000610758565b8160018114611c0c5760028114611c1657611c32565b6001915050610758565b60ff841115611c2757611c27611b81565b50506001821b610758565b5060208310610133831016604e8410600b8410161715611c55575081810a610758565b611c5f8383611b97565b8060001904821115611c7357611c73611b81565b029392505050565b60006119fb60ff841683611bda565b808202811582820484141761075857610758611b81565b8181038181111561075857610758611b81565b8082018082111561075857610758611b81565b600060208284031215611cd957600080fd5b81516119fb81611987565b60ff818116838216019081111561075857610758611b81565b60208082526024908201527f7a65726f2061646472657373207472616e73666572206973206e6f7420616c6c6040820152631bddd95960e21b606082015260800190565b600082611d5e57634e487b7160e01b600052601260045260246000fd5b500490565b600080600060608486031215611d7857600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611df75784516001600160a01b031683529383019391830191600101611dd2565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212208d6a8638a76bbd781beaa0ba68f009b3312deaa25ba0608c5db808e931f9e23764736f6c634300081300334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
Deployed ByteCode Sourcemap
4556:11876:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16229:79;;;;;;;;;;-1:-1:-1;16301:4:0;;;;;;;;;;;;-1:-1:-1;;;16301:4:0;;;;16229:79;;;;;;;:::i;:::-;;;;;;;;8578:152;;;;;;;;;;-1:-1:-1;8578:152:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;8578:152:0;1023:187:1;15680:86:0;;;;;;;;;;-1:-1:-1;15680:86:0;;;;;:::i;:::-;;:::i;:::-;;5532:25;;;;;;;;;;-1:-1:-1;5532:25:0;;;;-1:-1:-1;;;;;5532:25:0;;;;;;-1:-1:-1;;;;;1729:32:1;;;1711:51;;1699:2;1684:18;5532:25:0;1565:203:1;15284:86:0;;;;;;;;;;;;;:::i;:::-;;;1919:25:1;;;1907:2;1892:18;15284:86:0;1773:177:1;8149:302:0;;;;;;;;;;-1:-1:-1;8149:302:0;;;;;:::i;:::-;;:::i;13744:224::-;;;;;;;;;;;;;:::i;16017:117::-;;;;;;;;;;;;;:::i;:::-;;;2588:4:1;2576:17;;;2558:36;;2546:2;2531:18;16017:117:0;2416:184:1;13974:206:0;;;;;;;;;;-1:-1:-1;13974:206:0;;;;;:::i;:::-;;:::i;4896:29::-;;;;;;;;;;-1:-1:-1;4896:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2850:4:1;2838:17;;;2820:36;;2892:17;;;2887:2;2872:18;;2865:45;2946:17;;;2926:18;;;2919:45;;;;3000:17;;;2995:2;2980:18;;2973:45;2807:3;2792:19;4896:29:0;2605:419:1;14408:329:0;;;;;;;;;;-1:-1:-1;14408:329:0;;;;;:::i;:::-;;:::i;15895:115::-;;;;;;;;;;;;;:::i;15772:117::-;;;;;;;;;;-1:-1:-1;15772:117:0;;;;;:::i;:::-;;:::i;14852:215::-;;;;;;;;;;-1:-1:-1;14852:215:0;;;;;:::i;:::-;;:::i;5231:28::-;;;;;;;;;;-1:-1:-1;5231:28:0;;;;;;;;;;;8459:113;;;;;;;;;;-1:-1:-1;8459:113:0;;;;;:::i;:::-;-1:-1:-1;;;;;8548:18:0;8525:7;8548:18;;;:9;:18;;;;;;;8459:113;15123:153;;;;;;;;;;;;;:::i;5168:26::-;;;;;;;;;;-1:-1:-1;5168:26:0;;;;;;;;16314:80;;;;;;;;;;-1:-1:-1;16366:7:0;936:6;-1:-1:-1;;;;;936:6:0;16314:80;15284:86;7375:600;;;;;;;;;;-1:-1:-1;7375:600:0;;;;;:::i;:::-;;:::i;16140:83::-;;;;;;;;;;-1:-1:-1;16214:6:0;;;;;;;;;;;;-1:-1:-1;;;16214:6:0;;;;16140:83;;5496:31;;;;;;;;;;-1:-1:-1;5496:31:0;;;;-1:-1:-1;;;;;5496:31:0;;;14186:216;;;;;;;;;;-1:-1:-1;14186:216:0;;;;;:::i;:::-;;:::i;6833:331::-;;;;;;;;;;-1:-1:-1;6833:331:0;;;;;:::i;:::-;;:::i;15509:71::-;;;;;;;;;;-1:-1:-1;15571:6:0;;-1:-1:-1;;;;;15571:6:0;15509:71;;7985:158;;;;;;;;;;-1:-1:-1;7985:158:0;;;;;:::i;:::-;;:::i;7170:199::-;;;;;;;;;;-1:-1:-1;7170:199:0;;;;;:::i;:::-;;:::i;5200:25::-;;;;;;;;;;-1:-1:-1;5200:25:0;;;;;;;;;;;15376:127;;;;;;;;;;-1:-1:-1;15376:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;15474:17:0;;;15456:7;15474:17;;;:11;:17;;;;;;;;:26;;;;;;;;;;;;;15376:127;15586:88;;;;;;;;;;-1:-1:-1;15586:88:0;;;;;:::i;:::-;;:::i;4930:30::-;;;;;;;;;;-1:-1:-1;4930:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5597:37;;;;;;;;;;;;;;;;10014:131;;;;;;;;;;-1:-1:-1;10014:131:0;;;;;:::i;:::-;;:::i;5324:60::-;;;;;;;;;;;;;;;;5101:59;;;;;;;;;;-1:-1:-1;5101:59:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8578:152;8653:4;8666:40;193:10;8690:7;8699:6;8666:9;:40::i;:::-;-1:-1:-1;8720:4:0;8578:152;;;;;:::o;15680:86::-;998:6;;-1:-1:-1;;;;;998:6:0;193:10;998:22;990:67;;;;-1:-1:-1;;;990:67:0;;;;;;;:::i;:::-;;;;;;;;;15738:13:::1;:25:::0;;;::::1;;;;-1:-1:-1::0;;15738:25:0;;::::1;::::0;;;::::1;::::0;;15680:86::o;15284:::-;15337:7;4655:12;4796:2;4655;:12;:::i;:::-;4639:28;;:13;:28;:::i;:::-;15348:19;;15284:86;:::o;8149:302::-;8247:4;8260:37;8271:6;8279:9;8290:6;8260:10;:37::i;:::-;-1:-1:-1;;;;;8336:19:0;;;;;;:11;:19;;;;;;;;193:10;8336:33;;;;;;;;;8304:75;;8314:6;;8336:42;;8372:6;;8336:42;:::i;:::-;8304:9;:75::i;:::-;-1:-1:-1;8441:4:0;8149:302;;;;;:::o;13744:224::-;13847:4;13795:7;8548:18;;;:9;:18;;;;;;13874:19;;13864:7;:29;13860:60;;;13911:1;13904:8;;;13744:224;:::o;13860:60::-;13955:7;13933:19;;:29;;;;:::i;:::-;13926:36;;;13744:224;:::o;16017:117::-;16069:5;16082:13;:11;:13::i;:::-;16099:1;16082:18;16078:37;;16104:8;;;16078:37;-1:-1:-1;4796:2:0;;16017:117::o;13974:206::-;193:10;14062:4;14108:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;14108:34:0;;;;;;;;;;14062:4;;14075:81;;14099:7;;14108:47;;14145:10;;14108:47;:::i;14408:329::-;998:6;;-1:-1:-1;;;;;998:6:0;193:10;998:22;990:67;;;;-1:-1:-1;;;990:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14486:27:0;::::1;14478:85;;;::::0;-1:-1:-1;;;14478:85:0;;7250:2:1;14478:85:0::1;::::0;::::1;7232:21:1::0;7289:2;7269:18;;;7262:30;7328:34;7308:18;;;7301:62;-1:-1:-1;;;7379:18:1;;;7372:43;7432:19;;14478:85:0::1;7048:409:1::0;14478:85:0::1;14570:8;:35:::0;;-1:-1:-1;;;;;;14570:35:0::1;-1:-1:-1::0;;;;;14570:35:0;::::1;::::0;;::::1;::::0;;;14632:18:::1;::::0;;-1:-1:-1;;;14632:18:0;;;;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;14570:35;14632:18:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14621:41:0::1;;14671:4;14678:8;;;;;;;;;-1:-1:-1::0;;;;;14678:8:0::1;-1:-1:-1::0;;;;;14678:13:0::1;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14621:73;::::0;-1:-1:-1;;;;;;14621:73:0::1;::::0;;;;;;-1:-1:-1;;;;;7948:15:1;;;14621:73:0::1;::::0;::::1;7930:34:1::0;8000:15;;7980:18;;;7973:43;7865:18;;14621:73:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14612:6;:82:::0;;-1:-1:-1;;;;;;14612:82:0::1;-1:-1:-1::0;;;;;14612:82:0;;::::1;;::::0;;14706:25:::1;::::0;1729:32:1;;;1711:51;;14706:25:0::1;::::0;1699:2:1;1684:18;14706:25:0::1;;;;;;;;14408:329:::0;:::o;15895:115::-;15943:4;15995:12;;15980;:27;;;;:::i;:::-;15958:18;;:49;;15951:56;;15895:115;:::o;15772:117::-;998:6;;-1:-1:-1;;;;;998:6:0;193:10;998:22;990:67;;;;-1:-1:-1;;;990:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;15846:32:0;;;::::1;;::::0;;;:26:::1;:32;::::0;;;;:40;;-1:-1:-1;;15846:40:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15772:117::o;14852:215::-;998:6;;-1:-1:-1;;;;;998:6:0;193:10;998:22;990:67;;;;-1:-1:-1;;;990:67:0;;;;;;;:::i;:::-;14949:1:::1;14937:9;:13;14929:58;;;::::0;-1:-1:-1;;;14929:58:0;;8229:2:1;14929:58:0::1;::::0;::::1;8211:21:1::0;;;8248:18;;;8241:30;8307:34;8287:18;;;8280:62;8359:18;;14929:58:0::1;8027:356:1::0;14929:58:0::1;14994:19;:31:::0;;;15037:24:::1;::::0;1919:25:1;;;15037:24:0::1;::::0;1907:2:1;1892:18;15037:24:0::1;1773:177:1::0;15123:153:0;998:6;;-1:-1:-1;;;;;998:6:0;193:10;998:22;990:67;;;;-1:-1:-1;;;990:67:0;;;;;;;:::i;:::-;15180:10:::1;::::0;15172:51:::1;::::0;-1:-1:-1;;;;;15180:10:0;;::::1;::::0;15201:21:::1;15172:51:::0;::::1;;;::::0;15180:10:::1;15172:51:::0;15180:10;15172:51;15201:21;15180:10;15172:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;15237:33:0::1;::::0;15248:21:::1;1919:25:1::0;;15237:33:0::1;::::0;1907:2:1;1892:18;15237:33:0::1;;;;;;;15123:153::o:0;7375:600::-;998:6;;-1:-1:-1;;;;;998:6:0;193:10;998:22;990:67;;;;-1:-1:-1;;;990:67:0;;;;;;;:::i;:::-;7489:15:::1;7533:4:::0;7507:23:::1;7520:10:::0;7507;:23:::1;:::i;:::-;:30;;;;:::i;:::-;7489:48;;7565:2;7552:9;:15;;;;7544:39;;;::::0;-1:-1:-1;;;7544:39:0;;8743:2:1;7544:39:0::1;::::0;::::1;8725:21:1::0;8782:2;8762:18;;;8755:30;-1:-1:-1;;;8801:18:1;;;8794:41;8852:18;;7544:39:0::1;8541:335:1::0;7544:39:0::1;7597:10;7594:308;;;7611:11;:35:::0;;::::1;::::0;;::::1;-1:-1:-1::0;;7649:35:0;;;;;;;7611::::1;7649::::0;;::::1;;;-1:-1:-1::0;;7712:33:0;7687:23;;;::::1;;-1:-1:-1::0;;7712:33:0;;;;;::::1;::::0;;;::::1;;::::0;;7594:308:::1;;;7764:12;:36:::0;;::::1;::::0;;::::1;-1:-1:-1::0;;7802:36:0;;;;;;;7764::::1;7802::::0;;::::1;;;-1:-1:-1::0;;7866:34:0;7840:24;;;::::1;;-1:-1:-1::0;;7866:34:0;;;;;::::1;::::0;;;::::1;;::::0;;7594:308:::1;7917:50;::::0;;9130:4:1;9118:17;;;9100:36;;9172:17;;;9167:2;9152:18;;9145:45;9226:17;;9206:18;;;9199:45;9287:14;;9280:22;9275:2;9260:18;;9253:50;7917::0;;::::1;::::0;;;;9087:3:1;7917:50:0;;::::1;7482:493;7375:600:::0;;;;:::o;14186:216::-;193:10;14279:4;14325:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;14325:34:0;;;;;;;;;;14279:4;;14292:86;;14316:7;;14325:52;;14362:15;;14325:52;:::i;6833:331::-;998:6;;-1:-1:-1;;;;;998:6:0;193:10;998:22;990:67;;;;-1:-1:-1;;;990:67:0;;;;;;;:::i;:::-;6907:16:::1;::::0;;;::::1;;;6906:17;6898:55;;;::::0;-1:-1:-1;;;6898:55:0;;9516:2:1;6898:55:0::1;::::0;::::1;9498:21:1::0;9555:2;9535:18;;;9528:30;9594:27;9574:18;;;9567:55;9639:18;;6898:55:0::1;9314:349:1::0;6898:55:0::1;6964:20;6979:4;6964:14;:20::i;:::-;6991:19;7005:4;6991:13;:19::i;:::-;7019:16;:23:::0;;-1:-1:-1;;7019:23:0::1;::::0;::::1;::::0;;7070:12:::1;7049:18;:33:::0;;;7089:12:::1;:28:::0;;;7131:27:::1;::::0;::::1;::::0;::::1;::::0;1919:25:1;;;1907:2;1892:18;;1773:177;7985:158:0;8063:4;8076:43;193:10;8101:9;8112:6;8076:10;:43::i;7170:199::-;998:6;;-1:-1:-1;;;;;998:6:0;193:10;998:22;990:67;;;;-1:-1:-1;;;990:67:0;;;;;;;:::i;:::-;7256:16:::1;:29:::0;;-1:-1:-1;;;;;7256:29:0;;::::1;-1:-1:-1::0;;;;;;7256:29:0;;::::1;::::0;::::1;::::0;;;7296:10:::1;:17:::0;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;7329:32:::1;::::0;;7930:34:1;;;7995:2;7980:18;;7973:43;;;;7329:32:0::1;::::0;7865:18:1;7329:32:0::1;;;;;;;7170:199:::0;;:::o;15586:88::-;998:6;;-1:-1:-1;;;;;998:6:0;193:10;998:22;990:67;;;;-1:-1:-1;;;990:67:0;;;;;;;:::i;:::-;15645:14:::1;:26:::0;;-1:-1:-1;;15645:26:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15586:88::o;10014:131::-;998:6;;-1:-1:-1;;;;;998:6:0;193:10;998:22;990:67;;;;-1:-1:-1;;;990:67:0;;;;;;;:::i;:::-;10082:25:::1;10094:12;10082:11;:25::i;:::-;10119:20;::::0;1919:25:1;;;10119:20:0::1;::::0;1907:2:1;1892:18;10119:20:0::1;1773:177:1::0;12090:320:0;-1:-1:-1;;;;;12180:19:0;;12172:68;;;;-1:-1:-1;;;12172:68:0;;9870:2:1;12172:68:0;;;9852:21:1;9909:2;9889:18;;;9882:30;9948:34;9928:18;;;9921:62;-1:-1:-1;;;9999:18:1;;;9992:34;10043:19;;12172:68:0;9668:400:1;12172:68:0;-1:-1:-1;;;;;12255:21:0;;12247:68;;;;-1:-1:-1;;;12247:68:0;;10275:2:1;12247:68:0;;;10257:21:1;10314:2;10294:18;;;10287:30;10353:34;10333:18;;;10326:62;-1:-1:-1;;;10404:18:1;;;10397:32;10446:19;;12247:68:0;10073:398:1;12247:68:0;-1:-1:-1;;;;;12324:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12372:32;;1919:25:1;;;12372:32:0;;1892:18:1;12372:32:0;;;;;;;12090:320;;;:::o;8738:751::-;-1:-1:-1;;;;;8841:20:0;;8833:69;;;;-1:-1:-1;;;8833:69:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8917:23:0;;8909:72;;;;-1:-1:-1;;;8909:72:0;;;;;;;:::i;:::-;9005:1;8996:6;:10;8988:55;;;;-1:-1:-1;;;8988:55:0;;11083:2:1;8988:55:0;;;11065:21:1;;;11102:18;;;11095:30;11161:34;11141:18;;;11134:62;11213:18;;8988:55:0;10881:356:1;8988:55:0;9056:16;;;;;;;9052:88;;-1:-1:-1;;;;;9085:34:0;;;;;;:26;:34;;;;;;;;9077:60;;;;-1:-1:-1;;;9077:60:0;;11444:2:1;9077:60:0;;;11426:21:1;11483:2;11463:18;;;11456:30;-1:-1:-1;;;11502:18:1;;;11495:43;11555:18;;9077:60:0;11242:337:1;9077:60:0;9149:14;;;;9146:58;;;9166:35;9183:6;9191:9;9166:16;:35::i;:::-;9212:15;9230:35;9247:6;9255:9;9230:16;:35::i;:::-;9212:53;-1:-1:-1;9272:17:0;9311:3;9292:16;9212:53;9292:6;:16;:::i;:::-;:22;;;;:::i;:::-;9272:42;-1:-1:-1;9321:22:0;9346:18;9272:42;9346:6;:18;:::i;:::-;9321:43;;9373:52;9388:6;9396:9;9407:6;9415:9;9373:14;:52::i;:::-;9456:9;-1:-1:-1;;;;;9439:43:0;9448:6;-1:-1:-1;;;;;9439:43:0;;9467:14;9439:43;;;;1919:25:1;;1907:2;1892:18;;1773:177;9439:43:0;;;;;;;;8826:663;;;8738:751;;;:::o;10153:1397::-;10299:8;;10266:51;;10284:4;;-1:-1:-1;;;;;10299:8:0;10310:6;10266:9;:51::i;:::-;10340:12;:22;;;;;;;;10324:13;;10340:22;;10408:32;;10417:23;10408:6;:32;:::i;:::-;:40;;;;:::i;:::-;10495:12;:17;10371:77;;-1:-1:-1;10455:28:0;;10515:5;;10486:26;;10495:17;;;;;10486:6;:26;:::i;:::-;:34;;;;:::i;:::-;10455:65;-1:-1:-1;10528:34:0;10455:65;10565:35;10574:26;10565:6;:35;:::i;:::-;:58;;;;:::i;:::-;10528:95;-1:-1:-1;10632:32:0;10667:30;10696:1;10667:26;:30;:::i;:::-;10632:65;-1:-1:-1;10632:65:0;10704:30;10849:20;10793:53;10820:26;10632:65;10793:53;:::i;:::-;:76;;;;:::i;:::-;10770:99;;10876:18;10897:30;10914:12;10897:16;:30::i;:::-;10876:51;-1:-1:-1;10940:31:0;11014:12;10974:37;10987:24;10876:51;10974:37;:::i;:::-;:52;;;;:::i;:::-;10940:86;-1:-1:-1;11033:32:0;11104:12;11068:33;11081:20;11068:10;:33;:::i;:::-;:48;;;;:::i;:::-;11033:83;-1:-1:-1;11123:30:0;11033:83;11156:36;11169:23;11156:10;:36;:::i;:::-;:62;;;;:::i;:::-;11235:16;;11227:58;;11123:95;;-1:-1:-1;;;;;;11235:16:0;;11227:58;;;;;11123:95;;11235:16;11227:58;11235:16;11227:58;11123:95;11235:16;11227:58;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11300:10:0;;11292:54;;-1:-1:-1;;;;;11300:10:0;;;;11292:54;;;;;11321:24;;11300:10;11292:54;11300:10;11292:54;11321:24;11300:10;11292:54;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11359:8:0;;11461:10;;11359:130;;-1:-1:-1;;;11359:130:0;;11424:4;11359:130;;;12147:34:1;12197:18;;;12190:34;;;11359:8:0;12240:18:1;;;12233:34;;;12283:18;;;12276:34;-1:-1:-1;;;;;11461:10:0;;;12326:19:1;;;12319:44;11473:15:0;12379:19:1;;;12372:35;11359:8:0;;;:24;;11391:23;;12081:19:1;;11359:130:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11359:130:0;;;;;;;;-1:-1:-1;;11359:130:0;;;;;;;;;;;;:::i;:::-;;;11355:145;;;;;;;11517:27;;1919:25:1;;;11517:27:0;;1907:2:1;1892:18;11517:27:0;;;;;;;10198:1352;;;;;;;;;;;10153:1397;:::o;9497:465::-;9578:35;9595:6;9603:9;9578:16;:35::i;:::-;9573:65;;9497:465;;:::o;9573:65::-;9697:4;9646:30;8548:18;;;:9;:18;;;;;;9740:19;;9714:45;;9710:247;;-1:-1:-1;9795:19:0;;14826:6;;-1:-1:-1;;;;;14826:14:0;;;:6;;:14;9879:71;;;;9905:35;9917:22;9905:11;:35::i;:::-;9761:196;9710:247;9566:396;9497:465;;:::o;12416:521::-;12531:13;;12498:7;;;;12531:13;;;;;:52;;;;-1:-1:-1;;;;;;12549:34:0;;;;;;:26;:34;;;;;;;;12548:35;12531:52;:94;;;;-1:-1:-1;;;;;;12588:37:0;;;;;;:26;:37;;;;;;;;12587:38;12531:94;12514:111;;12636:9;12632:285;;;14826:6;;-1:-1:-1;;;;;14826:14:0;;;:6;;:14;12656:254;;-1:-1:-1;;12708:12:0;:22;;;;;;12701:29;;12656:254;12762:17;:15;:17::i;:::-;12759:136;;;12806:2;12799:9;;;;;12759:136;-1:-1:-1;;12856:11:0;:21;;;;;;12849:28;;12759:136;-1:-1:-1;12930:1:0;;12416:521;-1:-1:-1;;;12416:521:0:o;11556:528::-;11722:22;11747;11760:9;11747:10;:22;:::i;:::-;-1:-1:-1;;;;;11802:17:0;;;;;;:9;:17;;;;;:31;;11722:47;;-1:-1:-1;11823:10:0;;11802:17;;;:31;;11823:10;;11802:31;:::i;:::-;;;;-1:-1:-1;;;;;;;11840:20:0;;;;;;:9;:20;;;;;:38;;11864:14;;11840:20;:38;;11864:14;;11840:38;:::i;:::-;;;;-1:-1:-1;;11938:4:0;11920:24;;;;:9;:24;;;;;:37;;11948:9;;11920:24;:37;;11948:9;;11920:37;:::i;:::-;;;;-1:-1:-1;;11995:13:0;;11992:83;;12024:42;;1919:25:1;;;12049:4:0;;-1:-1:-1;;;;;12024:42:0;;;;;1907:2:1;1892:18;12024:42:0;;;;;;;11992:83;11662:422;11556:528;;;;:::o;12945:420::-;13106:16;;;13120:1;13106:16;;;;;;;;13009:7;;13050:21;;13009:7;;13106:16;;;;;;;;;;;;-1:-1:-1;13106:16:0;13082:40;;13147:4;13129;13134:1;13129:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13129:23:0;;;:7;;;;;;;;;;:23;;;;13169:8;;:15;;;-1:-1:-1;;;13169:15:0;;;;:8;;;;;:13;;:15;;;;;13129:7;;13169:15;;;;;:8;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13159:4;13164:1;13159:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13159:25:0;;;:7;;;;;;;;;:25;13191:8;;:113;;-1:-1:-1;;;13191:113:0;;:8;;;:59;;:113;;13251:11;;13191:8;;13267:4;;13281;;13288:15;;13191:113;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13345:14;13321:21;:38;;;;:::i;:::-;13314:45;12945:420;-1:-1:-1;;;;12945:420:0:o;13587:151::-;13678:4;13699:33;13714:6;13722:9;13699:14;:33::i;:::-;13698:34;;13587:151;-1:-1:-1;;;13587:151:0:o;13371:210::-;13451:4;;-1:-1:-1;;;;;13489:23:0;;13507:4;13489:23;:55;;;;-1:-1:-1;14826:6:0;;-1:-1:-1;;;;;14826:14:0;;;:6;;:14;13464:80;13371:210;-1:-1:-1;;;;13371:210:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1215:160::-;1280:20;;1336:13;;1329:21;1319:32;;1309:60;;1365:1;1362;1355:12;1309:60;1215:160;;;:::o;1380:180::-;1436:6;1489:2;1477:9;1468:7;1464:23;1460:32;1457:52;;;1505:1;1502;1495:12;1457:52;1528:26;1544:9;1528:26;:::i;:::-;1518:36;1380:180;-1:-1:-1;;;1380:180:1:o;1955:456::-;2032:6;2040;2048;2101:2;2089:9;2080:7;2076:23;2072:32;2069:52;;;2117:1;2114;2107:12;2069:52;2156:9;2143:23;2175:31;2200:5;2175:31;:::i;:::-;2225:5;-1:-1:-1;2282:2:1;2267:18;;2254:32;2295:33;2254:32;2295:33;:::i;:::-;1955:456;;2347:7;;-1:-1:-1;;;2401:2:1;2386:18;;;;2373:32;;1955:456::o;3029:247::-;3088:6;3141:2;3129:9;3120:7;3116:23;3112:32;3109:52;;;3157:1;3154;3147:12;3109:52;3196:9;3183:23;3215:31;3240:5;3215:31;:::i;3281:315::-;3346:6;3354;3407:2;3395:9;3386:7;3382:23;3378:32;3375:52;;;3423:1;3420;3413:12;3375:52;3462:9;3449:23;3481:31;3506:5;3481:31;:::i;:::-;3531:5;-1:-1:-1;3555:35:1;3586:2;3571:18;;3555:35;:::i;:::-;3545:45;;3281:315;;;;;:::o;3601:180::-;3660:6;3713:2;3701:9;3692:7;3688:23;3684:32;3681:52;;;3729:1;3726;3719:12;3681:52;-1:-1:-1;3752:23:1;;3601:180;-1:-1:-1;3601:180:1:o;3786:156::-;3852:20;;3912:4;3901:16;;3891:27;;3881:55;;3932:1;3929;3922:12;3947:391;4024:6;4032;4040;4048;4101:3;4089:9;4080:7;4076:23;4072:33;4069:53;;;4118:1;4115;4108:12;4069:53;4141:27;4158:9;4141:27;:::i;:::-;4131:37;;4187:36;4219:2;4208:9;4204:18;4187:36;:::i;:::-;4177:46;;4242:36;4274:2;4263:9;4259:18;4242:36;:::i;:::-;4232:46;;4297:35;4328:2;4317:9;4313:18;4297:35;:::i;:::-;4287:45;;3947:391;;;;;;;:::o;4343:388::-;4411:6;4419;4472:2;4460:9;4451:7;4447:23;4443:32;4440:52;;;4488:1;4485;4478:12;4440:52;4527:9;4514:23;4546:31;4571:5;4546:31;:::i;:::-;4596:5;-1:-1:-1;4653:2:1;4638:18;;4625:32;4666:33;4625:32;4666:33;:::i;:::-;4718:7;4708:17;;;4343:388;;;;;:::o;4736:356::-;4938:2;4920:21;;;4957:18;;;4950:30;5016:34;5011:2;4996:18;;4989:62;5083:2;5068:18;;4736:356::o;5097:127::-;5158:10;5153:3;5149:20;5146:1;5139:31;5189:4;5186:1;5179:15;5213:4;5210:1;5203:15;5229:422;5318:1;5361:5;5318:1;5375:270;5396:7;5386:8;5383:21;5375:270;;;5455:4;5451:1;5447:6;5443:17;5437:4;5434:27;5431:53;;;5464:18;;:::i;:::-;5514:7;5504:8;5500:22;5497:55;;;5534:16;;;;5497:55;5613:22;;;;5573:15;;;;5375:270;;;5379:3;5229:422;;;;;:::o;5656:806::-;5705:5;5735:8;5725:80;;-1:-1:-1;5776:1:1;5790:5;;5725:80;5824:4;5814:76;;-1:-1:-1;5861:1:1;5875:5;;5814:76;5906:4;5924:1;5919:59;;;;5992:1;5987:130;;;;5899:218;;5919:59;5949:1;5940:10;;5963:5;;;5987:130;6024:3;6014:8;6011:17;6008:43;;;6031:18;;:::i;:::-;-1:-1:-1;;6087:1:1;6073:16;;6102:5;;5899:218;;6201:2;6191:8;6188:16;6182:3;6176:4;6173:13;6169:36;6163:2;6153:8;6150:16;6145:2;6139:4;6136:12;6132:35;6129:77;6126:159;;;-1:-1:-1;6238:19:1;;;6270:5;;6126:159;6317:34;6342:8;6336:4;6317:34;:::i;:::-;6387:6;6383:1;6379:6;6375:19;6366:7;6363:32;6360:58;;;6398:18;;:::i;:::-;6436:20;;5656:806;-1:-1:-1;;;5656:806:1:o;6467:140::-;6525:5;6554:47;6595:4;6585:8;6581:19;6575:4;6554:47;:::i;6612:168::-;6685:9;;;6716;;6733:15;;;6727:22;;6713:37;6703:71;;6754:18;;:::i;6785:128::-;6852:9;;;6873:11;;;6870:37;;;6887:18;;:::i;6918:125::-;6983:9;;;7004:10;;;7001:36;;;7017:18;;:::i;7462:251::-;7532:6;7585:2;7573:9;7564:7;7560:23;7556:32;7553:52;;;7601:1;7598;7591:12;7553:52;7633:9;7627:16;7652:31;7677:5;7652:31;:::i;8388:148::-;8476:4;8455:12;;;8469;;;8451:31;;8494:13;;8491:39;;;8510:18;;:::i;10476:400::-;10678:2;10660:21;;;10717:2;10697:18;;;10690:30;10756:34;10751:2;10736:18;;10729:62;-1:-1:-1;;;10822:2:1;10807:18;;10800:34;10866:3;10851:19;;10476:400::o;11584:217::-;11624:1;11650;11640:132;;11694:10;11689:3;11685:20;11682:1;11675:31;11729:4;11726:1;11719:15;11757:4;11754:1;11747:15;11640:132;-1:-1:-1;11786:9:1;;11584:217::o;12418:306::-;12506:6;12514;12522;12575:2;12563:9;12554:7;12550:23;12546:32;12543:52;;;12591:1;12588;12581:12;12543:52;12620:9;12614:16;12604:26;;12670:2;12659:9;12655:18;12649:25;12639:35;;12714:2;12703:9;12699:18;12693:25;12683:35;;12418:306;;;;;:::o;12861:127::-;12922:10;12917:3;12913:20;12910:1;12903:31;12953:4;12950:1;12943:15;12977:4;12974:1;12967:15;12993:980;13255:4;13303:3;13292:9;13288:19;13334:6;13323:9;13316:25;13360:2;13398:6;13393:2;13382:9;13378:18;13371:34;13441:3;13436:2;13425:9;13421:18;13414:31;13465:6;13500;13494:13;13531:6;13523;13516:22;13569:3;13558:9;13554:19;13547:26;;13608:2;13600:6;13596:15;13582:29;;13629:1;13639:195;13653:6;13650:1;13647:13;13639:195;;;13718:13;;-1:-1:-1;;;;;13714:39:1;13702:52;;13809:15;;;;13774:12;;;;13750:1;13668:9;13639:195;;;-1:-1:-1;;;;;;;13890:32:1;;;;13885:2;13870:18;;13863:60;-1:-1:-1;;;13954:3:1;13939:19;13932:35;13851:3;12993:980;-1:-1:-1;;;12993:980:1:o
Metadata Hash
8d6a8638a76bbd781beaa0ba68f009b3312deaa25ba0608c5db808e931f9e237
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.