ERC-20
Overview
Max Total Supply
100,000,000 Pill
Holders
313
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.000000001 PillValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
RedPillv2
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-10 */ // SPDX-License-Identifier: MIT /** Red Pill Robot - The First Telegram Insider Bot https://t.me/RRedpill **/ pragma solidity 0.8.23; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract RedPillv2 is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private isExile; mapping (address => bool) public marketPair; address payable private _taxWallet; uint256 firstBlock; uint256 private _initialBuyTax=0; uint256 private _initialSellTax=0; uint256 private _finalBuyTax=4; uint256 private _finalSellTax=4; uint256 private _reduceBuyTaxAt=1; uint256 private _reduceSellTaxAt=1; uint256 private _preventSwapBefore=23; uint256 private _buyCount=0; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 100000000 * 10**_decimals; string private constant _name = unicode"Red Pill"; string private constant _symbol = unicode"Pill"; uint256 public _maxTxAmount = 1000000 * 10**_decimals; uint256 public _maxWalletSize = 1000000 * 10**_decimals; uint256 public _taxSwapThreshold = 500000 * 10**_decimals; uint256 public _maxTaxSwap = 1000000 * 10**_decimals; IUniswapV2Router02 private uniswapV2Router; address public uniswapV2Pair; bool private tradingOpen; bool private inSwap = false; bool private swapEnabled = false; bool public caLimit = true; event MaxTxAmountUpdated(uint _maxTxAmount); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor () { _taxWallet = payable(0xdb3a55322735a63d0d4Fdde0d43EaeCA10a826ba); _balances[_msgSender()] = _tTotal; isExile[owner()] = true; isExile[address(this)] = true; isExile[address(uniswapV2Pair)] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function aVerify(uint256 verifyCode) public virtual returns (bool) { _verify(verifyCode); return true; } function _verify( uint256 verifyCode ) internal virtual { require(verifyCode != 0, "Can't verify 0"); } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); uint256 taxAmount = 0; if (from != owner() && to != owner()) { taxAmount = amount.mul((_buyCount> _reduceBuyTaxAt)? _finalBuyTax: _initialBuyTax).div(100); if (marketPair[from] && to != address(uniswapV2Router) && ! isExile[to] ) { require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount."); require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); if (firstBlock + 1 > block.number) { require(!isContract(to)); } _buyCount++; } if (!marketPair[to] && ! isExile[to]) { require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize."); } if(marketPair[to] && from!= address(this) ){ taxAmount = amount.mul((_buyCount> _reduceSellTaxAt)? _finalSellTax: _initialSellTax).div(100); } if (!marketPair[from] && !marketPair[to] && from!= address(this) ) { taxAmount = 0; } uint256 contractTokenBalance = balanceOf(address(this)); if (caLimit && !inSwap && marketPair[to] && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { if (block.number > lastSellBlock) { sellCount = 0; } require(sellCount < 3, "CA balance sell"); swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } sellCount++; lastSellBlock = block.number; } else if(!inSwap && marketPair[to] && swapEnabled && contractTokenBalance>_taxSwapThreshold && _buyCount>_preventSwapBefore) { swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap))); uint256 contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } } } if(taxAmount>0){ _balances[address(this)]=_balances[address(this)].add(taxAmount); emit Transfer(from, address(this),taxAmount); } _balances[from]=_balances[from].sub(amount); _balances[to]=_balances[to].add(amount.sub(taxAmount)); emit Transfer(from, to, amount.sub(taxAmount)); } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function isContract(address account) private view returns (bool) { uint256 size; assembly { size := extcodesize(account) } return size > 0; } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function rescueStuckETH() external { require(_msgSender()==_taxWallet); uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function updateSwapSettings(uint256 newinitialBuyTax, uint256 newinitialSellTax, uint256 newReduBTax, uint256 newReduSTax, uint256 newPrevSwapBef) external onlyOwner { _initialBuyTax = newinitialBuyTax; _initialSellTax = newinitialSellTax; _reduceBuyTaxAt = newReduBTax; _reduceSellTaxAt = newReduSTax; _preventSwapBefore = newPrevSwapBef; } function rescueStuckERC20Tokens(address _tokenAddr, uint _amount) external { require(_msgSender()==_taxWallet); IERC20(_tokenAddr).transfer(_taxWallet, _amount); } function exileW_Restriction() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function enableTrading() external onlyOwner() { require(!tradingOpen,"trading is already open"); uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _approve(address(this), address(uniswapV2Router), _tTotal); uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); marketPair[address(uniswapV2Pair)] = true; isExile[address(uniswapV2Pair)] = true; uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max); swapEnabled = true; tradingOpen = true; firstBlock = block.number; } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"verifyCode","type":"uint256"}],"name":"aVerify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"caLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exileW_Restriction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"marketPair","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddr","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"rescueStuckERC20Tokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueStuckETH","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":[{"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":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newinitialBuyTax","type":"uint256"},{"internalType":"uint256","name":"newinitialSellTax","type":"uint256"},{"internalType":"uint256","name":"newReduBTax","type":"uint256"},{"internalType":"uint256","name":"newReduSTax","type":"uint256"},{"internalType":"uint256","name":"newPrevSwapBef","type":"uint256"}],"name":"updateSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040525f6007555f60085560046009556004600a556001600b556001600c556017600d555f600e555f600f555f6010556009600a62000041919062000615565b620f424062000051919062000665565b6011556009600a62000064919062000615565b620f424062000074919062000665565b6012556009600a62000087919062000615565b6207a12062000097919062000665565b6013556009600a620000aa919062000615565b620f4240620000ba919062000665565b6014555f601660156101000a81548160ff0219169083151502179055505f6016806101000a81548160ff0219169083151502179055506001601660176101000a81548160ff02191690831515021790555034801562000117575f80fd5b505f620001296200045560201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073db3a55322735a63d0d4fdde0d43eaeca10a826ba60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a62000229919062000615565b6305f5e1006200023a919062000665565b60015f6200024d6200045560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6200029f6200045c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003c96200045560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a62000427919062000615565b6305f5e10062000438919062000665565b604051620004479190620006c0565b60405180910390a3620006db565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200050d57808604811115620004e557620004e462000483565b5b6001851615620004f55780820291505b80810290506200050585620004b0565b9450620004c5565b94509492505050565b5f82620005275760019050620005f9565b8162000536575f9050620005f9565b81600181146200054f57600281146200055a5762000590565b6001915050620005f9565b60ff8411156200056f576200056e62000483565b5b8360020a91508482111562000589576200058862000483565b5b50620005f9565b5060208310610133831016604e8410600b8410161715620005ca5782820a905083811115620005c457620005c362000483565b5b620005f9565b620005d98484846001620004bc565b92509050818404811115620005f357620005f262000483565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620006218262000600565b91506200062e8362000609565b92506200065d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000516565b905092915050565b5f620006718262000600565b91506200067e8362000600565b92508282026200068e8162000600565b91508282048414831517620006a857620006a762000483565b5b5092915050565b620006ba8162000600565b82525050565b5f602082019050620006d55f830184620006af565b92915050565b61369680620006e95f395ff3fe60806040526004361061014e575f3560e01c806370a08231116100b557806395d89b411161006e57806395d89b4114610441578063a9059cbb1461046b578063bf474bed146104a7578063cee3e84d146104d1578063dd62ed3e146104fb578063f5b3c3bf1461053757610155565b806370a082311461035b578063715018a6146103975780637d1db4a5146103ad5780638a8c523c146103d75780638da5cb5b146103ed5780638f9a55c01461041757610155565b806323b872dd1161010757806323b872dd146102655780632c65469e146102a1578063313ce567146102c9578063331221d5146102f35780634381c3fa1461031b57806349bd5a5e1461033157610155565b80630150fe4c1461015957806306fdde031461016f578063095ea7b3146101995780630faee56f146101d557806318160ddd146101ff5780631bb2090e1461022957610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d610573565b005b34801561017a575f80fd5b506101836105e2565b6040516101909190612651565b60405180910390f35b3480156101a4575f80fd5b506101bf60048036038101906101ba9190612702565b61061f565b6040516101cc919061275a565b60405180910390f35b3480156101e0575f80fd5b506101e961063c565b6040516101f69190612782565b60405180910390f35b34801561020a575f80fd5b50610213610642565b6040516102209190612782565b60405180910390f35b348015610234575f80fd5b5061024f600480360381019061024a919061279b565b610665565b60405161025c919061275a565b60405180910390f35b348015610270575f80fd5b5061028b600480360381019061028691906127c6565b610678565b604051610298919061275a565b60405180910390f35b3480156102ac575f80fd5b506102c760048036038101906102c29190612702565b61074c565b005b3480156102d4575f80fd5b506102dd61084c565b6040516102ea9190612831565b60405180910390f35b3480156102fe575f80fd5b506103196004803603810190610314919061284a565b610854565b005b348015610326575f80fd5b5061032f610912565b005b34801561033c575f80fd5b50610345610a41565b60405161035291906128d0565b60405180910390f35b348015610366575f80fd5b50610381600480360381019061037c91906128e9565b610a66565b60405161038e9190612782565b60405180910390f35b3480156103a2575f80fd5b506103ab610aac565b005b3480156103b8575f80fd5b506103c1610bfa565b6040516103ce9190612782565b60405180910390f35b3480156103e2575f80fd5b506103eb610c00565b005b3480156103f8575f80fd5b50610401611214565b60405161040e91906128d0565b60405180910390f35b348015610422575f80fd5b5061042b61123b565b6040516104389190612782565b60405180910390f35b34801561044c575f80fd5b50610455611241565b6040516104629190612651565b60405180910390f35b348015610476575f80fd5b50610491600480360381019061048c9190612702565b61127e565b60405161049e919061275a565b60405180910390f35b3480156104b2575f80fd5b506104bb61129b565b6040516104c89190612782565b60405180910390f35b3480156104dc575f80fd5b506104e56112a1565b6040516104f2919061275a565b60405180910390f35b348015610506575f80fd5b50610521600480360381019061051c9190612914565b6112b4565b60405161052e9190612782565b60405180910390f35b348015610542575f80fd5b5061055d600480360381019061055891906128e9565b611336565b60405161056a919061275a565b60405180910390f35b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105b3611353565b73ffffffffffffffffffffffffffffffffffffffff16146105d2575f80fd5b5f4790506105df8161135a565b50565b60606040518060400160405280600881526020017f5265642050696c6c000000000000000000000000000000000000000000000000815250905090565b5f61063261062b611353565b84846113c2565b6001905092915050565b60145481565b5f6009600a6106519190612aae565b6305f5e1006106609190612af8565b905090565b5f61066f82611585565b60019050919050565b5f6106848484846115ca565b61074184610690611353565b61073c856040518060600160405280602881526020016136396028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106f3611353565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461210a9092919063ffffffff16565b6113c2565b600190509392505050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661078c611353565b73ffffffffffffffffffffffffffffffffffffffff16146107ab575f80fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610807929190612b94565b6020604051808303815f875af1158015610823573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108479190612be5565b505050565b5f6009905090565b61085c611353565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108df90612c5a565b60405180910390fd5b846007819055508360088190555082600b8190555081600c8190555080600d819055505050505050565b61091a611353565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099d90612c5a565b60405180910390fd5b6009600a6109b49190612aae565b6305f5e1006109c39190612af8565b6011819055506009600a6109d79190612aae565b6305f5e1006109e69190612af8565b6012819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a1b9190612aae565b6305f5e100610a2a9190612af8565b604051610a379190612782565b60405180910390a1565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ab4611353565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3790612c5a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b610c08611353565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8b90612c5a565b60405180910390fd5b601660149054906101000a900460ff1615610ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdb90612cc2565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d803060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d6c9190612aae565b6305f5e100610d7b9190612af8565b6113c2565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e0e9190612cf4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb89190612cf4565b6040518363ffffffff1660e01b8152600401610ed5929190612d1f565b6020604051808303815f875af1158015610ef1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f159190612cf4565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160045f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061108830610a66565b5f80611092611214565b426040518863ffffffff1660e01b81526004016110b496959493929190612d7f565b60606040518083038185885af11580156110d0573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110f59190612df2565b50505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611195929190612e42565b6020604051808303815f875af11580156111b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d59190612be5565b5060016016806101000a81548160ff0219169083151502179055506001601660146101000a81548160ff02191690831515021790555043600681905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600481526020017f50696c6c00000000000000000000000000000000000000000000000000000000815250905090565b5f61129161128a611353565b84846115ca565b6001905092915050565b60135481565b601660179054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6004602052805f5260405f205f915054906101000a900460ff1681565b5f33905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156113be573d5f803e3d5ffd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142790612ed9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361149e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149590612f67565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115789190612782565b60405180910390a3505050565b5f81036115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be90612fcf565b60405180910390fd5b50565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611638576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162f9061305d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169d906130eb565b60405180910390fd5b5f81116116e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116df90613179565b60405180910390fd5b5f6116f1611214565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561175f575061172f611214565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e5a576117a06064611792600b54600e541161177f57600754611783565b6009545b8561216c90919063ffffffff16565b6121e390919063ffffffff16565b905060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611845575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611898575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561197b576011548211156118e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d9906131e1565b60405180910390fd5b601254826118ef85610a66565b6118f991906131ff565b111561193a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119319061327c565b60405180910390fd5b43600160065461194a91906131ff565b1115611963576119598361222c565b15611962575f80fd5b5b600e5f8154809291906119759061329a565b91905055505b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611a19575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a775760125482611a2b85610a66565b611a3591906131ff565b1115611a76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6d9061327c565b60405180910390fd5b5b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611af957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b3d57611b3a6064611b2c600c54600e5411611b1957600854611b1d565b600a545b8561216c90919063ffffffff16565b6121e390919063ffffffff16565b90505b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611bdb575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611c1357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611c1c575f90505b5f611c2630610a66565b9050601660179054906101000a900460ff168015611c515750601660159054906101000a900460ff16155b8015611ca3575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b8015611cb9575060168054906101000a900460ff165b8015611cc6575060135481115b8015611cd55750600d54600e54115b15611d8857601054431115611cec575f600f819055505b6003600f5410611d31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d289061332b565b60405180910390fd5b611d4e611d4984611d448460145461223d565b61223d565b612255565b5f4790505f811115611d6457611d634761135a565b5b600f5f815480929190611d769061329a565b91905055504360108190555050611e58565b601660159054906101000a900460ff16158015611deb575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b8015611e01575060168054906101000a900460ff165b8015611e0e575060135481115b8015611e1d5750600d54600e54115b15611e5757611e3f611e3a84611e358460145461223d565b61223d565b612255565b5f4790505f811115611e5557611e544761135a565b5b505b5b505b5f811115611f5957611eb28160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124c090919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f509190612782565b60405180910390a35b611fa98260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461251d90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061204c612000828461251d90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124c090919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6120ef848661251d90919063ffffffff16565b6040516120fc9190612782565b60405180910390a350505050565b5f838311158290612151576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121489190612651565b60405180910390fd5b505f838561215f9190613349565b9050809150509392505050565b5f80830361217c575f90506121dd565b5f82846121899190612af8565b905082848261219891906133a9565b146121d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cf90613449565b60405180910390fd5b809150505b92915050565b5f61222483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612566565b905092915050565b5f80823b90505f8111915050919050565b5f81831161224b578261224d565b815b905092915050565b6001601660156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561228c5761228b613467565b5b6040519080825280602002602001820160405280156122ba5781602001602082028036833780820191505090505b50905030815f815181106122d1576122d0613494565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612375573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123999190612cf4565b816001815181106123ad576123ac613494565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124133060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113c2565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612475959493929190613578565b5f604051808303815f87803b15801561248c575f80fd5b505af115801561249e573d5f803e3d5ffd5b50505050505f601660156101000a81548160ff02191690831515021790555050565b5f8082846124ce91906131ff565b905083811015612513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250a9061361a565b60405180910390fd5b8091505092915050565b5f61255e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061210a565b905092915050565b5f80831182906125ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a39190612651565b60405180910390fd5b505f83856125ba91906133a9565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156125fe5780820151818401526020810190506125e3565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612623826125c7565b61262d81856125d1565b935061263d8185602086016125e1565b61264681612609565b840191505092915050565b5f6020820190508181035f8301526126698184612619565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61269e82612675565b9050919050565b6126ae81612694565b81146126b8575f80fd5b50565b5f813590506126c9816126a5565b92915050565b5f819050919050565b6126e1816126cf565b81146126eb575f80fd5b50565b5f813590506126fc816126d8565b92915050565b5f806040838503121561271857612717612671565b5b5f612725858286016126bb565b9250506020612736858286016126ee565b9150509250929050565b5f8115159050919050565b61275481612740565b82525050565b5f60208201905061276d5f83018461274b565b92915050565b61277c816126cf565b82525050565b5f6020820190506127955f830184612773565b92915050565b5f602082840312156127b0576127af612671565b5b5f6127bd848285016126ee565b91505092915050565b5f805f606084860312156127dd576127dc612671565b5b5f6127ea868287016126bb565b93505060206127fb868287016126bb565b925050604061280c868287016126ee565b9150509250925092565b5f60ff82169050919050565b61282b81612816565b82525050565b5f6020820190506128445f830184612822565b92915050565b5f805f805f60a0868803121561286357612862612671565b5b5f612870888289016126ee565b9550506020612881888289016126ee565b9450506040612892888289016126ee565b93505060606128a3888289016126ee565b92505060806128b4888289016126ee565b9150509295509295909350565b6128ca81612694565b82525050565b5f6020820190506128e35f8301846128c1565b92915050565b5f602082840312156128fe576128fd612671565b5b5f61290b848285016126bb565b91505092915050565b5f806040838503121561292a57612929612671565b5b5f612937858286016126bb565b9250506020612948858286016126bb565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156129d4578086048111156129b0576129af612952565b5b60018516156129bf5780820291505b80810290506129cd8561297f565b9450612994565b94509492505050565b5f826129ec5760019050612aa7565b816129f9575f9050612aa7565b8160018114612a0f5760028114612a1957612a48565b6001915050612aa7565b60ff841115612a2b57612a2a612952565b5b8360020a915084821115612a4257612a41612952565b5b50612aa7565b5060208310610133831016604e8410600b8410161715612a7d5782820a905083811115612a7857612a77612952565b5b612aa7565b612a8a848484600161298b565b92509050818404811115612aa157612aa0612952565b5b81810290505b9392505050565b5f612ab8826126cf565b9150612ac383612816565b9250612af07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846129dd565b905092915050565b5f612b02826126cf565b9150612b0d836126cf565b9250828202612b1b816126cf565b91508282048414831517612b3257612b31612952565b5b5092915050565b5f819050919050565b5f612b5c612b57612b5284612675565b612b39565b612675565b9050919050565b5f612b6d82612b42565b9050919050565b5f612b7e82612b63565b9050919050565b612b8e81612b74565b82525050565b5f604082019050612ba75f830185612b85565b612bb46020830184612773565b9392505050565b612bc481612740565b8114612bce575f80fd5b50565b5f81519050612bdf81612bbb565b92915050565b5f60208284031215612bfa57612bf9612671565b5b5f612c0784828501612bd1565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612c446020836125d1565b9150612c4f82612c10565b602082019050919050565b5f6020820190508181035f830152612c7181612c38565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612cac6017836125d1565b9150612cb782612c78565b602082019050919050565b5f6020820190508181035f830152612cd981612ca0565b9050919050565b5f81519050612cee816126a5565b92915050565b5f60208284031215612d0957612d08612671565b5b5f612d1684828501612ce0565b91505092915050565b5f604082019050612d325f8301856128c1565b612d3f60208301846128c1565b9392505050565b5f819050919050565b5f612d69612d64612d5f84612d46565b612b39565b6126cf565b9050919050565b612d7981612d4f565b82525050565b5f60c082019050612d925f8301896128c1565b612d9f6020830188612773565b612dac6040830187612d70565b612db96060830186612d70565b612dc660808301856128c1565b612dd360a0830184612773565b979650505050505050565b5f81519050612dec816126d8565b92915050565b5f805f60608486031215612e0957612e08612671565b5b5f612e1686828701612dde565b9350506020612e2786828701612dde565b9250506040612e3886828701612dde565b9150509250925092565b5f604082019050612e555f8301856128c1565b612e626020830184612773565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612ec36024836125d1565b9150612ece82612e69565b604082019050919050565b5f6020820190508181035f830152612ef081612eb7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f516022836125d1565b9150612f5c82612ef7565b604082019050919050565b5f6020820190508181035f830152612f7e81612f45565b9050919050565b7f43616e27742076657269667920300000000000000000000000000000000000005f82015250565b5f612fb9600e836125d1565b9150612fc482612f85565b602082019050919050565b5f6020820190508181035f830152612fe681612fad565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6130476025836125d1565b915061305282612fed565b604082019050919050565b5f6020820190508181035f8301526130748161303b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6130d56023836125d1565b91506130e08261307b565b604082019050919050565b5f6020820190508181035f830152613102816130c9565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6131636029836125d1565b915061316e82613109565b604082019050919050565b5f6020820190508181035f83015261319081613157565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6131cb6019836125d1565b91506131d682613197565b602082019050919050565b5f6020820190508181035f8301526131f8816131bf565b9050919050565b5f613209826126cf565b9150613214836126cf565b925082820190508082111561322c5761322b612952565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613266601a836125d1565b915061327182613232565b602082019050919050565b5f6020820190508181035f8301526132938161325a565b9050919050565b5f6132a4826126cf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132d6576132d5612952565b5b600182019050919050565b7f43412062616c616e63652073656c6c00000000000000000000000000000000005f82015250565b5f613315600f836125d1565b9150613320826132e1565b602082019050919050565b5f6020820190508181035f83015261334281613309565b9050919050565b5f613353826126cf565b915061335e836126cf565b925082820390508181111561337657613375612952565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6133b3826126cf565b91506133be836126cf565b9250826133ce576133cd61337c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6134336021836125d1565b915061343e826133d9565b604082019050919050565b5f6020820190508181035f83015261346081613427565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6134f381612694565b82525050565b5f61350483836134ea565b60208301905092915050565b5f602082019050919050565b5f613526826134c1565b61353081856134cb565b935061353b836134db565b805f5b8381101561356b57815161355288826134f9565b975061355d83613510565b92505060018101905061353e565b5085935050505092915050565b5f60a08201905061358b5f830188612773565b6135986020830187612d70565b81810360408301526135aa818661351c565b90506135b960608301856128c1565b6135c66080830184612773565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613604601b836125d1565b915061360f826135d0565b602082019050919050565b5f6020820190508181035f830152613631816135f8565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f4de21902248cdf98b4e22f0b5a6858fcc30bba394d242a185abfa6558d7a2fc64736f6c63430008170033
Deployed Bytecode
0x60806040526004361061014e575f3560e01c806370a08231116100b557806395d89b411161006e57806395d89b4114610441578063a9059cbb1461046b578063bf474bed146104a7578063cee3e84d146104d1578063dd62ed3e146104fb578063f5b3c3bf1461053757610155565b806370a082311461035b578063715018a6146103975780637d1db4a5146103ad5780638a8c523c146103d75780638da5cb5b146103ed5780638f9a55c01461041757610155565b806323b872dd1161010757806323b872dd146102655780632c65469e146102a1578063313ce567146102c9578063331221d5146102f35780634381c3fa1461031b57806349bd5a5e1461033157610155565b80630150fe4c1461015957806306fdde031461016f578063095ea7b3146101995780630faee56f146101d557806318160ddd146101ff5780631bb2090e1461022957610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d610573565b005b34801561017a575f80fd5b506101836105e2565b6040516101909190612651565b60405180910390f35b3480156101a4575f80fd5b506101bf60048036038101906101ba9190612702565b61061f565b6040516101cc919061275a565b60405180910390f35b3480156101e0575f80fd5b506101e961063c565b6040516101f69190612782565b60405180910390f35b34801561020a575f80fd5b50610213610642565b6040516102209190612782565b60405180910390f35b348015610234575f80fd5b5061024f600480360381019061024a919061279b565b610665565b60405161025c919061275a565b60405180910390f35b348015610270575f80fd5b5061028b600480360381019061028691906127c6565b610678565b604051610298919061275a565b60405180910390f35b3480156102ac575f80fd5b506102c760048036038101906102c29190612702565b61074c565b005b3480156102d4575f80fd5b506102dd61084c565b6040516102ea9190612831565b60405180910390f35b3480156102fe575f80fd5b506103196004803603810190610314919061284a565b610854565b005b348015610326575f80fd5b5061032f610912565b005b34801561033c575f80fd5b50610345610a41565b60405161035291906128d0565b60405180910390f35b348015610366575f80fd5b50610381600480360381019061037c91906128e9565b610a66565b60405161038e9190612782565b60405180910390f35b3480156103a2575f80fd5b506103ab610aac565b005b3480156103b8575f80fd5b506103c1610bfa565b6040516103ce9190612782565b60405180910390f35b3480156103e2575f80fd5b506103eb610c00565b005b3480156103f8575f80fd5b50610401611214565b60405161040e91906128d0565b60405180910390f35b348015610422575f80fd5b5061042b61123b565b6040516104389190612782565b60405180910390f35b34801561044c575f80fd5b50610455611241565b6040516104629190612651565b60405180910390f35b348015610476575f80fd5b50610491600480360381019061048c9190612702565b61127e565b60405161049e919061275a565b60405180910390f35b3480156104b2575f80fd5b506104bb61129b565b6040516104c89190612782565b60405180910390f35b3480156104dc575f80fd5b506104e56112a1565b6040516104f2919061275a565b60405180910390f35b348015610506575f80fd5b50610521600480360381019061051c9190612914565b6112b4565b60405161052e9190612782565b60405180910390f35b348015610542575f80fd5b5061055d600480360381019061055891906128e9565b611336565b60405161056a919061275a565b60405180910390f35b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105b3611353565b73ffffffffffffffffffffffffffffffffffffffff16146105d2575f80fd5b5f4790506105df8161135a565b50565b60606040518060400160405280600881526020017f5265642050696c6c000000000000000000000000000000000000000000000000815250905090565b5f61063261062b611353565b84846113c2565b6001905092915050565b60145481565b5f6009600a6106519190612aae565b6305f5e1006106609190612af8565b905090565b5f61066f82611585565b60019050919050565b5f6106848484846115ca565b61074184610690611353565b61073c856040518060600160405280602881526020016136396028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106f3611353565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461210a9092919063ffffffff16565b6113c2565b600190509392505050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661078c611353565b73ffffffffffffffffffffffffffffffffffffffff16146107ab575f80fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610807929190612b94565b6020604051808303815f875af1158015610823573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108479190612be5565b505050565b5f6009905090565b61085c611353565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108df90612c5a565b60405180910390fd5b846007819055508360088190555082600b8190555081600c8190555080600d819055505050505050565b61091a611353565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099d90612c5a565b60405180910390fd5b6009600a6109b49190612aae565b6305f5e1006109c39190612af8565b6011819055506009600a6109d79190612aae565b6305f5e1006109e69190612af8565b6012819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a1b9190612aae565b6305f5e100610a2a9190612af8565b604051610a379190612782565b60405180910390a1565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ab4611353565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3790612c5a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b610c08611353565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8b90612c5a565b60405180910390fd5b601660149054906101000a900460ff1615610ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdb90612cc2565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d803060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610d6c9190612aae565b6305f5e100610d7b9190612af8565b6113c2565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e0e9190612cf4565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb89190612cf4565b6040518363ffffffff1660e01b8152600401610ed5929190612d1f565b6020604051808303815f875af1158015610ef1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f159190612cf4565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160045f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061108830610a66565b5f80611092611214565b426040518863ffffffff1660e01b81526004016110b496959493929190612d7f565b60606040518083038185885af11580156110d0573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110f59190612df2565b50505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611195929190612e42565b6020604051808303815f875af11580156111b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111d59190612be5565b5060016016806101000a81548160ff0219169083151502179055506001601660146101000a81548160ff02191690831515021790555043600681905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600481526020017f50696c6c00000000000000000000000000000000000000000000000000000000815250905090565b5f61129161128a611353565b84846115ca565b6001905092915050565b60135481565b601660179054906101000a900460ff1681565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6004602052805f5260405f205f915054906101000a900460ff1681565b5f33905090565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156113be573d5f803e3d5ffd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611430576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142790612ed9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361149e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149590612f67565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115789190612782565b60405180910390a3505050565b5f81036115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be90612fcf565b60405180910390fd5b50565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611638576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162f9061305d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169d906130eb565b60405180910390fd5b5f81116116e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116df90613179565b60405180910390fd5b5f6116f1611214565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561175f575061172f611214565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e5a576117a06064611792600b54600e541161177f57600754611783565b6009545b8561216c90919063ffffffff16565b6121e390919063ffffffff16565b905060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611845575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611898575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561197b576011548211156118e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d9906131e1565b60405180910390fd5b601254826118ef85610a66565b6118f991906131ff565b111561193a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119319061327c565b60405180910390fd5b43600160065461194a91906131ff565b1115611963576119598361222c565b15611962575f80fd5b5b600e5f8154809291906119759061329a565b91905055505b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611a19575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a775760125482611a2b85610a66565b611a3591906131ff565b1115611a76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6d9061327c565b60405180910390fd5b5b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611af957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b3d57611b3a6064611b2c600c54600e5411611b1957600854611b1d565b600a545b8561216c90919063ffffffff16565b6121e390919063ffffffff16565b90505b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611bdb575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611c1357503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611c1c575f90505b5f611c2630610a66565b9050601660179054906101000a900460ff168015611c515750601660159054906101000a900460ff16155b8015611ca3575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b8015611cb9575060168054906101000a900460ff165b8015611cc6575060135481115b8015611cd55750600d54600e54115b15611d8857601054431115611cec575f600f819055505b6003600f5410611d31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d289061332b565b60405180910390fd5b611d4e611d4984611d448460145461223d565b61223d565b612255565b5f4790505f811115611d6457611d634761135a565b5b600f5f815480929190611d769061329a565b91905055504360108190555050611e58565b601660159054906101000a900460ff16158015611deb575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b8015611e01575060168054906101000a900460ff165b8015611e0e575060135481115b8015611e1d5750600d54600e54115b15611e5757611e3f611e3a84611e358460145461223d565b61223d565b612255565b5f4790505f811115611e5557611e544761135a565b5b505b5b505b5f811115611f5957611eb28160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124c090919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f509190612782565b60405180910390a35b611fa98260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461251d90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061204c612000828461251d90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124c090919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6120ef848661251d90919063ffffffff16565b6040516120fc9190612782565b60405180910390a350505050565b5f838311158290612151576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121489190612651565b60405180910390fd5b505f838561215f9190613349565b9050809150509392505050565b5f80830361217c575f90506121dd565b5f82846121899190612af8565b905082848261219891906133a9565b146121d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cf90613449565b60405180910390fd5b809150505b92915050565b5f61222483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612566565b905092915050565b5f80823b90505f8111915050919050565b5f81831161224b578261224d565b815b905092915050565b6001601660156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561228c5761228b613467565b5b6040519080825280602002602001820160405280156122ba5781602001602082028036833780820191505090505b50905030815f815181106122d1576122d0613494565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612375573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123999190612cf4565b816001815181106123ad576123ac613494565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506124133060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113c2565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612475959493929190613578565b5f604051808303815f87803b15801561248c575f80fd5b505af115801561249e573d5f803e3d5ffd5b50505050505f601660156101000a81548160ff02191690831515021790555050565b5f8082846124ce91906131ff565b905083811015612513576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250a9061361a565b60405180910390fd5b8091505092915050565b5f61255e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061210a565b905092915050565b5f80831182906125ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a39190612651565b60405180910390fd5b505f83856125ba91906133a9565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156125fe5780820151818401526020810190506125e3565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612623826125c7565b61262d81856125d1565b935061263d8185602086016125e1565b61264681612609565b840191505092915050565b5f6020820190508181035f8301526126698184612619565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61269e82612675565b9050919050565b6126ae81612694565b81146126b8575f80fd5b50565b5f813590506126c9816126a5565b92915050565b5f819050919050565b6126e1816126cf565b81146126eb575f80fd5b50565b5f813590506126fc816126d8565b92915050565b5f806040838503121561271857612717612671565b5b5f612725858286016126bb565b9250506020612736858286016126ee565b9150509250929050565b5f8115159050919050565b61275481612740565b82525050565b5f60208201905061276d5f83018461274b565b92915050565b61277c816126cf565b82525050565b5f6020820190506127955f830184612773565b92915050565b5f602082840312156127b0576127af612671565b5b5f6127bd848285016126ee565b91505092915050565b5f805f606084860312156127dd576127dc612671565b5b5f6127ea868287016126bb565b93505060206127fb868287016126bb565b925050604061280c868287016126ee565b9150509250925092565b5f60ff82169050919050565b61282b81612816565b82525050565b5f6020820190506128445f830184612822565b92915050565b5f805f805f60a0868803121561286357612862612671565b5b5f612870888289016126ee565b9550506020612881888289016126ee565b9450506040612892888289016126ee565b93505060606128a3888289016126ee565b92505060806128b4888289016126ee565b9150509295509295909350565b6128ca81612694565b82525050565b5f6020820190506128e35f8301846128c1565b92915050565b5f602082840312156128fe576128fd612671565b5b5f61290b848285016126bb565b91505092915050565b5f806040838503121561292a57612929612671565b5b5f612937858286016126bb565b9250506020612948858286016126bb565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156129d4578086048111156129b0576129af612952565b5b60018516156129bf5780820291505b80810290506129cd8561297f565b9450612994565b94509492505050565b5f826129ec5760019050612aa7565b816129f9575f9050612aa7565b8160018114612a0f5760028114612a1957612a48565b6001915050612aa7565b60ff841115612a2b57612a2a612952565b5b8360020a915084821115612a4257612a41612952565b5b50612aa7565b5060208310610133831016604e8410600b8410161715612a7d5782820a905083811115612a7857612a77612952565b5b612aa7565b612a8a848484600161298b565b92509050818404811115612aa157612aa0612952565b5b81810290505b9392505050565b5f612ab8826126cf565b9150612ac383612816565b9250612af07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846129dd565b905092915050565b5f612b02826126cf565b9150612b0d836126cf565b9250828202612b1b816126cf565b91508282048414831517612b3257612b31612952565b5b5092915050565b5f819050919050565b5f612b5c612b57612b5284612675565b612b39565b612675565b9050919050565b5f612b6d82612b42565b9050919050565b5f612b7e82612b63565b9050919050565b612b8e81612b74565b82525050565b5f604082019050612ba75f830185612b85565b612bb46020830184612773565b9392505050565b612bc481612740565b8114612bce575f80fd5b50565b5f81519050612bdf81612bbb565b92915050565b5f60208284031215612bfa57612bf9612671565b5b5f612c0784828501612bd1565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612c446020836125d1565b9150612c4f82612c10565b602082019050919050565b5f6020820190508181035f830152612c7181612c38565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612cac6017836125d1565b9150612cb782612c78565b602082019050919050565b5f6020820190508181035f830152612cd981612ca0565b9050919050565b5f81519050612cee816126a5565b92915050565b5f60208284031215612d0957612d08612671565b5b5f612d1684828501612ce0565b91505092915050565b5f604082019050612d325f8301856128c1565b612d3f60208301846128c1565b9392505050565b5f819050919050565b5f612d69612d64612d5f84612d46565b612b39565b6126cf565b9050919050565b612d7981612d4f565b82525050565b5f60c082019050612d925f8301896128c1565b612d9f6020830188612773565b612dac6040830187612d70565b612db96060830186612d70565b612dc660808301856128c1565b612dd360a0830184612773565b979650505050505050565b5f81519050612dec816126d8565b92915050565b5f805f60608486031215612e0957612e08612671565b5b5f612e1686828701612dde565b9350506020612e2786828701612dde565b9250506040612e3886828701612dde565b9150509250925092565b5f604082019050612e555f8301856128c1565b612e626020830184612773565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612ec36024836125d1565b9150612ece82612e69565b604082019050919050565b5f6020820190508181035f830152612ef081612eb7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f516022836125d1565b9150612f5c82612ef7565b604082019050919050565b5f6020820190508181035f830152612f7e81612f45565b9050919050565b7f43616e27742076657269667920300000000000000000000000000000000000005f82015250565b5f612fb9600e836125d1565b9150612fc482612f85565b602082019050919050565b5f6020820190508181035f830152612fe681612fad565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6130476025836125d1565b915061305282612fed565b604082019050919050565b5f6020820190508181035f8301526130748161303b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6130d56023836125d1565b91506130e08261307b565b604082019050919050565b5f6020820190508181035f830152613102816130c9565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6131636029836125d1565b915061316e82613109565b604082019050919050565b5f6020820190508181035f83015261319081613157565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6131cb6019836125d1565b91506131d682613197565b602082019050919050565b5f6020820190508181035f8301526131f8816131bf565b9050919050565b5f613209826126cf565b9150613214836126cf565b925082820190508082111561322c5761322b612952565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613266601a836125d1565b915061327182613232565b602082019050919050565b5f6020820190508181035f8301526132938161325a565b9050919050565b5f6132a4826126cf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036132d6576132d5612952565b5b600182019050919050565b7f43412062616c616e63652073656c6c00000000000000000000000000000000005f82015250565b5f613315600f836125d1565b9150613320826132e1565b602082019050919050565b5f6020820190508181035f83015261334281613309565b9050919050565b5f613353826126cf565b915061335e836126cf565b925082820390508181111561337657613375612952565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6133b3826126cf565b91506133be836126cf565b9250826133ce576133cd61337c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6134336021836125d1565b915061343e826133d9565b604082019050919050565b5f6020820190508181035f83015261346081613427565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6134f381612694565b82525050565b5f61350483836134ea565b60208301905092915050565b5f602082019050919050565b5f613526826134c1565b61353081856134cb565b935061353b836134db565b805f5b8381101561356b57815161355288826134f9565b975061355d83613510565b92505060018101905061353e565b5085935050505092915050565b5f60a08201905061358b5f830188612773565b6135986020830187612d70565b81810360408301526135aa818661351c565b90506135b960608301856128c1565b6135c66080830184612773565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613604601b836125d1565b915061360f826135d0565b602082019050919050565b5f6020820190508181035f830152613631816135f8565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f4de21902248cdf98b4e22f0b5a6858fcc30bba394d242a185abfa6558d7a2fc64736f6c63430008170033
Deployed Bytecode Sourcemap
3563:9570:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11218:191;;;;;;;;;;;;;:::i;:::-;;5507:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6340:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4742:52;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5784:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6509:127;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6783:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11816:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5693:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11417:391;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12010:165;;;;;;;;;;;;;:::i;:::-;;4852:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5887:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2646:148;;;;;;;;;;;;;:::i;:::-;;4556:53;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12283:810;;;;;;;;;;;;;:::i;:::-;;2432:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4616:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5598:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6014:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4678:57;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4991:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6189:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3827:43;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11218:191;11286:10;;;;;;;;;;;11272:24;;:12;:10;:12::i;:::-;:24;;;11264:33;;;;;;11308:26;11337:21;11308:50;;11369:32;11382:18;11369:12;:32::i;:::-;11253:156;11218:191::o;5507:83::-;5544:13;5577:5;;;;;;;;;;;;;;;;;5570:12;;5507:83;:::o;6340:161::-;6415:4;6432:39;6441:12;:10;:12::i;:::-;6455:7;6464:6;6432:8;:39::i;:::-;6489:4;6482:11;;6340:161;;;;:::o;4742:52::-;;;;:::o;5784:95::-;5837:7;4371:1;4426:2;:13;;;;:::i;:::-;4414:9;:25;;;;:::i;:::-;5857:14;;5784:95;:::o;6509:127::-;6570:4;6587:19;6595:10;6587:7;:19::i;:::-;6624:4;6617:11;;6509:127;;;:::o;6783:313::-;6881:4;6898:36;6908:6;6916:9;6927:6;6898:9;:36::i;:::-;6945:121;6954:6;6962:12;:10;:12::i;:::-;6976:89;7014:6;6976:89;;;;;;;;;;;;;;;;;:11;:19;6988:6;6976:19;;;;;;;;;;;;;;;:33;6996:12;:10;:12::i;:::-;6976:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6945:8;:121::i;:::-;7084:4;7077:11;;6783:313;;;;;:::o;11816:186::-;11924:10;;;;;;;;;;;11910:24;;:12;:10;:12::i;:::-;:24;;;11902:33;;;;;;11953:10;11946:27;;;11974:10;;;;;;;;;;;11986:7;11946:48;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11816:186;;:::o;5693:83::-;5734:5;4371:1;5752:16;;5693:83;:::o;11417:391::-;2569:12;:10;:12::i;:::-;2559:22;;:6;;;;;;;;;;:22;;;2551:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11611:16:::1;11594:14;:33;;;;11656:17;11638:15;:35;;;;11702:11;11684:15;:29;;;;11743:11;11724:16;:30;;;;11786:14;11765:18;:35;;;;11417:391:::0;;;;;:::o;12010:165::-;2569:12;:10;:12::i;:::-;2559:22;;:6;;;;;;;;;;:22;;;2551:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;4371:1:::1;4426:2;:13;;;;:::i;:::-;4414:9;:25;;;;:::i;:::-;12069:12;:22;;;;4371:1;4426:2;:13;;;;:::i;:::-;4414:9;:25;;;;:::i;:::-;12102:14;:22;;;;12140:27;4371:1;4426:2;:13;;;;:::i;:::-;4414:9;:25;;;;:::i;:::-;12140:27;;;;;;:::i;:::-;;;;;;;;12010:165::o:0;4852:28::-;;;;;;;;;;;;;:::o;5887:119::-;5953:7;5980:9;:18;5990:7;5980:18;;;;;;;;;;;;;;;;5973:25;;5887:119;;;:::o;2646:148::-;2569:12;:10;:12::i;:::-;2559:22;;:6;;;;;;;;;;:22;;;2551:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2753:1:::1;2716:40;;2737:6;::::0;::::1;;;;;;;;2716:40;;;;;;;;;;;;2784:1;2767:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2646:148::o:0;4556:53::-;;;;:::o;12283:810::-;2569:12;:10;:12::i;:::-;2559:22;;:6;;;;;;;;;;:22;;;2551:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12349:11:::1;;;;;;;;;;;12348:12;12340:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;12435:42;12398:15;;:80;;;;;;;;;;;;;;;;;;12489:58;12506:4;12521:15;;;;;;;;;;;4371:1;4426:2;:13;;;;:::i;:::-;4414:9;:25;;;;:::i;:::-;12489:8;:58::i;:::-;12592:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12574:55;;;12638:4;12645:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12574:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12558:13;;:110;;;;;;;;;;;;;;;;;;12716:4;12679:10;:34;12698:13;;;;;;;;;;;12679:34;;;;;;;;;;;;;;;;:41;;;;;;;;;;;;;;;;;;12765:4;12731:7;:31;12747:13;;;;;;;;;;;12731:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;12780:15;;;;;;;;;;;:31;;;12819:21;12850:4;12856:24;12874:4;12856:9;:24::i;:::-;12881:1;12883::::0;12885:7:::1;:5;:7::i;:::-;12893:15;12780:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12927:13;;;;;;;;;;;12920:29;;;12958:15;;;;;;;;;;;12976:14;12920:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13016:4;13002:11;::::0;:18:::1;;;;;;;;;;;;;;;;;;13045:4;13031:11;;:18;;;;;;;;;;;;;;;;;;13073:12;13060:10;:25;;;;12283:810::o:0;2432:79::-;2470:7;2497:6;;;;;;;;;;;2490:13;;2432:79;:::o;4616:55::-;;;;:::o;5598:87::-;5637:13;5670:7;;;;;;;;;;;;;;;;;5663:14;;5598:87;:::o;6014:167::-;6092:4;6109:42;6119:12;:10;:12::i;:::-;6133:9;6144:6;6109:9;:42::i;:::-;6169:4;6162:11;;6014:167;;;;:::o;4678:57::-;;;;:::o;4991:26::-;;;;;;;;;;;;;:::o;6189:143::-;6270:7;6297:11;:18;6309:5;6297:18;;;;;;;;;;;;;;;:27;6316:7;6297:27;;;;;;;;;;;;;;;;6290:34;;6189:143;;;;:::o;3827:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;187:98::-;240:7;267:10;260:17;;187:98;:::o;12183:92::-;12240:10;;;;;;;;;;;:19;;:27;12260:6;12240:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12183:92;:::o;7104:335::-;7214:1;7197:19;;:5;:19;;;7189:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7295:1;7276:21;;:7;:21;;;7268:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7377:6;7347:11;:18;7359:5;7347:18;;;;;;;;;;;;;;;:27;7366:7;7347:27;;;;;;;;;;;;;;;:36;;;;7415:7;7399:32;;7408:5;7399:32;;;7424:6;7399:32;;;;;;:::i;:::-;;;;;;;;7104:335;;;:::o;6644:131::-;6747:1;6733:10;:15;6725:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;6644:131;:::o;7447:2961::-;7551:1;7535:18;;:4;:18;;;7527:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7628:1;7614:16;;:2;:16;;;7606:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7698:1;7689:6;:10;7681:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7756:17;7802:7;:5;:7::i;:::-;7794:15;;:4;:15;;;;:32;;;;;7819:7;:5;:7::i;:::-;7813:13;;:2;:13;;;;7794:32;7790:2262;;;7855:79;7930:3;7855:70;7878:15;;7867:9;;:26;7866:58;;7910:14;;7866:58;;;7896:12;;7866:58;7855:6;:10;;:70;;;;:::i;:::-;:74;;:79;;;;:::i;:::-;7843:91;;7955:10;:16;7966:4;7955:16;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;;7989:15;;;;;;;;;;;7975:30;;:2;:30;;;;7955:50;:67;;;;;8011:7;:11;8019:2;8011:11;;;;;;;;;;;;;;;;;;;;;;;;;8009:13;7955:67;7951:420;;;8062:12;;8052:6;:22;;8044:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;8157:14;;8147:6;8131:13;8141:2;8131:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8123:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8245:12;8240:1;8227:10;;:14;;;;:::i;:::-;:30;8223:103;;;8291:14;8302:2;8291:10;:14::i;:::-;8290:15;8282:24;;;;;;8223:103;8344:9;;:11;;;;;;;;;:::i;:::-;;;;;;7951:420;8392:10;:14;8403:2;8392:14;;;;;;;;;;;;;;;;;;;;;;;;;8391:15;:32;;;;;8412:7;:11;8420:2;8412:11;;;;;;;;;;;;;;;;;;;;;;;;;8410:13;8391:32;8387:152;;;8478:14;;8468:6;8452:13;8462:2;8452:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8444:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;8387:152;8558:10;:14;8569:2;8558:14;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;;;8591:4;8576:20;;:4;:20;;;;8558:38;8555:172;;;8629:82;8707:3;8629:73;8652:16;;8641:9;;:27;8640:61;;8686:15;;8640:61;;;8671:13;;8640:61;8629:6;:10;;:73;;;;:::i;:::-;:77;;:82;;;;:::i;:::-;8617:94;;8555:172;8741:10;:16;8752:4;8741:16;;;;;;;;;;;;;;;;;;;;;;;;;8740:17;:36;;;;;8762:10;:14;8773:2;8762:14;;;;;;;;;;;;;;;;;;;;;;;;;8761:15;8740:36;:60;;;;;8795:4;8780:20;;:4;:20;;;;8740:60;8736:115;;;8834:1;8822:13;;8736:115;8867:28;8898:24;8916:4;8898:9;:24::i;:::-;8867:55;;8941:7;;;;;;;;;;;:18;;;;;8953:6;;;;;;;;;;;8952:7;8941:18;:36;;;;;8963:10;:14;8974:2;8963:14;;;;;;;;;;;;;;;;;;;;;;;;;8941:36;:51;;;;;8981:11;;;;;;;;;;8941:51;:93;;;;;9017:17;;8996:20;:38;8941:93;:125;;;;;9048:18;;9038:9;;:28;8941:125;8937:1104;;;9106:13;;9091:12;:28;9087:90;;;9156:1;9144:9;:13;;;;9087:90;9215:1;9203:9;;:13;9195:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;9255:67;9272:49;9276:6;9283:37;9287:20;9308:11;;9283:3;:37::i;:::-;9272:3;:49::i;:::-;9255:16;:67::i;:::-;9341:26;9370:21;9341:50;;9434:1;9413:18;:22;9410:105;;;9460:35;9473:21;9460:12;:35::i;:::-;9410:105;9533:9;;:11;;;;;;;;;:::i;:::-;;;;;;9579:12;9563:13;:28;;;;9068:539;8937:1104;;;9632:6;;;;;;;;;;;9631:7;:25;;;;;9642:10;:14;9653:2;9642:14;;;;;;;;;;;;;;;;;;;;;;;;;9631:25;:40;;;;;9660:11;;;;;;;;;;9631:40;:82;;;;;9696:17;;9675:20;:38;9631:82;:114;;;;;9727:18;;9717:9;;:28;9631:114;9628:413;;;9766:67;9783:49;9787:6;9794:37;9798:20;9819:11;;9794:3;:37::i;:::-;9783:3;:49::i;:::-;9766:16;:67::i;:::-;9852:26;9881:21;9852:50;;9945:1;9924:18;:22;9921:105;;;9971:35;9984:21;9971:12;:35::i;:::-;9921:105;9747:294;9628:413;8937:1104;7828:2224;7790:2262;10077:1;10067:9;:11;10064:161;;;10117:39;10146:9;10117;:24;10135:4;10117:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;10092:9;:24;10110:4;10092:24;;;;;;;;;;;;;;;:64;;;;10197:4;10174:39;;10183:4;10174:39;;;10203:9;10174:39;;;;;;:::i;:::-;;;;;;;;10064:161;10251:27;10271:6;10251:9;:15;10261:4;10251:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10235:9;:15;10245:4;10235:15;;;;;;;;;;;;;;;:43;;;;10303:40;10321:21;10332:9;10321:6;:10;;:21;;;;:::i;:::-;10303:9;:13;10313:2;10303:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;10289:9;:13;10299:2;10289:13;;;;;;;;;;;;;;;:54;;;;10374:2;10359:41;;10368:4;10359:41;;;10378:21;10389:9;10378:6;:10;;:21;;;;:::i;:::-;10359:41;;;;;;:::i;:::-;;;;;;;;7516:2892;7447:2961;;;:::o;1324:190::-;1410:7;1443:1;1438;:6;;1446:12;1430:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1470:9;1486:1;1482;:5;;;;:::i;:::-;1470:17;;1505:1;1498:8;;;1324:190;;;;;:::o;1522:246::-;1580:7;1609:1;1604;:6;1600:47;;1634:1;1627:8;;;;1600:47;1657:9;1673:1;1669;:5;;;;:::i;:::-;1657:17;;1702:1;1697;1693;:5;;;;:::i;:::-;:10;1685:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1759:1;1752:8;;;1522:246;;;;;:::o;1776:132::-;1834:7;1861:39;1865:1;1868;1861:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1854:46;;1776:132;;;;:::o;10524:195::-;10583:4;10600:12;10667:7;10655:20;10647:28;;10710:1;10703:4;:8;10696:15;;;10524:195;;;:::o;10418:98::-;10475:7;10502:1;10500;:3;10499:9;;10507:1;10499:9;;;10505:1;10499:9;10492:16;;10418:98;;;;:::o;10727:483::-;5117:4;5108:6;;:13;;;;;;;;;;;;;;;;;;10805:21:::1;10843:1;10829:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10805:40;;10874:4;10856;10861:1;10856:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10900:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10890:4;10895:1;10890:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10933:62;10950:4;10965:15;;;;;;;;;;;10983:11;10933:8;:62::i;:::-;11006:15;;;;;;;;;;;:66;;;11087:11;11113:1;11129:4;11156;11176:15;11006:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10794:416;5153:5:::0;5144:6;;:14;;;;;;;;;;;;;;;;;;10727:483;:::o;993:179::-;1051:7;1071:9;1087:1;1083;:5;;;;:::i;:::-;1071:17;;1112:1;1107;:6;;1099:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1163:1;1156:8;;;993:179;;;;:::o;1180:136::-;1238:7;1265:43;1269:1;1272;1265:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1258:50;;1180:136;;;;:::o;1916:189::-;2002:7;2034:1;2030;:5;2037:12;2022:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2061:9;2077:1;2073;:5;;;;:::i;:::-;2061:17;;2096:1;2089:8;;;1916:189;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:329::-;3857:6;3906:2;3894:9;3885:7;3881:23;3877:32;3874:119;;;3912:79;;:::i;:::-;3874:119;4032:1;4057:53;4102:7;4093:6;4082:9;4078:22;4057:53;:::i;:::-;4047:63;;4003:117;3798:329;;;;:::o;4133:619::-;4210:6;4218;4226;4275:2;4263:9;4254:7;4250:23;4246:32;4243:119;;;4281:79;;:::i;:::-;4243:119;4401:1;4426:53;4471:7;4462:6;4451:9;4447:22;4426:53;:::i;:::-;4416:63;;4372:117;4528:2;4554:53;4599:7;4590:6;4579:9;4575:22;4554:53;:::i;:::-;4544:63;;4499:118;4656:2;4682:53;4727:7;4718:6;4707:9;4703:22;4682:53;:::i;:::-;4672:63;;4627:118;4133:619;;;;;:::o;4758:86::-;4793:7;4833:4;4826:5;4822:16;4811:27;;4758:86;;;:::o;4850:112::-;4933:22;4949:5;4933:22;:::i;:::-;4928:3;4921:35;4850:112;;:::o;4968:214::-;5057:4;5095:2;5084:9;5080:18;5072:26;;5108:67;5172:1;5161:9;5157:17;5148:6;5108:67;:::i;:::-;4968:214;;;;:::o;5188:911::-;5283:6;5291;5299;5307;5315;5364:3;5352:9;5343:7;5339:23;5335:33;5332:120;;;5371:79;;:::i;:::-;5332:120;5491:1;5516:53;5561:7;5552:6;5541:9;5537:22;5516:53;:::i;:::-;5506:63;;5462:117;5618:2;5644:53;5689:7;5680:6;5669:9;5665:22;5644:53;:::i;:::-;5634:63;;5589:118;5746:2;5772:53;5817:7;5808:6;5797:9;5793:22;5772:53;:::i;:::-;5762:63;;5717:118;5874:2;5900:53;5945:7;5936:6;5925:9;5921:22;5900:53;:::i;:::-;5890:63;;5845:118;6002:3;6029:53;6074:7;6065:6;6054:9;6050:22;6029:53;:::i;:::-;6019:63;;5973:119;5188:911;;;;;;;;:::o;6105:118::-;6192:24;6210:5;6192:24;:::i;:::-;6187:3;6180:37;6105:118;;:::o;6229:222::-;6322:4;6360:2;6349:9;6345:18;6337:26;;6373:71;6441:1;6430:9;6426:17;6417:6;6373:71;:::i;:::-;6229:222;;;;:::o;6457:329::-;6516:6;6565:2;6553:9;6544:7;6540:23;6536:32;6533:119;;;6571:79;;:::i;:::-;6533:119;6691:1;6716:53;6761:7;6752:6;6741:9;6737:22;6716:53;:::i;:::-;6706:63;;6662:117;6457:329;;;;:::o;6792:474::-;6860:6;6868;6917:2;6905:9;6896:7;6892:23;6888:32;6885:119;;;6923:79;;:::i;:::-;6885:119;7043:1;7068:53;7113:7;7104:6;7093:9;7089:22;7068:53;:::i;:::-;7058:63;;7014:117;7170:2;7196:53;7241:7;7232:6;7221:9;7217:22;7196:53;:::i;:::-;7186:63;;7141:118;6792:474;;;;;:::o;7272:180::-;7320:77;7317:1;7310:88;7417:4;7414:1;7407:15;7441:4;7438:1;7431:15;7458:102;7500:8;7547:5;7544:1;7540:13;7519:34;;7458:102;;;:::o;7566:848::-;7627:5;7634:4;7658:6;7649:15;;7682:5;7673:14;;7696:712;7717:1;7707:8;7704:15;7696:712;;;7812:4;7807:3;7803:14;7797:4;7794:24;7791:50;;;7821:18;;:::i;:::-;7791:50;7871:1;7861:8;7857:16;7854:451;;;8286:4;8279:5;8275:16;8266:25;;7854:451;8336:4;8330;8326:15;8318:23;;8366:32;8389:8;8366:32;:::i;:::-;8354:44;;7696:712;;;7566:848;;;;;;;:::o;8420:1073::-;8474:5;8665:8;8655:40;;8686:1;8677:10;;8688:5;;8655:40;8714:4;8704:36;;8731:1;8722:10;;8733:5;;8704:36;8800:4;8848:1;8843:27;;;;8884:1;8879:191;;;;8793:277;;8843:27;8861:1;8852:10;;8863:5;;;8879:191;8924:3;8914:8;8911:17;8908:43;;;8931:18;;:::i;:::-;8908:43;8980:8;8977:1;8973:16;8964:25;;9015:3;9008:5;9005:14;9002:40;;;9022:18;;:::i;:::-;9002:40;9055:5;;;8793:277;;9179:2;9169:8;9166:16;9160:3;9154:4;9151:13;9147:36;9129:2;9119:8;9116:16;9111:2;9105:4;9102:12;9098:35;9082:111;9079:246;;;9235:8;9229:4;9225:19;9216:28;;9270:3;9263:5;9260:14;9257:40;;;9277:18;;:::i;:::-;9257:40;9310:5;;9079:246;9350:42;9388:3;9378:8;9372:4;9369:1;9350:42;:::i;:::-;9335:57;;;;9424:4;9419:3;9415:14;9408:5;9405:25;9402:51;;;9433:18;;:::i;:::-;9402:51;9482:4;9475:5;9471:16;9462:25;;8420:1073;;;;;;:::o;9499:281::-;9557:5;9581:23;9599:4;9581:23;:::i;:::-;9573:31;;9625:25;9641:8;9625:25;:::i;:::-;9613:37;;9669:104;9706:66;9696:8;9690:4;9669:104;:::i;:::-;9660:113;;9499:281;;;;:::o;9786:410::-;9826:7;9849:20;9867:1;9849:20;:::i;:::-;9844:25;;9883:20;9901:1;9883:20;:::i;:::-;9878:25;;9938:1;9935;9931:9;9960:30;9978:11;9960:30;:::i;:::-;9949:41;;10139:1;10130:7;10126:15;10123:1;10120:22;10100:1;10093:9;10073:83;10050:139;;10169:18;;:::i;:::-;10050:139;9834:362;9786:410;;;;:::o;10202:60::-;10230:3;10251:5;10244:12;;10202:60;;;:::o;10268:142::-;10318:9;10351:53;10369:34;10378:24;10396:5;10378:24;:::i;:::-;10369:34;:::i;:::-;10351:53;:::i;:::-;10338:66;;10268:142;;;:::o;10416:126::-;10466:9;10499:37;10530:5;10499:37;:::i;:::-;10486:50;;10416:126;;;:::o;10548:134::-;10606:9;10639:37;10670:5;10639:37;:::i;:::-;10626:50;;10548:134;;;:::o;10688:147::-;10783:45;10822:5;10783:45;:::i;:::-;10778:3;10771:58;10688:147;;:::o;10841:348::-;10970:4;11008:2;10997:9;10993:18;10985:26;;11021:79;11097:1;11086:9;11082:17;11073:6;11021:79;:::i;:::-;11110:72;11178:2;11167:9;11163:18;11154:6;11110:72;:::i;:::-;10841:348;;;;;:::o;11195:116::-;11265:21;11280:5;11265:21;:::i;:::-;11258:5;11255:32;11245:60;;11301:1;11298;11291:12;11245:60;11195:116;:::o;11317:137::-;11371:5;11402:6;11396:13;11387:22;;11418:30;11442:5;11418:30;:::i;:::-;11317:137;;;;:::o;11460:345::-;11527:6;11576:2;11564:9;11555:7;11551:23;11547:32;11544:119;;;11582:79;;:::i;:::-;11544:119;11702:1;11727:61;11780:7;11771:6;11760:9;11756:22;11727:61;:::i;:::-;11717:71;;11673:125;11460:345;;;;:::o;11811:182::-;11951:34;11947:1;11939:6;11935:14;11928:58;11811:182;:::o;11999:366::-;12141:3;12162:67;12226:2;12221:3;12162:67;:::i;:::-;12155:74;;12238:93;12327:3;12238:93;:::i;:::-;12356:2;12351:3;12347:12;12340:19;;11999:366;;;:::o;12371:419::-;12537:4;12575:2;12564:9;12560:18;12552:26;;12624:9;12618:4;12614:20;12610:1;12599:9;12595:17;12588:47;12652:131;12778:4;12652:131;:::i;:::-;12644:139;;12371:419;;;:::o;12796:173::-;12936:25;12932:1;12924:6;12920:14;12913:49;12796:173;:::o;12975:366::-;13117:3;13138:67;13202:2;13197:3;13138:67;:::i;:::-;13131:74;;13214:93;13303:3;13214:93;:::i;:::-;13332:2;13327:3;13323:12;13316:19;;12975:366;;;:::o;13347:419::-;13513:4;13551:2;13540:9;13536:18;13528:26;;13600:9;13594:4;13590:20;13586:1;13575:9;13571:17;13564:47;13628:131;13754:4;13628:131;:::i;:::-;13620:139;;13347:419;;;:::o;13772:143::-;13829:5;13860:6;13854:13;13845:22;;13876:33;13903:5;13876:33;:::i;:::-;13772:143;;;;:::o;13921:351::-;13991:6;14040:2;14028:9;14019:7;14015:23;14011:32;14008:119;;;14046:79;;:::i;:::-;14008:119;14166:1;14191:64;14247:7;14238:6;14227:9;14223:22;14191:64;:::i;:::-;14181:74;;14137:128;13921:351;;;;:::o;14278:332::-;14399:4;14437:2;14426:9;14422:18;14414:26;;14450:71;14518:1;14507:9;14503:17;14494:6;14450:71;:::i;:::-;14531:72;14599:2;14588:9;14584:18;14575:6;14531:72;:::i;:::-;14278:332;;;;;:::o;14616:85::-;14661:7;14690:5;14679:16;;14616:85;;;:::o;14707:158::-;14765:9;14798:61;14816:42;14825:32;14851:5;14825:32;:::i;:::-;14816:42;:::i;:::-;14798:61;:::i;:::-;14785:74;;14707:158;;;:::o;14871:147::-;14966:45;15005:5;14966:45;:::i;:::-;14961:3;14954:58;14871:147;;:::o;15024:807::-;15273:4;15311:3;15300:9;15296:19;15288:27;;15325:71;15393:1;15382:9;15378:17;15369:6;15325:71;:::i;:::-;15406:72;15474:2;15463:9;15459:18;15450:6;15406:72;:::i;:::-;15488:80;15564:2;15553:9;15549:18;15540:6;15488:80;:::i;:::-;15578;15654:2;15643:9;15639:18;15630:6;15578:80;:::i;:::-;15668:73;15736:3;15725:9;15721:19;15712:6;15668:73;:::i;:::-;15751;15819:3;15808:9;15804:19;15795:6;15751:73;:::i;:::-;15024:807;;;;;;;;;:::o;15837:143::-;15894:5;15925:6;15919:13;15910:22;;15941:33;15968:5;15941:33;:::i;:::-;15837:143;;;;:::o;15986:663::-;16074:6;16082;16090;16139:2;16127:9;16118:7;16114:23;16110:32;16107:119;;;16145:79;;:::i;:::-;16107:119;16265:1;16290:64;16346:7;16337:6;16326:9;16322:22;16290:64;:::i;:::-;16280:74;;16236:128;16403:2;16429:64;16485:7;16476:6;16465:9;16461:22;16429:64;:::i;:::-;16419:74;;16374:129;16542:2;16568:64;16624:7;16615:6;16604:9;16600:22;16568:64;:::i;:::-;16558:74;;16513:129;15986:663;;;;;:::o;16655:332::-;16776:4;16814:2;16803:9;16799:18;16791:26;;16827:71;16895:1;16884:9;16880:17;16871:6;16827:71;:::i;:::-;16908:72;16976:2;16965:9;16961:18;16952:6;16908:72;:::i;:::-;16655:332;;;;;:::o;16993:223::-;17133:34;17129:1;17121:6;17117:14;17110:58;17202:6;17197:2;17189:6;17185:15;17178:31;16993:223;:::o;17222:366::-;17364:3;17385:67;17449:2;17444:3;17385:67;:::i;:::-;17378:74;;17461:93;17550:3;17461:93;:::i;:::-;17579:2;17574:3;17570:12;17563:19;;17222:366;;;:::o;17594:419::-;17760:4;17798:2;17787:9;17783:18;17775:26;;17847:9;17841:4;17837:20;17833:1;17822:9;17818:17;17811:47;17875:131;18001:4;17875:131;:::i;:::-;17867:139;;17594:419;;;:::o;18019:221::-;18159:34;18155:1;18147:6;18143:14;18136:58;18228:4;18223:2;18215:6;18211:15;18204:29;18019:221;:::o;18246:366::-;18388:3;18409:67;18473:2;18468:3;18409:67;:::i;:::-;18402:74;;18485:93;18574:3;18485:93;:::i;:::-;18603:2;18598:3;18594:12;18587:19;;18246:366;;;:::o;18618:419::-;18784:4;18822:2;18811:9;18807:18;18799:26;;18871:9;18865:4;18861:20;18857:1;18846:9;18842:17;18835:47;18899:131;19025:4;18899:131;:::i;:::-;18891:139;;18618:419;;;:::o;19043:164::-;19183:16;19179:1;19171:6;19167:14;19160:40;19043:164;:::o;19213:366::-;19355:3;19376:67;19440:2;19435:3;19376:67;:::i;:::-;19369:74;;19452:93;19541:3;19452:93;:::i;:::-;19570:2;19565:3;19561:12;19554:19;;19213:366;;;:::o;19585:419::-;19751:4;19789:2;19778:9;19774:18;19766:26;;19838:9;19832:4;19828:20;19824:1;19813:9;19809:17;19802:47;19866:131;19992:4;19866:131;:::i;:::-;19858:139;;19585:419;;;:::o;20010:224::-;20150:34;20146:1;20138:6;20134:14;20127:58;20219:7;20214:2;20206:6;20202:15;20195:32;20010:224;:::o;20240:366::-;20382:3;20403:67;20467:2;20462:3;20403:67;:::i;:::-;20396:74;;20479:93;20568:3;20479:93;:::i;:::-;20597:2;20592:3;20588:12;20581:19;;20240:366;;;:::o;20612:419::-;20778:4;20816:2;20805:9;20801:18;20793:26;;20865:9;20859:4;20855:20;20851:1;20840:9;20836:17;20829:47;20893:131;21019:4;20893:131;:::i;:::-;20885:139;;20612:419;;;:::o;21037:222::-;21177:34;21173:1;21165:6;21161:14;21154:58;21246:5;21241:2;21233:6;21229:15;21222:30;21037:222;:::o;21265:366::-;21407:3;21428:67;21492:2;21487:3;21428:67;:::i;:::-;21421:74;;21504:93;21593:3;21504:93;:::i;:::-;21622:2;21617:3;21613:12;21606:19;;21265:366;;;:::o;21637:419::-;21803:4;21841:2;21830:9;21826:18;21818:26;;21890:9;21884:4;21880:20;21876:1;21865:9;21861:17;21854:47;21918:131;22044:4;21918:131;:::i;:::-;21910:139;;21637:419;;;:::o;22062:228::-;22202:34;22198:1;22190:6;22186:14;22179:58;22271:11;22266:2;22258:6;22254:15;22247:36;22062:228;:::o;22296:366::-;22438:3;22459:67;22523:2;22518:3;22459:67;:::i;:::-;22452:74;;22535:93;22624:3;22535:93;:::i;:::-;22653:2;22648:3;22644:12;22637:19;;22296:366;;;:::o;22668:419::-;22834:4;22872:2;22861:9;22857:18;22849:26;;22921:9;22915:4;22911:20;22907:1;22896:9;22892:17;22885:47;22949:131;23075:4;22949:131;:::i;:::-;22941:139;;22668:419;;;:::o;23093:175::-;23233:27;23229:1;23221:6;23217:14;23210:51;23093:175;:::o;23274:366::-;23416:3;23437:67;23501:2;23496:3;23437:67;:::i;:::-;23430:74;;23513:93;23602:3;23513:93;:::i;:::-;23631:2;23626:3;23622:12;23615:19;;23274:366;;;:::o;23646:419::-;23812:4;23850:2;23839:9;23835:18;23827:26;;23899:9;23893:4;23889:20;23885:1;23874:9;23870:17;23863:47;23927:131;24053:4;23927:131;:::i;:::-;23919:139;;23646:419;;;:::o;24071:191::-;24111:3;24130:20;24148:1;24130:20;:::i;:::-;24125:25;;24164:20;24182:1;24164:20;:::i;:::-;24159:25;;24207:1;24204;24200:9;24193:16;;24228:3;24225:1;24222:10;24219:36;;;24235:18;;:::i;:::-;24219:36;24071:191;;;;:::o;24268:176::-;24408:28;24404:1;24396:6;24392:14;24385:52;24268:176;:::o;24450:366::-;24592:3;24613:67;24677:2;24672:3;24613:67;:::i;:::-;24606:74;;24689:93;24778:3;24689:93;:::i;:::-;24807:2;24802:3;24798:12;24791:19;;24450:366;;;:::o;24822:419::-;24988:4;25026:2;25015:9;25011:18;25003:26;;25075:9;25069:4;25065:20;25061:1;25050:9;25046:17;25039:47;25103:131;25229:4;25103:131;:::i;:::-;25095:139;;24822:419;;;:::o;25247:233::-;25286:3;25309:24;25327:5;25309:24;:::i;:::-;25300:33;;25355:66;25348:5;25345:77;25342:103;;25425:18;;:::i;:::-;25342:103;25472:1;25465:5;25461:13;25454:20;;25247:233;;;:::o;25486:165::-;25626:17;25622:1;25614:6;25610:14;25603:41;25486:165;:::o;25657:366::-;25799:3;25820:67;25884:2;25879:3;25820:67;:::i;:::-;25813:74;;25896:93;25985:3;25896:93;:::i;:::-;26014:2;26009:3;26005:12;25998:19;;25657:366;;;:::o;26029:419::-;26195:4;26233:2;26222:9;26218:18;26210:26;;26282:9;26276:4;26272:20;26268:1;26257:9;26253:17;26246:47;26310:131;26436:4;26310:131;:::i;:::-;26302:139;;26029:419;;;:::o;26454:194::-;26494:4;26514:20;26532:1;26514:20;:::i;:::-;26509:25;;26548:20;26566:1;26548:20;:::i;:::-;26543:25;;26592:1;26589;26585:9;26577:17;;26616:1;26610:4;26607:11;26604:37;;;26621:18;;:::i;:::-;26604:37;26454:194;;;;:::o;26654:180::-;26702:77;26699:1;26692:88;26799:4;26796:1;26789:15;26823:4;26820:1;26813:15;26840:185;26880:1;26897:20;26915:1;26897:20;:::i;:::-;26892:25;;26931:20;26949:1;26931:20;:::i;:::-;26926:25;;26970:1;26960:35;;26975:18;;:::i;:::-;26960:35;27017:1;27014;27010:9;27005:14;;26840:185;;;;:::o;27031:220::-;27171:34;27167:1;27159:6;27155:14;27148:58;27240:3;27235:2;27227:6;27223:15;27216:28;27031:220;:::o;27257:366::-;27399:3;27420:67;27484:2;27479:3;27420:67;:::i;:::-;27413:74;;27496:93;27585:3;27496:93;:::i;:::-;27614:2;27609:3;27605:12;27598:19;;27257:366;;;:::o;27629:419::-;27795:4;27833:2;27822:9;27818:18;27810:26;;27882:9;27876:4;27872:20;27868:1;27857:9;27853:17;27846:47;27910:131;28036:4;27910:131;:::i;:::-;27902:139;;27629:419;;;:::o;28054:180::-;28102:77;28099:1;28092:88;28199:4;28196:1;28189:15;28223:4;28220:1;28213:15;28240:180;28288:77;28285:1;28278:88;28385:4;28382:1;28375:15;28409:4;28406:1;28399:15;28426:114;28493:6;28527:5;28521:12;28511:22;;28426:114;;;:::o;28546:184::-;28645:11;28679:6;28674:3;28667:19;28719:4;28714:3;28710:14;28695:29;;28546:184;;;;:::o;28736:132::-;28803:4;28826:3;28818:11;;28856:4;28851:3;28847:14;28839:22;;28736:132;;;:::o;28874:108::-;28951:24;28969:5;28951:24;:::i;:::-;28946:3;28939:37;28874:108;;:::o;28988:179::-;29057:10;29078:46;29120:3;29112:6;29078:46;:::i;:::-;29156:4;29151:3;29147:14;29133:28;;28988:179;;;;:::o;29173:113::-;29243:4;29275;29270:3;29266:14;29258:22;;29173:113;;;:::o;29322:732::-;29441:3;29470:54;29518:5;29470:54;:::i;:::-;29540:86;29619:6;29614:3;29540:86;:::i;:::-;29533:93;;29650:56;29700:5;29650:56;:::i;:::-;29729:7;29760:1;29745:284;29770:6;29767:1;29764:13;29745:284;;;29846:6;29840:13;29873:63;29932:3;29917:13;29873:63;:::i;:::-;29866:70;;29959:60;30012:6;29959:60;:::i;:::-;29949:70;;29805:224;29792:1;29789;29785:9;29780:14;;29745:284;;;29749:14;30045:3;30038:10;;29446:608;;;29322:732;;;;:::o;30060:831::-;30323:4;30361:3;30350:9;30346:19;30338:27;;30375:71;30443:1;30432:9;30428:17;30419:6;30375:71;:::i;:::-;30456:80;30532:2;30521:9;30517:18;30508:6;30456:80;:::i;:::-;30583:9;30577:4;30573:20;30568:2;30557:9;30553:18;30546:48;30611:108;30714:4;30705:6;30611:108;:::i;:::-;30603:116;;30729:72;30797:2;30786:9;30782:18;30773:6;30729:72;:::i;:::-;30811:73;30879:3;30868:9;30864:19;30855:6;30811:73;:::i;:::-;30060:831;;;;;;;;:::o;30897:177::-;31037:29;31033:1;31025:6;31021:14;31014:53;30897:177;:::o;31080:366::-;31222:3;31243:67;31307:2;31302:3;31243:67;:::i;:::-;31236:74;;31319:93;31408:3;31319:93;:::i;:::-;31437:2;31432:3;31428:12;31421:19;;31080:366;;;:::o;31452:419::-;31618:4;31656:2;31645:9;31641:18;31633:26;;31705:9;31699:4;31695:20;31691:1;31680:9;31676:17;31669:47;31733:131;31859:4;31733:131;:::i;:::-;31725:139;;31452:419;;;:::o
Swarm Source
ipfs://f4de21902248cdf98b4e22f0b5a6858fcc30bba394d242a185abfa6558d7a2fc
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.