ERC-20
Overview
Max Total Supply
1,000,000,000,000 OKAMIMATA
Holders
27
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
8,192,800,000 OKAMIMATAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Okamimata
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-03-05 */ /** https://okamimata.com/ WEKCOME TO THE ERA OF 0 GAS!! */ //SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.10; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } contract Ownable is Context { address private _owner; address private _previousOwner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); } contract Okamimata is Context, IERC20, Ownable { //// mapping (address => uint) private _owned; mapping (address => mapping (address => uint)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => User) private cooldown; uint private constant _totalSupply = 1e12 * 10**9; string public constant name = unicode"Okamimata"; //// string public constant symbol = unicode"OKAMIMATA"; //// uint8 public constant decimals = 9; IUniswapV2Router02 private uniswapV2Router; address payable public _FeeAddress1; address payable public _FeeAddress2; address public uniswapV2Pair; uint public _buyFee = 12; uint public _sellFee = 14; uint public _feeRate = 9; uint public _maxBuyAmount; uint public _maxHeldTokens; uint public _launchedAt; bool private _tradingOpen; bool private _inSwap; bool public _useImpactFeeSetter = true; struct User { uint buy; bool exists; } event FeeMultiplierUpdated(uint _multiplier); event ImpactFeeSetterUpdated(bool _usefeesetter); event FeeRateUpdated(uint _rate); event FeesUpdated(uint _buy, uint _sell); event FeeAddress1Updated(address _feewallet1); event FeeAddress2Updated(address _feewallet2); modifier lockTheSwap { _inSwap = true; _; _inSwap = false; } constructor (address payable FeeAddress1, address payable FeeAddress2) { _FeeAddress1 = FeeAddress1; _FeeAddress2 = FeeAddress2; _owned[address(this)] = _totalSupply; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[FeeAddress1] = true; _isExcludedFromFee[FeeAddress2] = true; emit Transfer(address(0), address(this), _totalSupply); } function balanceOf(address account) public view override returns (uint) { return _owned[account]; } function transfer(address recipient, uint amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function totalSupply() public pure override returns (uint) { return _totalSupply; } function allowance(address owner, address spender) public view override returns (uint) { return _allowances[owner][spender]; } function approve(address spender, uint amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint amount) public override returns (bool) { if(_tradingOpen && !_isExcludedFromFee[recipient] && sender == uniswapV2Pair){ require (recipient == tx.origin, "pls no bot"); } _transfer(sender, recipient, amount); uint allowedAmount = _allowances[sender][_msgSender()] - amount; _approve(sender, _msgSender(), allowedAmount); return true; } function _approve(address owner, address spender, uint amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint 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"); bool isBuy = false; if(from != owner() && to != owner()) { // buy if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) { require(_tradingOpen, "Trading not yet enabled."); require(block.timestamp != _launchedAt, "pls no snip"); if((_launchedAt + (1 hours)) > block.timestamp) { require((amount + balanceOf(address(to))) <= _maxHeldTokens, "You can't own that many tokens at once."); // 5% } if(!cooldown[to].exists) { cooldown[to] = User(0,true); } if((_launchedAt + (120 seconds)) > block.timestamp) { require(amount <= _maxBuyAmount, "Exceeds maximum buy amount."); require(cooldown[to].buy < block.timestamp + (30 seconds), "Your buy cooldown has not expired."); } cooldown[to].buy = block.timestamp; isBuy = true; } // sell if(!_inSwap && _tradingOpen && from != uniswapV2Pair) { require(cooldown[from].buy < block.timestamp + (15 seconds), "Your sell cooldown has not expired."); uint contractTokenBalance = balanceOf(address(this)); if(contractTokenBalance > 0) { if(_useImpactFeeSetter) { if(contractTokenBalance > (balanceOf(uniswapV2Pair) * _feeRate) / 100) { contractTokenBalance = (balanceOf(uniswapV2Pair) * _feeRate) / 100; } } swapTokensForEth(contractTokenBalance); } uint contractETHBalance = address(this).balance; if(contractETHBalance > 0) { sendETHToFee(address(this).balance); } isBuy = false; } } bool takeFee = true; if(_isExcludedFromFee[from] || _isExcludedFromFee[to]){ takeFee = false; } _tokenTransfer(from,to,amount,takeFee,isBuy); } function swapTokensForEth(uint tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); _approve(address(this), address(uniswapV2Router), tokenAmount); uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function sendETHToFee(uint amount) private { _FeeAddress1.transfer(amount / 2); _FeeAddress2.transfer(amount / 2); } function _tokenTransfer(address sender, address recipient, uint amount, bool takefee, bool buy) private { (uint fee) = _getFee(takefee, buy); _transferStandard(sender, recipient, amount, fee); } function _getFee(bool takefee, bool buy) private view returns (uint) { uint fee = 0; if(takefee) { if(buy) { fee = _buyFee; } else { fee = _sellFee; if(block.timestamp < _launchedAt + (1 hours)) { fee += 13; } } } return fee; } function _transferStandard(address sender, address recipient, uint amount, uint fee) private { (uint transferAmount, uint team) = _getValues(amount, fee); _owned[sender] = _owned[sender] - amount; _owned[recipient] = _owned[recipient] + transferAmount; _takeTeam(team); emit Transfer(sender, recipient, transferAmount); } function _getValues(uint amount, uint teamFee) private pure returns (uint, uint) { uint team = (amount * teamFee) / 100; uint transferAmount = amount - team; return (transferAmount, team); } function _takeTeam(uint team) private { _owned[address(this)] = _owned[address(this)] + team; } receive() external payable {} // external functions function addLiquidity() external onlyOwner() { require(!_tradingOpen, "Trading is already open"); IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), _totalSupply); 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); } function openTrading() external onlyOwner() { require(!_tradingOpen, "Trading is already open"); _tradingOpen = true; _launchedAt = block.timestamp; _maxBuyAmount = 10000000000 * 10**9; // 1% _maxHeldTokens = 30000000000 * 10**9; // 3% } function manualswap() external { require(_msgSender() == _FeeAddress1); uint contractBalance = balanceOf(address(this)); swapTokensForEth(contractBalance); } function manualsend() external { require(_msgSender() == _FeeAddress1); uint contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } function setFeeRate(uint rate) external { require(_msgSender() == _FeeAddress1); require(rate > 0, "Rate can't be zero"); // 100% is the common fee rate _feeRate = rate; emit FeeRateUpdated(_feeRate); } function setFees(uint buy, uint sell) external { require(_msgSender() == _FeeAddress1); _buyFee = buy; _sellFee = sell; emit FeesUpdated(_buyFee, _sellFee); } function toggleImpactFee(bool onoff) external { require(_msgSender() == _FeeAddress1); _useImpactFeeSetter = onoff; emit ImpactFeeSetterUpdated(_useImpactFeeSetter); } function updateFeeAddress1(address newAddress) external { require(_msgSender() == _FeeAddress1); _FeeAddress1 = payable(newAddress); emit FeeAddress1Updated(_FeeAddress1); } function updateFeeAddress2(address newAddress) external { require(_msgSender() == _FeeAddress2); _FeeAddress2 = payable(newAddress); emit FeeAddress2Updated(_FeeAddress2); } // view functions function thisBalance() public view returns (uint) { return balanceOf(address(this)); } function amountInPool() public view returns (uint) { return balanceOf(uniswapV2Pair); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address payable","name":"FeeAddress1","type":"address"},{"internalType":"address payable","name":"FeeAddress2","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":"address","name":"_feewallet1","type":"address"}],"name":"FeeAddress1Updated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_feewallet2","type":"address"}],"name":"FeeAddress2Updated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_multiplier","type":"uint256"}],"name":"FeeMultiplierUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"FeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_buy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"FeesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_usefeesetter","type":"bool"}],"name":"ImpactFeeSetterUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_FeeAddress1","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_FeeAddress2","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_feeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxHeldTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_useImpactFeeSetter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","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":[],"name":"amountInPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"name":"setFeeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"toggleImpactFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateFeeAddress1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"updateFeeAddress2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600c600a55600e600b556009600c556001601060026101000a81548160ff0219169083151502179055503480156200003b57600080fd5b5060405162003f1338038062003f13833981810160405281019062000061919062000463565b600062000073620003c860201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550683635c9adc5dea00000600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160046000620001f6620003d060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea00000604051620003b89190620004c5565b60405180910390a35050620004e2565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200042b82620003fe565b9050919050565b6200043d816200041e565b81146200044957600080fd5b50565b6000815190506200045d8162000432565b92915050565b600080604083850312156200047d576200047c620003f9565b5b60006200048d858286016200044c565b9250506020620004a0858286016200044c565b9150509250929050565b6000819050919050565b620004bf81620004aa565b82525050565b6000602082019050620004dc6000830184620004b4565b92915050565b613a2180620004f26000396000f3fe6080604052600436106101e75760003560e01c80635090161711610102578063a9059cbb11610095578063db92dbb611610064578063db92dbb614610697578063dcb0e0ad146106c2578063dd62ed3e146106eb578063e8078d9414610728576101ee565b8063a9059cbb14610601578063b2131f7d1461063e578063c3c8cd8014610669578063c9567bf914610680576101ee565b8063715018a6116100d1578063715018a6146105695780638da5cb5b1461058057806394b8d8f2146105ab57806395d89b41146105d6576101ee565b806350901617146104c1578063590f897e146104ea5780636fc3eaec1461051557806370a082311461052c576101ee565b806327f3a72a1161017a5780633bed4355116101495780633bed43551461041757806340b9a54b1461044257806345596e2e1461046d57806349bd5a5e14610496576101ee565b806327f3a72a1461036b578063313ce5671461039657806332d873d8146103c1578063367c5544146103ec576101ee565b80630b78f9c0116101b65780630b78f9c0146102af57806318160ddd146102d85780631940d0201461030357806323b872dd1461032e576101ee565b80630492f055146101f357806306fdde031461021e5780630802d2f614610249578063095ea7b314610272576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b5061020861073f565b6040516102159190612903565b60405180910390f35b34801561022a57600080fd5b50610233610745565b60405161024091906129b7565b60405180910390f35b34801561025557600080fd5b50610270600480360381019061026b9190612a3c565b61077e565b005b34801561027e57600080fd5b5061029960048036038101906102949190612a95565b61087c565b6040516102a69190612af0565b60405180910390f35b3480156102bb57600080fd5b506102d660048036038101906102d19190612b0b565b61089a565b005b3480156102e457600080fd5b506102ed61094a565b6040516102fa9190612903565b60405180910390f35b34801561030f57600080fd5b5061031861095b565b6040516103259190612903565b60405180910390f35b34801561033a57600080fd5b5061035560048036038101906103509190612b4b565b610961565b6040516103629190612af0565b60405180910390f35b34801561037757600080fd5b50610380610b52565b60405161038d9190612903565b60405180910390f35b3480156103a257600080fd5b506103ab610b62565b6040516103b89190612bba565b60405180910390f35b3480156103cd57600080fd5b506103d6610b67565b6040516103e39190612903565b60405180910390f35b3480156103f857600080fd5b50610401610b6d565b60405161040e9190612bf6565b60405180910390f35b34801561042357600080fd5b5061042c610b93565b6040516104399190612bf6565b60405180910390f35b34801561044e57600080fd5b50610457610bb9565b6040516104649190612903565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f9190612c11565b610bbf565b005b3480156104a257600080fd5b506104ab610ca6565b6040516104b89190612c4d565b60405180910390f35b3480156104cd57600080fd5b506104e860048036038101906104e39190612a3c565b610ccc565b005b3480156104f657600080fd5b506104ff610dca565b60405161050c9190612903565b60405180910390f35b34801561052157600080fd5b5061052a610dd0565b005b34801561053857600080fd5b50610553600480360381019061054e9190612a3c565b610e42565b6040516105609190612903565b60405180910390f35b34801561057557600080fd5b5061057e610e8b565b005b34801561058c57600080fd5b50610595610fde565b6040516105a29190612c4d565b60405180910390f35b3480156105b757600080fd5b506105c0611007565b6040516105cd9190612af0565b60405180910390f35b3480156105e257600080fd5b506105eb61101a565b6040516105f891906129b7565b60405180910390f35b34801561060d57600080fd5b5061062860048036038101906106239190612a95565b611053565b6040516106359190612af0565b60405180910390f35b34801561064a57600080fd5b50610653611071565b6040516106609190612903565b60405180910390f35b34801561067557600080fd5b5061067e611077565b005b34801561068c57600080fd5b506106956110f1565b005b3480156106a357600080fd5b506106ac611219565b6040516106b99190612903565b60405180910390f35b3480156106ce57600080fd5b506106e960048036038101906106e49190612c94565b61124b565b005b3480156106f757600080fd5b50610712600480360381019061070d9190612cc1565b61130f565b60405161071f9190612903565b60405180910390f35b34801561073457600080fd5b5061073d611396565b005b600d5481565b6040518060400160405280600981526020017f4f6b616d696d617461000000000000000000000000000000000000000000000081525081565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107bf611847565b73ffffffffffffffffffffffffffffffffffffffff16146107df57600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0e96f8986653644392af4a5daec8b04a389af0d497572173e63846ccd26c843c600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516108719190612d60565b60405180910390a150565b6000610890610889611847565b848461184f565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108db611847565b73ffffffffffffffffffffffffffffffffffffffff16146108fb57600080fd5b81600a8190555080600b819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1600a54600b5460405161093e929190612d7b565b60405180910390a15050565b6000683635c9adc5dea00000905090565b600e5481565b6000601060009054906101000a900460ff1680156109c95750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015610a225750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15610a96573273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8c90612df0565b60405180910390fd5b5b610aa1848484611a1a565b600082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610aed611847565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b329190612e3f565b9050610b4685610b40611847565b8361184f565b60019150509392505050565b6000610b5d30610e42565b905090565b600981565b600f5481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c00611847565b73ffffffffffffffffffffffffffffffffffffffff1614610c2057600080fd5b60008111610c63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5a90612ebf565b60405180910390fd5b80600c819055507f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8600c54604051610c9b9190612903565b60405180910390a150565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d0d611847565b73ffffffffffffffffffffffffffffffffffffffff1614610d2d57600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f96511497113ddf59712b28350d7457b9c300ab227616bd3b451745a395a53014600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610dbf9190612d60565b60405180910390a150565b600b5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e11611847565b73ffffffffffffffffffffffffffffffffffffffff1614610e3157600080fd5b6000479050610e3f8161229b565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e93611847565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1790612f2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601060029054906101000a900460ff1681565b6040518060400160405280600981526020017f4f4b414d494d415441000000000000000000000000000000000000000000000081525081565b6000611067611060611847565b8484611a1a565b6001905092915050565b600c5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110b8611847565b73ffffffffffffffffffffffffffffffffffffffff16146110d857600080fd5b60006110e330610e42565b90506110ee81612388565b50565b6110f9611847565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117d90612f2b565b60405180910390fd5b601060009054906101000a900460ff16156111d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cd90612f97565b60405180910390fd5b6001601060006101000a81548160ff02191690831515021790555042600f81905550678ac7230489e80000600d819055506801a055690d9db80000600e81905550565b6000611246600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e42565b905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661128c611847565b73ffffffffffffffffffffffffffffffffffffffff16146112ac57600080fd5b80601060026101000a81548160ff0219169083151502179055507ff65c78d1059dbb9ec90732848bcfebbec05ac40af847d3c19adcad63379d3aeb601060029054906101000a900460ff166040516113049190612af0565b60405180910390a150565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61139e611847565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461142b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142290612f2b565b60405180910390fd5b601060009054906101000a900460ff161561147b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147290612f97565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061150b30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea0000061184f565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611556573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157a9190612fcc565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116059190612fcc565b6040518363ffffffff1660e01b8152600401611622929190612ff9565b6020604051808303816000875af1158015611641573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116659190612fcc565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306116ee30610e42565b6000806116f9610fde565b426040518863ffffffff1660e01b815260040161171b9695949392919061305d565b60606040518083038185885af1158015611739573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061175e91906130d3565b505050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611800929190613126565b6020604051808303816000875af115801561181f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118439190613164565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b690613203565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561192f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192690613295565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a0d9190612903565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8190613327565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611afa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af1906133b9565b60405180910390fd5b60008111611b3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b349061344b565b60405180910390fd5b6000611b47610fde565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611bb55750611b85610fde565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156121d657600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c655750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611cbb5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611fd657601060009054906101000a900460ff16611d0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d06906134b7565b60405180910390fd5b600f54421415611d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4b90613523565b60405180910390fd5b42610e10600f54611d659190613543565b1115611dc457600e54611d7784610e42565b83611d829190613543565b1115611dc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dba9061360b565b60405180910390fd5b5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff16611e9e5760405180604001604052806000815260200160011515815250600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff0219169083151502179055509050505b426078600f54611eae9190613543565b1115611f8a57600d54821115611ef9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef090613677565b60405180910390fd5b601e42611f069190613543565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410611f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8090613709565b60405180910390fd5b5b42600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550600190505b601060019054906101000a900460ff16158015611fff5750601060009054906101000a900460ff165b80156120595750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156121d557600f4261206b9190613543565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154106120ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e59061379b565b60405180910390fd5b60006120f930610e42565b905060008111156121b657601060029054906101000a900460ff16156121ac576064600c54612149600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e42565b61215391906137bb565b61215d9190613844565b8111156121ab576064600c54612194600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e42565b61219e91906137bb565b6121a89190613844565b90505b5b6121b581612388565b5b600047905060008111156121ce576121cd4761229b565b5b6000925050505b5b600060019050600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061227d5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561228757600090505b6122948585858486612601565b5050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6002836122e49190613844565b9081150290604051600060405180830381858888f1935050505015801561230f573d6000803e3d6000fd5b50600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6002836123599190613844565b9081150290604051600060405180830381858888f19350505050158015612384573d6000803e3d6000fd5b5050565b6001601060016101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156123c0576123bf613875565b5b6040519080825280602002602001820160405280156123ee5781602001602082028036833780820191505090505b5090503081600081518110612406576124056138a4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124d19190612fcc565b816001815181106124e5576124e46138a4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061254c30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461184f565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016125b0959493929190613991565b600060405180830381600087803b1580156125ca57600080fd5b505af11580156125de573d6000803e3d6000fd5b50505050506000601060016101000a81548160ff02191690831515021790555050565b600061260d8383612623565b905061261b86868684612678565b505050505050565b60008060009050831561266e57821561264057600a54905061266d565b600b549050610e10600f546126559190613543565b42101561266c57600d816126699190613543565b90505b5b5b8091505092915050565b600080612685848461281b565b9150915083600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d49190612e3f565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127629190613543565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127ae81612859565b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161280b9190612903565b60405180910390a3505050505050565b60008060006064848661282e91906137bb565b6128389190613844565b9050600081866128489190612e3f565b905080829350935050509250929050565b80600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128a49190613543565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000819050919050565b6128fd816128ea565b82525050565b600060208201905061291860008301846128f4565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561295857808201518184015260208101905061293d565b83811115612967576000848401525b50505050565b6000601f19601f8301169050919050565b60006129898261291e565b6129938185612929565b93506129a381856020860161293a565b6129ac8161296d565b840191505092915050565b600060208201905081810360008301526129d1818461297e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a09826129de565b9050919050565b612a19816129fe565b8114612a2457600080fd5b50565b600081359050612a3681612a10565b92915050565b600060208284031215612a5257612a516129d9565b5b6000612a6084828501612a27565b91505092915050565b612a72816128ea565b8114612a7d57600080fd5b50565b600081359050612a8f81612a69565b92915050565b60008060408385031215612aac57612aab6129d9565b5b6000612aba85828601612a27565b9250506020612acb85828601612a80565b9150509250929050565b60008115159050919050565b612aea81612ad5565b82525050565b6000602082019050612b056000830184612ae1565b92915050565b60008060408385031215612b2257612b216129d9565b5b6000612b3085828601612a80565b9250506020612b4185828601612a80565b9150509250929050565b600080600060608486031215612b6457612b636129d9565b5b6000612b7286828701612a27565b9350506020612b8386828701612a27565b9250506040612b9486828701612a80565b9150509250925092565b600060ff82169050919050565b612bb481612b9e565b82525050565b6000602082019050612bcf6000830184612bab565b92915050565b6000612be0826129de565b9050919050565b612bf081612bd5565b82525050565b6000602082019050612c0b6000830184612be7565b92915050565b600060208284031215612c2757612c266129d9565b5b6000612c3584828501612a80565b91505092915050565b612c47816129fe565b82525050565b6000602082019050612c626000830184612c3e565b92915050565b612c7181612ad5565b8114612c7c57600080fd5b50565b600081359050612c8e81612c68565b92915050565b600060208284031215612caa57612ca96129d9565b5b6000612cb884828501612c7f565b91505092915050565b60008060408385031215612cd857612cd76129d9565b5b6000612ce685828601612a27565b9250506020612cf785828601612a27565b9150509250929050565b6000819050919050565b6000612d26612d21612d1c846129de565b612d01565b6129de565b9050919050565b6000612d3882612d0b565b9050919050565b6000612d4a82612d2d565b9050919050565b612d5a81612d3f565b82525050565b6000602082019050612d756000830184612d51565b92915050565b6000604082019050612d9060008301856128f4565b612d9d60208301846128f4565b9392505050565b7f706c73206e6f20626f7400000000000000000000000000000000000000000000600082015250565b6000612dda600a83612929565b9150612de582612da4565b602082019050919050565b60006020820190508181036000830152612e0981612dcd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612e4a826128ea565b9150612e55836128ea565b925082821015612e6857612e67612e10565b5b828203905092915050565b7f526174652063616e2774206265207a65726f0000000000000000000000000000600082015250565b6000612ea9601283612929565b9150612eb482612e73565b602082019050919050565b60006020820190508181036000830152612ed881612e9c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612f15602083612929565b9150612f2082612edf565b602082019050919050565b60006020820190508181036000830152612f4481612f08565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612f81601783612929565b9150612f8c82612f4b565b602082019050919050565b60006020820190508181036000830152612fb081612f74565b9050919050565b600081519050612fc681612a10565b92915050565b600060208284031215612fe257612fe16129d9565b5b6000612ff084828501612fb7565b91505092915050565b600060408201905061300e6000830185612c3e565b61301b6020830184612c3e565b9392505050565b6000819050919050565b600061304761304261303d84613022565b612d01565b6128ea565b9050919050565b6130578161302c565b82525050565b600060c0820190506130726000830189612c3e565b61307f60208301886128f4565b61308c604083018761304e565b613099606083018661304e565b6130a66080830185612c3e565b6130b360a08301846128f4565b979650505050505050565b6000815190506130cd81612a69565b92915050565b6000806000606084860312156130ec576130eb6129d9565b5b60006130fa868287016130be565b935050602061310b868287016130be565b925050604061311c868287016130be565b9150509250925092565b600060408201905061313b6000830185612c3e565b61314860208301846128f4565b9392505050565b60008151905061315e81612c68565b92915050565b60006020828403121561317a576131796129d9565b5b60006131888482850161314f565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131ed602483612929565b91506131f882613191565b604082019050919050565b6000602082019050818103600083015261321c816131e0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061327f602283612929565b915061328a82613223565b604082019050919050565b600060208201905081810360008301526132ae81613272565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613311602583612929565b915061331c826132b5565b604082019050919050565b6000602082019050818103600083015261334081613304565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006133a3602383612929565b91506133ae82613347565b604082019050919050565b600060208201905081810360008301526133d281613396565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613435602983612929565b9150613440826133d9565b604082019050919050565b6000602082019050818103600083015261346481613428565b9050919050565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b60006134a1601883612929565b91506134ac8261346b565b602082019050919050565b600060208201905081810360008301526134d081613494565b9050919050565b7f706c73206e6f20736e6970000000000000000000000000000000000000000000600082015250565b600061350d600b83612929565b9150613518826134d7565b602082019050919050565b6000602082019050818103600083015261353c81613500565b9050919050565b600061354e826128ea565b9150613559836128ea565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561358e5761358d612e10565b5b828201905092915050565b7f596f752063616e2774206f776e2074686174206d616e7920746f6b656e73206160008201527f74206f6e63652e00000000000000000000000000000000000000000000000000602082015250565b60006135f5602783612929565b915061360082613599565b604082019050919050565b60006020820190508181036000830152613624816135e8565b9050919050565b7f45786365656473206d6178696d756d2062757920616d6f756e742e0000000000600082015250565b6000613661601b83612929565b915061366c8261362b565b602082019050919050565b6000602082019050818103600083015261369081613654565b9050919050565b7f596f75722062757920636f6f6c646f776e20686173206e6f742065787069726560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b60006136f3602283612929565b91506136fe82613697565b604082019050919050565b60006020820190508181036000830152613722816136e6565b9050919050565b7f596f75722073656c6c20636f6f6c646f776e20686173206e6f7420657870697260008201527f65642e0000000000000000000000000000000000000000000000000000000000602082015250565b6000613785602383612929565b915061379082613729565b604082019050919050565b600060208201905081810360008301526137b481613778565b9050919050565b60006137c6826128ea565b91506137d1836128ea565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561380a57613809612e10565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061384f826128ea565b915061385a836128ea565b92508261386a57613869613815565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613908816129fe565b82525050565b600061391a83836138ff565b60208301905092915050565b6000602082019050919050565b600061393e826138d3565b61394881856138de565b9350613953836138ef565b8060005b8381101561398457815161396b888261390e565b975061397683613926565b925050600181019050613957565b5085935050505092915050565b600060a0820190506139a660008301886128f4565b6139b3602083018761304e565b81810360408301526139c58186613933565b90506139d46060830185612c3e565b6139e160808301846128f4565b969550505050505056fea26469706673582212209ccf740f5f8dadfb58802990dea25f3b488df6dd2559f45e5acf26813185d7d264736f6c634300080a003300000000000000000000000078275cf00ec2ad480055ee764e40a0eb9037d80a00000000000000000000000089e35053f0e668c12a80241f056047691c9ecd8a
Deployed Bytecode
0x6080604052600436106101e75760003560e01c80635090161711610102578063a9059cbb11610095578063db92dbb611610064578063db92dbb614610697578063dcb0e0ad146106c2578063dd62ed3e146106eb578063e8078d9414610728576101ee565b8063a9059cbb14610601578063b2131f7d1461063e578063c3c8cd8014610669578063c9567bf914610680576101ee565b8063715018a6116100d1578063715018a6146105695780638da5cb5b1461058057806394b8d8f2146105ab57806395d89b41146105d6576101ee565b806350901617146104c1578063590f897e146104ea5780636fc3eaec1461051557806370a082311461052c576101ee565b806327f3a72a1161017a5780633bed4355116101495780633bed43551461041757806340b9a54b1461044257806345596e2e1461046d57806349bd5a5e14610496576101ee565b806327f3a72a1461036b578063313ce5671461039657806332d873d8146103c1578063367c5544146103ec576101ee565b80630b78f9c0116101b65780630b78f9c0146102af57806318160ddd146102d85780631940d0201461030357806323b872dd1461032e576101ee565b80630492f055146101f357806306fdde031461021e5780630802d2f614610249578063095ea7b314610272576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b5061020861073f565b6040516102159190612903565b60405180910390f35b34801561022a57600080fd5b50610233610745565b60405161024091906129b7565b60405180910390f35b34801561025557600080fd5b50610270600480360381019061026b9190612a3c565b61077e565b005b34801561027e57600080fd5b5061029960048036038101906102949190612a95565b61087c565b6040516102a69190612af0565b60405180910390f35b3480156102bb57600080fd5b506102d660048036038101906102d19190612b0b565b61089a565b005b3480156102e457600080fd5b506102ed61094a565b6040516102fa9190612903565b60405180910390f35b34801561030f57600080fd5b5061031861095b565b6040516103259190612903565b60405180910390f35b34801561033a57600080fd5b5061035560048036038101906103509190612b4b565b610961565b6040516103629190612af0565b60405180910390f35b34801561037757600080fd5b50610380610b52565b60405161038d9190612903565b60405180910390f35b3480156103a257600080fd5b506103ab610b62565b6040516103b89190612bba565b60405180910390f35b3480156103cd57600080fd5b506103d6610b67565b6040516103e39190612903565b60405180910390f35b3480156103f857600080fd5b50610401610b6d565b60405161040e9190612bf6565b60405180910390f35b34801561042357600080fd5b5061042c610b93565b6040516104399190612bf6565b60405180910390f35b34801561044e57600080fd5b50610457610bb9565b6040516104649190612903565b60405180910390f35b34801561047957600080fd5b50610494600480360381019061048f9190612c11565b610bbf565b005b3480156104a257600080fd5b506104ab610ca6565b6040516104b89190612c4d565b60405180910390f35b3480156104cd57600080fd5b506104e860048036038101906104e39190612a3c565b610ccc565b005b3480156104f657600080fd5b506104ff610dca565b60405161050c9190612903565b60405180910390f35b34801561052157600080fd5b5061052a610dd0565b005b34801561053857600080fd5b50610553600480360381019061054e9190612a3c565b610e42565b6040516105609190612903565b60405180910390f35b34801561057557600080fd5b5061057e610e8b565b005b34801561058c57600080fd5b50610595610fde565b6040516105a29190612c4d565b60405180910390f35b3480156105b757600080fd5b506105c0611007565b6040516105cd9190612af0565b60405180910390f35b3480156105e257600080fd5b506105eb61101a565b6040516105f891906129b7565b60405180910390f35b34801561060d57600080fd5b5061062860048036038101906106239190612a95565b611053565b6040516106359190612af0565b60405180910390f35b34801561064a57600080fd5b50610653611071565b6040516106609190612903565b60405180910390f35b34801561067557600080fd5b5061067e611077565b005b34801561068c57600080fd5b506106956110f1565b005b3480156106a357600080fd5b506106ac611219565b6040516106b99190612903565b60405180910390f35b3480156106ce57600080fd5b506106e960048036038101906106e49190612c94565b61124b565b005b3480156106f757600080fd5b50610712600480360381019061070d9190612cc1565b61130f565b60405161071f9190612903565b60405180910390f35b34801561073457600080fd5b5061073d611396565b005b600d5481565b6040518060400160405280600981526020017f4f6b616d696d617461000000000000000000000000000000000000000000000081525081565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107bf611847565b73ffffffffffffffffffffffffffffffffffffffff16146107df57600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f0e96f8986653644392af4a5daec8b04a389af0d497572173e63846ccd26c843c600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516108719190612d60565b60405180910390a150565b6000610890610889611847565b848461184f565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108db611847565b73ffffffffffffffffffffffffffffffffffffffff16146108fb57600080fd5b81600a8190555080600b819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a1600a54600b5460405161093e929190612d7b565b60405180910390a15050565b6000683635c9adc5dea00000905090565b600e5481565b6000601060009054906101000a900460ff1680156109c95750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015610a225750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15610a96573273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8c90612df0565b60405180910390fd5b5b610aa1848484611a1a565b600082600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610aed611847565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b329190612e3f565b9050610b4685610b40611847565b8361184f565b60019150509392505050565b6000610b5d30610e42565b905090565b600981565b600f5481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c00611847565b73ffffffffffffffffffffffffffffffffffffffff1614610c2057600080fd5b60008111610c63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5a90612ebf565b60405180910390fd5b80600c819055507f208f1b468d3d61f0f085e975bd9d04367c930d599642faad06695229f3eadcd8600c54604051610c9b9190612903565b60405180910390a150565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d0d611847565b73ffffffffffffffffffffffffffffffffffffffff1614610d2d57600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f96511497113ddf59712b28350d7457b9c300ab227616bd3b451745a395a53014600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610dbf9190612d60565b60405180910390a150565b600b5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e11611847565b73ffffffffffffffffffffffffffffffffffffffff1614610e3157600080fd5b6000479050610e3f8161229b565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e93611847565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1790612f2b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601060029054906101000a900460ff1681565b6040518060400160405280600981526020017f4f4b414d494d415441000000000000000000000000000000000000000000000081525081565b6000611067611060611847565b8484611a1a565b6001905092915050565b600c5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110b8611847565b73ffffffffffffffffffffffffffffffffffffffff16146110d857600080fd5b60006110e330610e42565b90506110ee81612388565b50565b6110f9611847565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117d90612f2b565b60405180910390fd5b601060009054906101000a900460ff16156111d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cd90612f97565b60405180910390fd5b6001601060006101000a81548160ff02191690831515021790555042600f81905550678ac7230489e80000600d819055506801a055690d9db80000600e81905550565b6000611246600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e42565b905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661128c611847565b73ffffffffffffffffffffffffffffffffffffffff16146112ac57600080fd5b80601060026101000a81548160ff0219169083151502179055507ff65c78d1059dbb9ec90732848bcfebbec05ac40af847d3c19adcad63379d3aeb601060029054906101000a900460ff166040516113049190612af0565b60405180910390a150565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61139e611847565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461142b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142290612f2b565b60405180910390fd5b601060009054906101000a900460ff161561147b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147290612f97565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061150b30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea0000061184f565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611556573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157a9190612fcc565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116059190612fcc565b6040518363ffffffff1660e01b8152600401611622929190612ff9565b6020604051808303816000875af1158015611641573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116659190612fcc565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306116ee30610e42565b6000806116f9610fde565b426040518863ffffffff1660e01b815260040161171b9695949392919061305d565b60606040518083038185885af1158015611739573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061175e91906130d3565b505050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611800929190613126565b6020604051808303816000875af115801561181f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118439190613164565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b690613203565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561192f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192690613295565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a0d9190612903565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8190613327565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611afa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611af1906133b9565b60405180910390fd5b60008111611b3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b349061344b565b60405180910390fd5b6000611b47610fde565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611bb55750611b85610fde565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156121d657600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c655750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611cbb5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611fd657601060009054906101000a900460ff16611d0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d06906134b7565b60405180910390fd5b600f54421415611d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4b90613523565b60405180910390fd5b42610e10600f54611d659190613543565b1115611dc457600e54611d7784610e42565b83611d829190613543565b1115611dc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dba9061360b565b60405180910390fd5b5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff16611e9e5760405180604001604052806000815260200160011515815250600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010160006101000a81548160ff0219169083151502179055509050505b426078600f54611eae9190613543565b1115611f8a57600d54821115611ef9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef090613677565b60405180910390fd5b601e42611f069190613543565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015410611f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8090613709565b60405180910390fd5b5b42600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550600190505b601060019054906101000a900460ff16158015611fff5750601060009054906101000a900460ff165b80156120595750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156121d557600f4261206b9190613543565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154106120ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e59061379b565b60405180910390fd5b60006120f930610e42565b905060008111156121b657601060029054906101000a900460ff16156121ac576064600c54612149600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e42565b61215391906137bb565b61215d9190613844565b8111156121ab576064600c54612194600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610e42565b61219e91906137bb565b6121a89190613844565b90505b5b6121b581612388565b5b600047905060008111156121ce576121cd4761229b565b5b6000925050505b5b600060019050600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061227d5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561228757600090505b6122948585858486612601565b5050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6002836122e49190613844565b9081150290604051600060405180830381858888f1935050505015801561230f573d6000803e3d6000fd5b50600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6002836123599190613844565b9081150290604051600060405180830381858888f19350505050158015612384573d6000803e3d6000fd5b5050565b6001601060016101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156123c0576123bf613875565b5b6040519080825280602002602001820160405280156123ee5781602001602082028036833780820191505090505b5090503081600081518110612406576124056138a4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124d19190612fcc565b816001815181106124e5576124e46138a4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061254c30600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461184f565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016125b0959493929190613991565b600060405180830381600087803b1580156125ca57600080fd5b505af11580156125de573d6000803e3d6000fd5b50505050506000601060016101000a81548160ff02191690831515021790555050565b600061260d8383612623565b905061261b86868684612678565b505050505050565b60008060009050831561266e57821561264057600a54905061266d565b600b549050610e10600f546126559190613543565b42101561266c57600d816126699190613543565b90505b5b5b8091505092915050565b600080612685848461281b565b9150915083600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d49190612e3f565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127629190613543565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127ae81612859565b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161280b9190612903565b60405180910390a3505050505050565b60008060006064848661282e91906137bb565b6128389190613844565b9050600081866128489190612e3f565b905080829350935050509250929050565b80600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128a49190613543565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000819050919050565b6128fd816128ea565b82525050565b600060208201905061291860008301846128f4565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561295857808201518184015260208101905061293d565b83811115612967576000848401525b50505050565b6000601f19601f8301169050919050565b60006129898261291e565b6129938185612929565b93506129a381856020860161293a565b6129ac8161296d565b840191505092915050565b600060208201905081810360008301526129d1818461297e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612a09826129de565b9050919050565b612a19816129fe565b8114612a2457600080fd5b50565b600081359050612a3681612a10565b92915050565b600060208284031215612a5257612a516129d9565b5b6000612a6084828501612a27565b91505092915050565b612a72816128ea565b8114612a7d57600080fd5b50565b600081359050612a8f81612a69565b92915050565b60008060408385031215612aac57612aab6129d9565b5b6000612aba85828601612a27565b9250506020612acb85828601612a80565b9150509250929050565b60008115159050919050565b612aea81612ad5565b82525050565b6000602082019050612b056000830184612ae1565b92915050565b60008060408385031215612b2257612b216129d9565b5b6000612b3085828601612a80565b9250506020612b4185828601612a80565b9150509250929050565b600080600060608486031215612b6457612b636129d9565b5b6000612b7286828701612a27565b9350506020612b8386828701612a27565b9250506040612b9486828701612a80565b9150509250925092565b600060ff82169050919050565b612bb481612b9e565b82525050565b6000602082019050612bcf6000830184612bab565b92915050565b6000612be0826129de565b9050919050565b612bf081612bd5565b82525050565b6000602082019050612c0b6000830184612be7565b92915050565b600060208284031215612c2757612c266129d9565b5b6000612c3584828501612a80565b91505092915050565b612c47816129fe565b82525050565b6000602082019050612c626000830184612c3e565b92915050565b612c7181612ad5565b8114612c7c57600080fd5b50565b600081359050612c8e81612c68565b92915050565b600060208284031215612caa57612ca96129d9565b5b6000612cb884828501612c7f565b91505092915050565b60008060408385031215612cd857612cd76129d9565b5b6000612ce685828601612a27565b9250506020612cf785828601612a27565b9150509250929050565b6000819050919050565b6000612d26612d21612d1c846129de565b612d01565b6129de565b9050919050565b6000612d3882612d0b565b9050919050565b6000612d4a82612d2d565b9050919050565b612d5a81612d3f565b82525050565b6000602082019050612d756000830184612d51565b92915050565b6000604082019050612d9060008301856128f4565b612d9d60208301846128f4565b9392505050565b7f706c73206e6f20626f7400000000000000000000000000000000000000000000600082015250565b6000612dda600a83612929565b9150612de582612da4565b602082019050919050565b60006020820190508181036000830152612e0981612dcd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612e4a826128ea565b9150612e55836128ea565b925082821015612e6857612e67612e10565b5b828203905092915050565b7f526174652063616e2774206265207a65726f0000000000000000000000000000600082015250565b6000612ea9601283612929565b9150612eb482612e73565b602082019050919050565b60006020820190508181036000830152612ed881612e9c565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612f15602083612929565b9150612f2082612edf565b602082019050919050565b60006020820190508181036000830152612f4481612f08565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612f81601783612929565b9150612f8c82612f4b565b602082019050919050565b60006020820190508181036000830152612fb081612f74565b9050919050565b600081519050612fc681612a10565b92915050565b600060208284031215612fe257612fe16129d9565b5b6000612ff084828501612fb7565b91505092915050565b600060408201905061300e6000830185612c3e565b61301b6020830184612c3e565b9392505050565b6000819050919050565b600061304761304261303d84613022565b612d01565b6128ea565b9050919050565b6130578161302c565b82525050565b600060c0820190506130726000830189612c3e565b61307f60208301886128f4565b61308c604083018761304e565b613099606083018661304e565b6130a66080830185612c3e565b6130b360a08301846128f4565b979650505050505050565b6000815190506130cd81612a69565b92915050565b6000806000606084860312156130ec576130eb6129d9565b5b60006130fa868287016130be565b935050602061310b868287016130be565b925050604061311c868287016130be565b9150509250925092565b600060408201905061313b6000830185612c3e565b61314860208301846128f4565b9392505050565b60008151905061315e81612c68565b92915050565b60006020828403121561317a576131796129d9565b5b60006131888482850161314f565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131ed602483612929565b91506131f882613191565b604082019050919050565b6000602082019050818103600083015261321c816131e0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061327f602283612929565b915061328a82613223565b604082019050919050565b600060208201905081810360008301526132ae81613272565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613311602583612929565b915061331c826132b5565b604082019050919050565b6000602082019050818103600083015261334081613304565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006133a3602383612929565b91506133ae82613347565b604082019050919050565b600060208201905081810360008301526133d281613396565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613435602983612929565b9150613440826133d9565b604082019050919050565b6000602082019050818103600083015261346481613428565b9050919050565b7f54726164696e67206e6f742079657420656e61626c65642e0000000000000000600082015250565b60006134a1601883612929565b91506134ac8261346b565b602082019050919050565b600060208201905081810360008301526134d081613494565b9050919050565b7f706c73206e6f20736e6970000000000000000000000000000000000000000000600082015250565b600061350d600b83612929565b9150613518826134d7565b602082019050919050565b6000602082019050818103600083015261353c81613500565b9050919050565b600061354e826128ea565b9150613559836128ea565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561358e5761358d612e10565b5b828201905092915050565b7f596f752063616e2774206f776e2074686174206d616e7920746f6b656e73206160008201527f74206f6e63652e00000000000000000000000000000000000000000000000000602082015250565b60006135f5602783612929565b915061360082613599565b604082019050919050565b60006020820190508181036000830152613624816135e8565b9050919050565b7f45786365656473206d6178696d756d2062757920616d6f756e742e0000000000600082015250565b6000613661601b83612929565b915061366c8261362b565b602082019050919050565b6000602082019050818103600083015261369081613654565b9050919050565b7f596f75722062757920636f6f6c646f776e20686173206e6f742065787069726560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b60006136f3602283612929565b91506136fe82613697565b604082019050919050565b60006020820190508181036000830152613722816136e6565b9050919050565b7f596f75722073656c6c20636f6f6c646f776e20686173206e6f7420657870697260008201527f65642e0000000000000000000000000000000000000000000000000000000000602082015250565b6000613785602383612929565b915061379082613729565b604082019050919050565b600060208201905081810360008301526137b481613778565b9050919050565b60006137c6826128ea565b91506137d1836128ea565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561380a57613809612e10565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061384f826128ea565b915061385a836128ea565b92508261386a57613869613815565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613908816129fe565b82525050565b600061391a83836138ff565b60208301905092915050565b6000602082019050919050565b600061393e826138d3565b61394881856138de565b9350613953836138ef565b8060005b8381101561398457815161396b888261390e565b975061397683613926565b925050600181019050613957565b5085935050505092915050565b600060a0820190506139a660008301886128f4565b6139b3602083018761304e565b81810360408301526139c58186613933565b90506139d46060830185612c3e565b6139e160808301846128f4565b969550505050505056fea26469706673582212209ccf740f5f8dadfb58802990dea25f3b488df6dd2559f45e5acf26813185d7d264736f6c634300080a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000078275cf00ec2ad480055ee764e40a0eb9037d80a00000000000000000000000089e35053f0e668c12a80241f056047691c9ecd8a
-----Decoded View---------------
Arg [0] : FeeAddress1 (address): 0x78275Cf00eC2Ad480055ee764e40a0eB9037D80A
Arg [1] : FeeAddress2 (address): 0x89e35053F0E668c12A80241f056047691C9ecD8A
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000078275cf00ec2ad480055ee764e40a0eb9037d80a
Arg [1] : 00000000000000000000000089e35053f0e668c12a80241f056047691c9ecd8a
Deployed Bytecode Sourcemap
2445:10748:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3219:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2790:48;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12532:205;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4904:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12118:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4651:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3251:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5070:468;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12981:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2912:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3284:23;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3048:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3006;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3125:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11858:252;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3090:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12745:205;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3156:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11662:188;;;;;;;;;;;;;:::i;:::-;;4356:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1526:148;;;;;;;;;;;;;:::i;:::-;;1312:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3373:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2850:50;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4475:164;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3188:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11461:189;;;;;;;;;;;;;:::i;:::-;;11166:287;;;;;;;;;;;;;:::i;:::-;;13089:101;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12325:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4756:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10470:688;;;;;;;;;;;;;:::i;:::-;;3219:25;;;;:::o;2790:48::-;;;;;;;;;;;;;;;;;;;:::o;12532:205::-;12623:12;;;;;;;;;;;12607:28;;:12;:10;:12::i;:::-;:28;;;12599:37;;;;;;12670:10;12647:12;;:34;;;;;;;;;;;;;;;;;;12697:32;12716:12;;;;;;;;;;;12697:32;;;;;;:::i;:::-;;;;;;;;12532:205;:::o;4904:158::-;4976:4;4993:39;5002:12;:10;:12::i;:::-;5016:7;5025:6;4993:8;:39::i;:::-;5050:4;5043:11;;4904:158;;;;:::o;12118:199::-;12200:12;;;;;;;;;;;12184:28;;:12;:10;:12::i;:::-;:28;;;12176:37;;;;;;12234:3;12224:7;:13;;;;12259:4;12248:8;:15;;;;12279:30;12291:7;;12300:8;;12279:30;;;;;;;:::i;:::-;;;;;;;;12118:199;;:::o;4651:97::-;4704:4;2769:12;4721:19;;4651:97;:::o;3251:26::-;;;;:::o;5070:468::-;5165:4;5185:12;;;;;;;;;;;:46;;;;;5202:18;:29;5221:9;5202:29;;;;;;;;;;;;;;;;;;;;;;;;;5201:30;5185:46;:73;;;;;5245:13;;;;;;;;;;;5235:23;;:6;:23;;;5185:73;5182:150;;;5296:9;5283:22;;:9;:22;;;5274:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;5182:150;5342:36;5352:6;5360:9;5371:6;5342:9;:36::i;:::-;5389:18;5446:6;5410:11;:19;5422:6;5410:19;;;;;;;;;;;;;;;:33;5430:12;:10;:12::i;:::-;5410:33;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;5389:63;;5463:45;5472:6;5480:12;:10;:12::i;:::-;5494:13;5463:8;:45::i;:::-;5526:4;5519:11;;;5070:468;;;;;:::o;12981:100::-;13025:4;13049:24;13067:4;13049:9;:24::i;:::-;13042:31;;12981:100;:::o;2912:34::-;2945:1;2912:34;:::o;3284:23::-;;;;:::o;3048:35::-;;;;;;;;;;;;;:::o;3006:::-;;;;;;;;;;;;;:::o;3125:24::-;;;;:::o;11858:252::-;11933:12;;;;;;;;;;;11917:28;;:12;:10;:12::i;:::-;:28;;;11909:37;;;;;;11972:1;11965:4;:8;11957:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;12058:4;12047:8;:15;;;;12078:24;12093:8;;12078:24;;;;;;:::i;:::-;;;;;;;;11858:252;:::o;3090:28::-;;;;;;;;;;;;;:::o;12745:205::-;12836:12;;;;;;;;;;;12820:28;;:12;:10;:12::i;:::-;:28;;;12812:37;;;;;;12883:10;12860:12;;:34;;;;;;;;;;;;;;;;;;12910:32;12929:12;;;;;;;;;;;12910:32;;;;;;:::i;:::-;;;;;;;;12745:205;:::o;3156:25::-;;;;:::o;11662:188::-;11728:12;;;;;;;;;;;11712:28;;:12;:10;:12::i;:::-;:28;;;11704:37;;;;;;11752:23;11778:21;11752:47;;11810:32;11823:18;11810:12;:32::i;:::-;11693:157;11662:188::o;4356:113::-;4422:4;4446:6;:15;4453:7;4446:15;;;;;;;;;;;;;;;;4439:22;;4356:113;;;:::o;1526:148::-;1449:12;:10;:12::i;:::-;1439:22;;:6;;;;;;;;;;:22;;;1431:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;1633:1:::1;1596:40;;1617:6;::::0;::::1;;;;;;;;1596:40;;;;;;;;;;;;1664:1;1647:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1526:148::o:0;1312:79::-;1350:7;1377:6;;;;;;;;;;;1370:13;;1312:79;:::o;3373:38::-;;;;;;;;;;;;;:::o;2850:50::-;;;;;;;;;;;;;;;;;;;:::o;4475:164::-;4550:4;4567:42;4577:12;:10;:12::i;:::-;4591:9;4602:6;4567:9;:42::i;:::-;4627:4;4620:11;;4475:164;;;;:::o;3188:24::-;;;;:::o;11461:189::-;11527:12;;;;;;;;;;;11511:28;;:12;:10;:12::i;:::-;:28;;;11503:37;;;;;;11551:20;11574:24;11592:4;11574:9;:24::i;:::-;11551:47;;11609:33;11626:15;11609:16;:33::i;:::-;11492:158;11461:189::o;11166:287::-;1449:12;:10;:12::i;:::-;1439:22;;:6;;;;;;;;;;:22;;;1431:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11230:12:::1;;;;;;;;;;;11229:13;11221:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;11296:4;11281:12;;:19;;;;;;;;;;;;;;;;;;11325:15;11311:11;:29;;;;11367:19;11351:13;:35;;;;11420:19;11403:14;:36;;;;11166:287::o:0;13089:101::-;13134:4;13158:24;13168:13;;;;;;;;;;;13158:9;:24::i;:::-;13151:31;;13089:101;:::o;12325:199::-;12406:12;;;;;;;;;;;12390:28;;:12;:10;:12::i;:::-;:28;;;12382:37;;;;;;12452:5;12430:19;;:27;;;;;;;;;;;;;;;;;;12473:43;12496:19;;;;;;;;;;;12473:43;;;;;;:::i;:::-;;;;;;;;12325:199;:::o;4756:140::-;4837:4;4861:11;:18;4873:5;4861:18;;;;;;;;;;;;;;;:27;4880:7;4861:27;;;;;;;;;;;;;;;;4854:34;;4756:140;;;;:::o;10470:688::-;1449:12;:10;:12::i;:::-;1439:22;;:6;;;;;;;;;;:22;;;1431:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10535:12:::1;;;;;;;;;;;10534:13;10526:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;10586:35;10643:42;10586:100;;10715:16;10697:15;;:34;;;;;;;;;;;;;;;;;;10742:63;10759:4;10774:15;;;;;;;;;;;2769:12;10742:8;:63::i;:::-;10850:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10832:56;;;10897:4;10904:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10832:96;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10816:13;;:112;;;;;;;;;;;;;;;;;;10939:15;;;;;;;;;;;:31;;;10978:21;11009:4;11015:24;11033:4;11015:9;:24::i;:::-;11040:1;11042::::0;11044:7:::1;:5;:7::i;:::-;11052:15;10939:129;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11086:13;;;;;;;;;;;11079:29;;;11117:15;;;;;;;;;;;11135:14;11079:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10515:643;10470:688::o:0;175:98::-;228:7;255:10;248:17;;175:98;:::o;5546:332::-;5653:1;5636:19;;:5;:19;;;;5628:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5734:1;5715:21;;:7;:21;;;;5707:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5816:6;5786:11;:18;5798:5;5786:18;;;;;;;;;;;;;;;:27;5805:7;5786:27;;;;;;;;;;;;;;;:36;;;;5854:7;5838:32;;5847:5;5838:32;;;5863:6;5838:32;;;;;;:::i;:::-;;;;;;;;5546:332;;;:::o;5886:2505::-;5987:1;5971:18;;:4;:18;;;;5963:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6064:1;6050:16;;:2;:16;;;;6042:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6134:1;6125:6;:10;6117:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6192:10;6232:7;:5;:7::i;:::-;6224:15;;:4;:15;;;;:32;;;;;6249:7;:5;:7::i;:::-;6243:13;;:2;:13;;;;6224:32;6221:1972;;;6304:13;;;;;;;;;;;6296:21;;:4;:21;;;:55;;;;;6335:15;;;;;;;;;;;6321:30;;:2;:30;;;;6296:55;:82;;;;;6356:18;:22;6375:2;6356:22;;;;;;;;;;;;;;;;;;;;;;;;;6355:23;6296:82;6293:954;;;6407:12;;;;;;;;;;;6399:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;6494:11;;6475:15;:30;;6467:54;;;;;;;;;;;;:::i;:::-;;;;;;;;;6571:15;6559:7;6544:11;;:23;;;;:::i;:::-;6543:43;6540:200;;;6656:14;;6629:22;6647:2;6629:9;:22::i;:::-;6620:6;:31;;;;:::i;:::-;6619:51;;6611:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;6540:200;6762:8;:12;6771:2;6762:12;;;;;;;;;;;;;;;:19;;;;;;;;;;;;6758:95;;6821:12;;;;;;;;6826:1;6821:12;;;;6828:4;6821:12;;;;;6806:8;:12;6815:2;6806:12;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6758:95;6906:15;6890:11;6875;;:27;;;;:::i;:::-;6874:47;6871:277;;;6964:13;;6954:6;:23;;6946:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;7078:10;7059:15;:30;;;;:::i;:::-;7040:8;:12;7049:2;7040:12;;;;;;;;;;;;;;;:16;;;:49;7032:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;6871:277;7185:15;7166:8;:12;7175:2;7166:12;;;;;;;;;;;;;;;:16;;:34;;;;7227:4;7219:12;;6293:954;7286:7;;;;;;;;;;;7285:8;:24;;;;;7297:12;;;;;;;;;;;7285:24;:49;;;;;7321:13;;;;;;;;;;;7313:21;;:4;:21;;;;7285:49;7282:900;;;7403:10;7384:15;:30;;;;:::i;:::-;7363:8;:14;7372:4;7363:14;;;;;;;;;;;;;;;:18;;;:51;7355:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;7473:25;7501:24;7519:4;7501:9;:24::i;:::-;7473:52;;7570:1;7547:20;:24;7544:402;;;7599:19;;;;;;;;;;;7596:270;;;7713:3;7701:8;;7674:24;7684:13;;;;;;;;;;;7674:9;:24::i;:::-;:35;;;;:::i;:::-;7673:43;;;;:::i;:::-;7650:20;:66;7647:196;;;7812:3;7800:8;;7773:24;7783:13;;;;;;;;;;;7773:9;:24::i;:::-;:35;;;;:::i;:::-;7772:43;;;;:::i;:::-;7749:66;;7647:196;7596:270;7888:38;7905:20;7888:16;:38::i;:::-;7544:402;7964:23;7990:21;7964:47;;8054:1;8033:18;:22;8030:105;;;8080:35;8093:21;8080:12;:35::i;:::-;8030:105;8161:5;8153:13;;7336:846;;7282:900;6221:1972;8203:12;8218:4;8203:19;;8236:18;:24;8255:4;8236:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;8264:18;:22;8283:2;8264:22;;;;;;;;;;;;;;;;;;;;;;;;;8236:50;8233:96;;;8312:5;8302:15;;8233:96;8339:44;8354:4;8359:2;8362:6;8369:7;8377:5;8339:14;:44::i;:::-;5952:2439;;5886:2505;;;:::o;8895:139::-;8949:12;;;;;;;;;;;:21;;:33;8980:1;8971:6;:10;;;;:::i;:::-;8949:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8993:12;;;;;;;;;;;:21;;:33;9024:1;9015:6;:10;;;;:::i;:::-;8993:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8895:139;:::o;8399:480::-;3833:4;3823:7;;:14;;;;;;;;;;;;;;;;;;8474:21:::1;8512:1;8498:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8474:40;;8543:4;8525;8530:1;8525:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8569:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8559:4;8564:1;8559:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;8602:62;8619:4;8634:15;;;;;;;;;;;8652:11;8602:8;:62::i;:::-;8675:15;;;;;;;;;;;:66;;;8756:11;8782:1;8798:4;8825;8845:15;8675:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8463:416;3870:5:::0;3860:7;;:15;;;;;;;;;;;;;;;;;;8399:480;:::o;9046:217::-;9162:8;9174:21;9182:7;9191:3;9174:7;:21::i;:::-;9161:34;;9206:49;9224:6;9232:9;9243:6;9251:3;9206:17;:49::i;:::-;9150:113;9046:217;;;;;:::o;9271:396::-;9334:4;9351:8;9362:1;9351:12;;9377:7;9374:265;;;9404:3;9401:227;;;9434:7;;9428:13;;9401:227;;;9488:8;;9482:14;;9551:7;9536:11;;:23;;;;:::i;:::-;9518:15;:41;9515:98;;;9591:2;9584:9;;;;;:::i;:::-;;;9515:98;9401:227;9374:265;9656:3;9649:10;;;9271:396;;;;:::o;9675:372::-;9780:19;9801:9;9814:23;9825:6;9833:3;9814:10;:23::i;:::-;9779:58;;;;9882:6;9865;:14;9872:6;9865:14;;;;;;;;;;;;;;;;:23;;;;:::i;:::-;9848:6;:14;9855:6;9848:14;;;;;;;;;;;;;;;:40;;;;9939:14;9919:6;:17;9926:9;9919:17;;;;;;;;;;;;;;;;:34;;;;:::i;:::-;9899:6;:17;9906:9;9899:17;;;;;;;;;;;;;;;:54;;;;9965:15;9975:4;9965:9;:15::i;:::-;10013:9;9996:43;;10005:6;9996:43;;;10024:14;9996:43;;;;;;:::i;:::-;;;;;;;;9768:279;;9675:372;;;;:::o;10055:222::-;10124:4;10130;10147:9;10180:3;10169:7;10160:6;:16;;;;:::i;:::-;10159:24;;;;:::i;:::-;10147:36;;10194:19;10225:4;10216:6;:13;;;;:::i;:::-;10194:35;;10248:14;10264:4;10240:29;;;;;;10055:222;;;;;:::o;10285:109::-;10382:4;10358:6;:21;10373:4;10358:21;;;;;;;;;;;;;;;;:28;;;;:::i;:::-;10334:6;:21;10349:4;10334:21;;;;;;;;;;;;;;;:52;;;;10285:109;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;442:99::-;494:6;528:5;522:12;512:22;;442:99;;;:::o;547:169::-;631:11;665:6;660:3;653:19;705:4;700:3;696:14;681:29;;547:169;;;;:::o;722:307::-;790:1;800:113;814:6;811:1;808:13;800:113;;;899:1;894:3;890:11;884:18;880:1;875:3;871:11;864:39;836:2;833:1;829:10;824:15;;800:113;;;931:6;928:1;925:13;922:101;;;1011:1;1002:6;997:3;993:16;986:27;922:101;771:258;722:307;;;:::o;1035:102::-;1076:6;1127:2;1123:7;1118:2;1111:5;1107:14;1103:28;1093:38;;1035:102;;;:::o;1143:364::-;1231:3;1259:39;1292:5;1259:39;:::i;:::-;1314:71;1378:6;1373:3;1314:71;:::i;:::-;1307:78;;1394:52;1439:6;1434:3;1427:4;1420:5;1416:16;1394:52;:::i;:::-;1471:29;1493:6;1471:29;:::i;:::-;1466:3;1462:39;1455:46;;1235:272;1143:364;;;;:::o;1513:313::-;1626:4;1664:2;1653:9;1649:18;1641:26;;1713:9;1707:4;1703:20;1699:1;1688:9;1684:17;1677:47;1741:78;1814:4;1805:6;1741:78;:::i;:::-;1733:86;;1513:313;;;;:::o;1913:117::-;2022:1;2019;2012:12;2159:126;2196:7;2236:42;2229:5;2225:54;2214:65;;2159:126;;;:::o;2291:96::-;2328:7;2357:24;2375:5;2357:24;:::i;:::-;2346:35;;2291:96;;;:::o;2393:122::-;2466:24;2484:5;2466:24;:::i;:::-;2459:5;2456:35;2446:63;;2505:1;2502;2495:12;2446:63;2393:122;:::o;2521:139::-;2567:5;2605:6;2592:20;2583:29;;2621:33;2648:5;2621:33;:::i;:::-;2521:139;;;;:::o;2666:329::-;2725:6;2774:2;2762:9;2753:7;2749:23;2745:32;2742:119;;;2780:79;;:::i;:::-;2742:119;2900:1;2925:53;2970:7;2961:6;2950:9;2946:22;2925:53;:::i;:::-;2915:63;;2871:117;2666:329;;;;:::o;3001:122::-;3074:24;3092:5;3074:24;:::i;:::-;3067:5;3064:35;3054:63;;3113:1;3110;3103:12;3054:63;3001:122;:::o;3129:139::-;3175:5;3213:6;3200:20;3191:29;;3229:33;3256:5;3229:33;:::i;:::-;3129:139;;;;:::o;3274:474::-;3342:6;3350;3399:2;3387:9;3378:7;3374:23;3370:32;3367:119;;;3405:79;;:::i;:::-;3367:119;3525:1;3550:53;3595:7;3586:6;3575:9;3571:22;3550:53;:::i;:::-;3540:63;;3496:117;3652:2;3678:53;3723:7;3714:6;3703:9;3699:22;3678:53;:::i;:::-;3668:63;;3623:118;3274:474;;;;;:::o;3754:90::-;3788:7;3831:5;3824:13;3817:21;3806:32;;3754:90;;;:::o;3850:109::-;3931:21;3946:5;3931:21;:::i;:::-;3926:3;3919:34;3850:109;;:::o;3965:210::-;4052:4;4090:2;4079:9;4075:18;4067:26;;4103:65;4165:1;4154:9;4150:17;4141:6;4103:65;:::i;:::-;3965:210;;;;:::o;4181:474::-;4249:6;4257;4306:2;4294:9;4285:7;4281:23;4277:32;4274:119;;;4312:79;;:::i;:::-;4274:119;4432:1;4457:53;4502:7;4493:6;4482:9;4478:22;4457:53;:::i;:::-;4447:63;;4403:117;4559:2;4585:53;4630:7;4621:6;4610:9;4606:22;4585:53;:::i;:::-;4575:63;;4530:118;4181:474;;;;;:::o;4661:619::-;4738:6;4746;4754;4803:2;4791:9;4782:7;4778:23;4774:32;4771:119;;;4809:79;;:::i;:::-;4771:119;4929:1;4954:53;4999:7;4990:6;4979:9;4975:22;4954:53;:::i;:::-;4944:63;;4900:117;5056:2;5082:53;5127:7;5118:6;5107:9;5103:22;5082:53;:::i;:::-;5072:63;;5027:118;5184:2;5210:53;5255:7;5246:6;5235:9;5231:22;5210:53;:::i;:::-;5200:63;;5155:118;4661:619;;;;;:::o;5286:86::-;5321:7;5361:4;5354:5;5350:16;5339:27;;5286:86;;;:::o;5378:112::-;5461:22;5477:5;5461:22;:::i;:::-;5456:3;5449:35;5378:112;;:::o;5496:214::-;5585:4;5623:2;5612:9;5608:18;5600:26;;5636:67;5700:1;5689:9;5685:17;5676:6;5636:67;:::i;:::-;5496:214;;;;:::o;5716:104::-;5761:7;5790:24;5808:5;5790:24;:::i;:::-;5779:35;;5716:104;;;:::o;5826:142::-;5929:32;5955:5;5929:32;:::i;:::-;5924:3;5917:45;5826:142;;:::o;5974:254::-;6083:4;6121:2;6110:9;6106:18;6098:26;;6134:87;6218:1;6207:9;6203:17;6194:6;6134:87;:::i;:::-;5974:254;;;;:::o;6234:329::-;6293:6;6342:2;6330:9;6321:7;6317:23;6313:32;6310:119;;;6348:79;;:::i;:::-;6310:119;6468:1;6493:53;6538:7;6529:6;6518:9;6514:22;6493:53;:::i;:::-;6483:63;;6439:117;6234:329;;;;:::o;6569:118::-;6656:24;6674:5;6656:24;:::i;:::-;6651:3;6644:37;6569:118;;:::o;6693:222::-;6786:4;6824:2;6813:9;6809:18;6801:26;;6837:71;6905:1;6894:9;6890:17;6881:6;6837:71;:::i;:::-;6693:222;;;;:::o;6921:116::-;6991:21;7006:5;6991:21;:::i;:::-;6984:5;6981:32;6971:60;;7027:1;7024;7017:12;6971:60;6921:116;:::o;7043:133::-;7086:5;7124:6;7111:20;7102:29;;7140:30;7164:5;7140:30;:::i;:::-;7043:133;;;;:::o;7182:323::-;7238:6;7287:2;7275:9;7266:7;7262:23;7258:32;7255:119;;;7293:79;;:::i;:::-;7255:119;7413:1;7438:50;7480:7;7471:6;7460:9;7456:22;7438:50;:::i;:::-;7428:60;;7384:114;7182:323;;;;:::o;7511:474::-;7579:6;7587;7636:2;7624:9;7615:7;7611:23;7607:32;7604:119;;;7642:79;;:::i;:::-;7604:119;7762:1;7787:53;7832:7;7823:6;7812:9;7808:22;7787:53;:::i;:::-;7777:63;;7733:117;7889:2;7915:53;7960:7;7951:6;7940:9;7936:22;7915:53;:::i;:::-;7905:63;;7860:118;7511:474;;;;;:::o;7991:60::-;8019:3;8040:5;8033:12;;7991:60;;;:::o;8057:142::-;8107:9;8140:53;8158:34;8167:24;8185:5;8167:24;:::i;:::-;8158:34;:::i;:::-;8140:53;:::i;:::-;8127:66;;8057:142;;;:::o;8205:126::-;8255:9;8288:37;8319:5;8288:37;:::i;:::-;8275:50;;8205:126;;;:::o;8337:134::-;8395:9;8428:37;8459:5;8428:37;:::i;:::-;8415:50;;8337:134;;;:::o;8477:147::-;8572:45;8611:5;8572:45;:::i;:::-;8567:3;8560:58;8477:147;;:::o;8630:238::-;8731:4;8769:2;8758:9;8754:18;8746:26;;8782:79;8858:1;8847:9;8843:17;8834:6;8782:79;:::i;:::-;8630:238;;;;:::o;8874:332::-;8995:4;9033:2;9022:9;9018:18;9010:26;;9046:71;9114:1;9103:9;9099:17;9090:6;9046:71;:::i;:::-;9127:72;9195:2;9184:9;9180:18;9171:6;9127:72;:::i;:::-;8874:332;;;;;:::o;9212:160::-;9352:12;9348:1;9340:6;9336:14;9329:36;9212:160;:::o;9378:366::-;9520:3;9541:67;9605:2;9600:3;9541:67;:::i;:::-;9534:74;;9617:93;9706:3;9617:93;:::i;:::-;9735:2;9730:3;9726:12;9719:19;;9378:366;;;:::o;9750:419::-;9916:4;9954:2;9943:9;9939:18;9931:26;;10003:9;9997:4;9993:20;9989:1;9978:9;9974:17;9967:47;10031:131;10157:4;10031:131;:::i;:::-;10023:139;;9750:419;;;:::o;10175:180::-;10223:77;10220:1;10213:88;10320:4;10317:1;10310:15;10344:4;10341:1;10334:15;10361:191;10401:4;10421:20;10439:1;10421:20;:::i;:::-;10416:25;;10455:20;10473:1;10455:20;:::i;:::-;10450:25;;10494:1;10491;10488:8;10485:34;;;10499:18;;:::i;:::-;10485:34;10544:1;10541;10537:9;10529:17;;10361:191;;;;:::o;10558:168::-;10698:20;10694:1;10686:6;10682:14;10675:44;10558:168;:::o;10732:366::-;10874:3;10895:67;10959:2;10954:3;10895:67;:::i;:::-;10888:74;;10971:93;11060:3;10971:93;:::i;:::-;11089:2;11084:3;11080:12;11073:19;;10732:366;;;:::o;11104:419::-;11270:4;11308:2;11297:9;11293:18;11285:26;;11357:9;11351:4;11347:20;11343:1;11332:9;11328:17;11321:47;11385:131;11511:4;11385:131;:::i;:::-;11377:139;;11104:419;;;:::o;11529:182::-;11669:34;11665:1;11657:6;11653:14;11646:58;11529:182;:::o;11717:366::-;11859:3;11880:67;11944:2;11939:3;11880:67;:::i;:::-;11873:74;;11956:93;12045:3;11956:93;:::i;:::-;12074:2;12069:3;12065:12;12058:19;;11717:366;;;:::o;12089:419::-;12255:4;12293:2;12282:9;12278:18;12270:26;;12342:9;12336:4;12332:20;12328:1;12317:9;12313:17;12306:47;12370:131;12496:4;12370:131;:::i;:::-;12362:139;;12089:419;;;:::o;12514:173::-;12654:25;12650:1;12642:6;12638:14;12631:49;12514:173;:::o;12693:366::-;12835:3;12856:67;12920:2;12915:3;12856:67;:::i;:::-;12849:74;;12932:93;13021:3;12932:93;:::i;:::-;13050:2;13045:3;13041:12;13034:19;;12693:366;;;:::o;13065:419::-;13231:4;13269:2;13258:9;13254:18;13246:26;;13318:9;13312:4;13308:20;13304:1;13293:9;13289:17;13282:47;13346:131;13472:4;13346:131;:::i;:::-;13338:139;;13065:419;;;:::o;13490:143::-;13547:5;13578:6;13572:13;13563:22;;13594:33;13621:5;13594:33;:::i;:::-;13490:143;;;;:::o;13639:351::-;13709:6;13758:2;13746:9;13737:7;13733:23;13729:32;13726:119;;;13764:79;;:::i;:::-;13726:119;13884:1;13909:64;13965:7;13956:6;13945:9;13941:22;13909:64;:::i;:::-;13899:74;;13855:128;13639:351;;;;:::o;13996:332::-;14117:4;14155:2;14144:9;14140:18;14132:26;;14168:71;14236:1;14225:9;14221:17;14212:6;14168:71;:::i;:::-;14249:72;14317:2;14306:9;14302:18;14293:6;14249:72;:::i;:::-;13996:332;;;;;:::o;14334:85::-;14379:7;14408:5;14397:16;;14334:85;;;:::o;14425:158::-;14483:9;14516:61;14534:42;14543:32;14569:5;14543:32;:::i;:::-;14534:42;:::i;:::-;14516:61;:::i;:::-;14503:74;;14425:158;;;:::o;14589:147::-;14684:45;14723:5;14684:45;:::i;:::-;14679:3;14672:58;14589:147;;:::o;14742:807::-;14991:4;15029:3;15018:9;15014:19;15006:27;;15043:71;15111:1;15100:9;15096:17;15087:6;15043:71;:::i;:::-;15124:72;15192:2;15181:9;15177:18;15168:6;15124:72;:::i;:::-;15206:80;15282:2;15271:9;15267:18;15258:6;15206:80;:::i;:::-;15296;15372:2;15361:9;15357:18;15348:6;15296:80;:::i;:::-;15386:73;15454:3;15443:9;15439:19;15430:6;15386:73;:::i;:::-;15469;15537:3;15526:9;15522:19;15513:6;15469:73;:::i;:::-;14742:807;;;;;;;;;:::o;15555:143::-;15612:5;15643:6;15637:13;15628:22;;15659:33;15686:5;15659:33;:::i;:::-;15555:143;;;;:::o;15704:663::-;15792:6;15800;15808;15857:2;15845:9;15836:7;15832:23;15828:32;15825:119;;;15863:79;;:::i;:::-;15825:119;15983:1;16008:64;16064:7;16055:6;16044:9;16040:22;16008:64;:::i;:::-;15998:74;;15954:128;16121:2;16147:64;16203:7;16194:6;16183:9;16179:22;16147:64;:::i;:::-;16137:74;;16092:129;16260:2;16286:64;16342:7;16333:6;16322:9;16318:22;16286:64;:::i;:::-;16276:74;;16231:129;15704:663;;;;;:::o;16373:332::-;16494:4;16532:2;16521:9;16517:18;16509:26;;16545:71;16613:1;16602:9;16598:17;16589:6;16545:71;:::i;:::-;16626:72;16694:2;16683:9;16679:18;16670:6;16626:72;:::i;:::-;16373:332;;;;;:::o;16711:137::-;16765:5;16796:6;16790:13;16781:22;;16812:30;16836:5;16812:30;:::i;:::-;16711:137;;;;:::o;16854:345::-;16921:6;16970:2;16958:9;16949:7;16945:23;16941:32;16938:119;;;16976:79;;:::i;:::-;16938:119;17096:1;17121:61;17174:7;17165:6;17154:9;17150:22;17121:61;:::i;:::-;17111:71;;17067:125;16854:345;;;;:::o;17205:223::-;17345:34;17341:1;17333:6;17329:14;17322:58;17414:6;17409:2;17401:6;17397:15;17390:31;17205:223;:::o;17434:366::-;17576:3;17597:67;17661:2;17656:3;17597:67;:::i;:::-;17590:74;;17673:93;17762:3;17673:93;:::i;:::-;17791:2;17786:3;17782:12;17775:19;;17434:366;;;:::o;17806:419::-;17972:4;18010:2;17999:9;17995:18;17987:26;;18059:9;18053:4;18049:20;18045:1;18034:9;18030:17;18023:47;18087:131;18213:4;18087:131;:::i;:::-;18079:139;;17806:419;;;:::o;18231:221::-;18371:34;18367:1;18359:6;18355:14;18348:58;18440:4;18435:2;18427:6;18423:15;18416:29;18231:221;:::o;18458:366::-;18600:3;18621:67;18685:2;18680:3;18621:67;:::i;:::-;18614:74;;18697:93;18786:3;18697:93;:::i;:::-;18815:2;18810:3;18806:12;18799:19;;18458:366;;;:::o;18830:419::-;18996:4;19034:2;19023:9;19019:18;19011:26;;19083:9;19077:4;19073:20;19069:1;19058:9;19054:17;19047:47;19111:131;19237:4;19111:131;:::i;:::-;19103:139;;18830:419;;;:::o;19255:224::-;19395:34;19391:1;19383:6;19379:14;19372:58;19464:7;19459:2;19451:6;19447:15;19440:32;19255:224;:::o;19485:366::-;19627:3;19648:67;19712:2;19707:3;19648:67;:::i;:::-;19641:74;;19724:93;19813:3;19724:93;:::i;:::-;19842:2;19837:3;19833:12;19826:19;;19485:366;;;:::o;19857:419::-;20023:4;20061:2;20050:9;20046:18;20038:26;;20110:9;20104:4;20100:20;20096:1;20085:9;20081:17;20074:47;20138:131;20264:4;20138:131;:::i;:::-;20130:139;;19857:419;;;:::o;20282:222::-;20422:34;20418:1;20410:6;20406:14;20399:58;20491:5;20486:2;20478:6;20474:15;20467:30;20282:222;:::o;20510:366::-;20652:3;20673:67;20737:2;20732:3;20673:67;:::i;:::-;20666:74;;20749:93;20838:3;20749:93;:::i;:::-;20867:2;20862:3;20858:12;20851:19;;20510:366;;;:::o;20882:419::-;21048:4;21086:2;21075:9;21071:18;21063:26;;21135:9;21129:4;21125:20;21121:1;21110:9;21106:17;21099:47;21163:131;21289:4;21163:131;:::i;:::-;21155:139;;20882:419;;;:::o;21307:228::-;21447:34;21443:1;21435:6;21431:14;21424:58;21516:11;21511:2;21503:6;21499:15;21492:36;21307:228;:::o;21541:366::-;21683:3;21704:67;21768:2;21763:3;21704:67;:::i;:::-;21697:74;;21780:93;21869:3;21780:93;:::i;:::-;21898:2;21893:3;21889:12;21882:19;;21541:366;;;:::o;21913:419::-;22079:4;22117:2;22106:9;22102:18;22094:26;;22166:9;22160:4;22156:20;22152:1;22141:9;22137:17;22130:47;22194:131;22320:4;22194:131;:::i;:::-;22186:139;;21913:419;;;:::o;22338:174::-;22478:26;22474:1;22466:6;22462:14;22455:50;22338:174;:::o;22518:366::-;22660:3;22681:67;22745:2;22740:3;22681:67;:::i;:::-;22674:74;;22757:93;22846:3;22757:93;:::i;:::-;22875:2;22870:3;22866:12;22859:19;;22518:366;;;:::o;22890:419::-;23056:4;23094:2;23083:9;23079:18;23071:26;;23143:9;23137:4;23133:20;23129:1;23118:9;23114:17;23107:47;23171:131;23297:4;23171:131;:::i;:::-;23163:139;;22890:419;;;:::o;23315:161::-;23455:13;23451:1;23443:6;23439:14;23432:37;23315:161;:::o;23482:366::-;23624:3;23645:67;23709:2;23704:3;23645:67;:::i;:::-;23638:74;;23721:93;23810:3;23721:93;:::i;:::-;23839:2;23834:3;23830:12;23823:19;;23482:366;;;:::o;23854:419::-;24020:4;24058:2;24047:9;24043:18;24035:26;;24107:9;24101:4;24097:20;24093:1;24082:9;24078:17;24071:47;24135:131;24261:4;24135:131;:::i;:::-;24127:139;;23854:419;;;:::o;24279:305::-;24319:3;24338:20;24356:1;24338:20;:::i;:::-;24333:25;;24372:20;24390:1;24372:20;:::i;:::-;24367:25;;24526:1;24458:66;24454:74;24451:1;24448:81;24445:107;;;24532:18;;:::i;:::-;24445:107;24576:1;24573;24569:9;24562:16;;24279:305;;;;:::o;24590:226::-;24730:34;24726:1;24718:6;24714:14;24707:58;24799:9;24794:2;24786:6;24782:15;24775:34;24590:226;:::o;24822:366::-;24964:3;24985:67;25049:2;25044:3;24985:67;:::i;:::-;24978:74;;25061:93;25150:3;25061:93;:::i;:::-;25179:2;25174:3;25170:12;25163:19;;24822:366;;;:::o;25194:419::-;25360:4;25398:2;25387:9;25383:18;25375:26;;25447:9;25441:4;25437:20;25433:1;25422:9;25418:17;25411:47;25475:131;25601:4;25475:131;:::i;:::-;25467:139;;25194:419;;;:::o;25619:177::-;25759:29;25755:1;25747:6;25743:14;25736:53;25619:177;:::o;25802:366::-;25944:3;25965:67;26029:2;26024:3;25965:67;:::i;:::-;25958:74;;26041:93;26130:3;26041:93;:::i;:::-;26159:2;26154:3;26150:12;26143:19;;25802:366;;;:::o;26174:419::-;26340:4;26378:2;26367:9;26363:18;26355:26;;26427:9;26421:4;26417:20;26413:1;26402:9;26398:17;26391:47;26455:131;26581:4;26455:131;:::i;:::-;26447:139;;26174:419;;;:::o;26599:221::-;26739:34;26735:1;26727:6;26723:14;26716:58;26808:4;26803:2;26795:6;26791:15;26784:29;26599:221;:::o;26826:366::-;26968:3;26989:67;27053:2;27048:3;26989:67;:::i;:::-;26982:74;;27065:93;27154:3;27065:93;:::i;:::-;27183:2;27178:3;27174:12;27167:19;;26826:366;;;:::o;27198:419::-;27364:4;27402:2;27391:9;27387:18;27379:26;;27451:9;27445:4;27441:20;27437:1;27426:9;27422:17;27415:47;27479:131;27605:4;27479:131;:::i;:::-;27471:139;;27198:419;;;:::o;27623:222::-;27763:34;27759:1;27751:6;27747:14;27740:58;27832:5;27827:2;27819:6;27815:15;27808:30;27623:222;:::o;27851:366::-;27993:3;28014:67;28078:2;28073:3;28014:67;:::i;:::-;28007:74;;28090:93;28179:3;28090:93;:::i;:::-;28208:2;28203:3;28199:12;28192:19;;27851:366;;;:::o;28223:419::-;28389:4;28427:2;28416:9;28412:18;28404:26;;28476:9;28470:4;28466:20;28462:1;28451:9;28447:17;28440:47;28504:131;28630:4;28504:131;:::i;:::-;28496:139;;28223:419;;;:::o;28648:348::-;28688:7;28711:20;28729:1;28711:20;:::i;:::-;28706:25;;28745:20;28763:1;28745:20;:::i;:::-;28740:25;;28933:1;28865:66;28861:74;28858:1;28855:81;28850:1;28843:9;28836:17;28832:105;28829:131;;;28940:18;;:::i;:::-;28829:131;28988:1;28985;28981:9;28970:20;;28648:348;;;;:::o;29002:180::-;29050:77;29047:1;29040:88;29147:4;29144:1;29137:15;29171:4;29168:1;29161:15;29188:185;29228:1;29245:20;29263:1;29245:20;:::i;:::-;29240:25;;29279:20;29297:1;29279:20;:::i;:::-;29274:25;;29318:1;29308:35;;29323:18;;:::i;:::-;29308:35;29365:1;29362;29358:9;29353:14;;29188:185;;;;:::o;29379:180::-;29427:77;29424:1;29417:88;29524:4;29521:1;29514:15;29548:4;29545:1;29538:15;29565:180;29613:77;29610:1;29603:88;29710:4;29707:1;29700:15;29734:4;29731:1;29724:15;29751:114;29818:6;29852:5;29846:12;29836:22;;29751:114;;;:::o;29871:184::-;29970:11;30004:6;29999:3;29992:19;30044:4;30039:3;30035:14;30020:29;;29871:184;;;;:::o;30061:132::-;30128:4;30151:3;30143:11;;30181:4;30176:3;30172:14;30164:22;;30061:132;;;:::o;30199:108::-;30276:24;30294:5;30276:24;:::i;:::-;30271:3;30264:37;30199:108;;:::o;30313:179::-;30382:10;30403:46;30445:3;30437:6;30403:46;:::i;:::-;30481:4;30476:3;30472:14;30458:28;;30313:179;;;;:::o;30498:113::-;30568:4;30600;30595:3;30591:14;30583:22;;30498:113;;;:::o;30647:732::-;30766:3;30795:54;30843:5;30795:54;:::i;:::-;30865:86;30944:6;30939:3;30865:86;:::i;:::-;30858:93;;30975:56;31025:5;30975:56;:::i;:::-;31054:7;31085:1;31070:284;31095:6;31092:1;31089:13;31070:284;;;31171:6;31165:13;31198:63;31257:3;31242:13;31198:63;:::i;:::-;31191:70;;31284:60;31337:6;31284:60;:::i;:::-;31274:70;;31130:224;31117:1;31114;31110:9;31105:14;;31070:284;;;31074:14;31370:3;31363:10;;30771:608;;;30647:732;;;;:::o;31385:831::-;31648:4;31686:3;31675:9;31671:19;31663:27;;31700:71;31768:1;31757:9;31753:17;31744:6;31700:71;:::i;:::-;31781:80;31857:2;31846:9;31842:18;31833:6;31781:80;:::i;:::-;31908:9;31902:4;31898:20;31893:2;31882:9;31878:18;31871:48;31936:108;32039:4;32030:6;31936:108;:::i;:::-;31928:116;;32054:72;32122:2;32111:9;32107:18;32098:6;32054:72;:::i;:::-;32136:73;32204:3;32193:9;32189:19;32180:6;32136:73;:::i;:::-;31385:831;;;;;;;;:::o
Swarm Source
ipfs://9ccf740f5f8dadfb58802990dea25f3b488df6dd2559f45e5acf26813185d7d2
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.