Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
100,000,000 GRIM
Holders
321
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 8 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
GrimReaper
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-03-20 */ //SPDX-License-Identifier: MIT /** https://t.me/GrimReaperCoin **/ pragma solidity ^0.8.12; 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); } abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } contract Ownable is Context { address private _owner; 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); } } contract GrimReaper is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _balance; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping(address => bool) public bots; uint256 private _tTotal = 100000000 * 10**8; uint256 private _taxFee; address payable private _taxWallet; uint256 private _maxTxAmount; uint256 private _maxWallet; string private constant _name = "Grim Reaper"; string private constant _symbol = "GRIM"; uint8 private constant _decimals = 8; IUniswapV2Router02 private _uniswap; address private _pair; bool private _canTrade; bool private _inSwap = false; bool private _swapEnabled = false; modifier lockTheSwap { _inSwap = true; _; _inSwap = false; } constructor () { _taxWallet = payable(_msgSender()); _taxFee = 11; _uniswap = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _isExcludedFromFee[address(this)] = true; _isExcludedFromFee[_taxWallet] = true; _maxTxAmount=_tTotal.div(100); _maxWallet=_tTotal.div(50); _balance[address(this)] = _tTotal; emit Transfer(address(0x0), address(this), _tTotal); } function maxTxAmount() public view returns (uint256){ return _maxTxAmount; } function maxWallet() public view returns (uint256){ return _maxWallet; } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint8) { return _decimals; } function totalSupply() public view override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _balance[account]; } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address from, address to, uint256 amount) private { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); require(!bots[from] && !bots[to], "This account is blacklisted"); if (from != owner() && to != owner()) { if (from == _pair && to != address(_uniswap) && ! _isExcludedFromFee[to] ) { require(amount<=_maxTxAmount,"Transaction amount limited"); require(_canTrade,"Trading not started"); require(balanceOf(to) + amount <= _maxWallet, "Balance exceeded wallet size"); } uint256 contractTokenBalance = balanceOf(address(this)); if (!_inSwap && from != _pair && _swapEnabled) { swapTokensForEth(contractTokenBalance); uint256 contractETHBalance = address(this).balance; if(contractETHBalance >= 1000000000000000000) { sendETHToFee(address(this).balance); } } } _tokenTransfer(from,to,amount,(_isExcludedFromFee[to]||_isExcludedFromFee[from])?0:_taxFee); } function swapTokensForEth(uint256 tokenAmount) private lockTheSwap { address[] memory path = new address[](2); path[0] = address(this); path[1] = _uniswap.WETH(); _approve(address(this), address(_uniswap), tokenAmount); _uniswap.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function setMaxTx(uint256 amount) public onlyOwner{ require(amount>_maxTxAmount); _maxTxAmount=amount; } function sendETHToFee(uint256 amount) private { _taxWallet.transfer(amount); } function createPair() external onlyOwner { require(!_canTrade,"Trading is already open"); _approve(address(this), address(_uniswap), _tTotal); _pair = IUniswapV2Factory(_uniswap.factory()).createPair(address(this), _uniswap.WETH()); IERC20(_pair).approve(address(_uniswap), type(uint).max); } function addLiquidity() external onlyOwner{ _uniswap.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp); _swapEnabled = true; } function enableTrading() external onlyOwner{ _canTrade = true; } function _tokenTransfer(address sender, address recipient, uint256 tAmount, uint256 taxRate) private { uint256 tTeam = tAmount.mul(taxRate).div(100); uint256 tTransferAmount = tAmount.sub(tTeam); _balance[sender] = _balance[sender].sub(tAmount); _balance[recipient] = _balance[recipient].add(tTransferAmount); _balance[address(this)] = _balance[address(this)].add(tTeam); emit Transfer(sender, recipient, tTransferAmount); } function setMaxWallet(uint256 amount) public onlyOwner{ require(amount>_maxWallet); _maxWallet=amount; } receive() external payable {} function blockBots(address[] memory bots_) public onlyOwner {for (uint256 i = 0; i < bots_.length; i++) {bots[bots_[i]] = true;}} function unblockBot(address notbot) public onlyOwner { bots[notbot] = false; } function manualsend() public{ uint256 contractETHBalance = address(this).balance; sendETHToFee(contractETHBalance); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"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":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bots","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxTx","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052662386f26fc100006006556000600c60156101000a81548160ff0219169083151502179055506000600c60166101000a81548160ff0219169083151502179055503480156200005257600080fd5b506000620000656200037e60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001136200037e60201b60201c565b600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b600781905550737a250d5630b4cf539739df2c5dacb4c659f2488d600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200029f60646006546200038660201b620012941790919060201c565b600981905550620002c260326006546200038660201b620012941790919060201c565b600a81905550600654600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040516200037091906200045b565b60405180910390a3620005a7565b600033905090565b6000620003d083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620003d860201b60201c565b905092915050565b6000808311829062000422576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200041991906200051c565b60405180910390fd5b50600083856200043391906200056f565b9050809150509392505050565b6000819050919050565b620004558162000440565b82525050565b60006020820190506200047260008301846200044a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015620004b457808201518184015260208101905062000497565b83811115620004c4576000848401525b50505050565b6000601f19601f8301169050919050565b6000620004e88262000478565b620004f4818562000483565b93506200050681856020860162000494565b6200051181620004ca565b840191505092915050565b60006020820190508181036000830152620005388184620004db565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200057c8262000440565b9150620005898362000440565b9250826200059c576200059b62000540565b5b828204905092915050565b61327980620005b76000396000f3fe6080604052600436106101385760003560e01c80638a8c523c116100ab578063a9059cbb1161006f578063a9059cbb146103d4578063bc33718214610411578063bfd792841461043a578063dd62ed3e14610477578063e8078d94146104b4578063f8b45b05146104cb5761013f565b80638a8c523c146103255780638c0b5e221461033c5780638da5cb5b1461036757806395d89b41146103925780639e78fb4f146103bd5761013f565b8063313ce567116100fd578063313ce5671461023d5780635d0044ca146102685780636b999053146102915780636fc3eaec146102ba57806370a08231146102d1578063715018a61461030e5761013f565b8062b8cf2a1461014457806306fdde031461016d578063095ea7b31461019857806318160ddd146101d557806323b872dd146102005761013f565b3661013f57005b600080fd5b34801561015057600080fd5b5061016b600480360381019061016691906123a7565b6104f6565b005b34801561017957600080fd5b50610182610620565b60405161018f9190612478565b60405180910390f35b3480156101a457600080fd5b506101bf60048036038101906101ba91906124d0565b61065d565b6040516101cc919061252b565b60405180910390f35b3480156101e157600080fd5b506101ea61067b565b6040516101f79190612555565b60405180910390f35b34801561020c57600080fd5b5061022760048036038101906102229190612570565b610685565b604051610234919061252b565b60405180910390f35b34801561024957600080fd5b5061025261075e565b60405161025f91906125df565b60405180910390f35b34801561027457600080fd5b5061028f600480360381019061028a91906125fa565b610767565b005b34801561029d57600080fd5b506102b860048036038101906102b39190612627565b610814565b005b3480156102c657600080fd5b506102cf610904565b005b3480156102dd57600080fd5b506102f860048036038101906102f39190612627565b610915565b6040516103059190612555565b60405180910390f35b34801561031a57600080fd5b5061032361095e565b005b34801561033157600080fd5b5061033a610ab1565b005b34801561034857600080fd5b50610351610b63565b60405161035e9190612555565b60405180910390f35b34801561037357600080fd5b5061037c610b6d565b6040516103899190612663565b60405180910390f35b34801561039e57600080fd5b506103a7610b96565b6040516103b49190612478565b60405180910390f35b3480156103c957600080fd5b506103d2610bd3565b005b3480156103e057600080fd5b506103fb60048036038101906103f691906124d0565b610faa565b604051610408919061252b565b60405180910390f35b34801561041d57600080fd5b50610438600480360381019061043391906125fa565b610fc8565b005b34801561044657600080fd5b50610461600480360381019061045c9190612627565b611075565b60405161046e919061252b565b60405180910390f35b34801561048357600080fd5b5061049e6004803603810190610499919061267e565b611095565b6040516104ab9190612555565b60405180910390f35b3480156104c057600080fd5b506104c961111c565b005b3480156104d757600080fd5b506104e061128a565b6040516104ed9190612555565b60405180910390f35b6104fe6112de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461058b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105829061270a565b60405180910390fd5b60005b815181101561061c576001600560008484815181106105b0576105af61272a565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061061490612788565b91505061058e565b5050565b60606040518060400160405280600b81526020017f4772696d20526561706572000000000000000000000000000000000000000000815250905090565b600061067161066a6112de565b84846112e6565b6001905092915050565b6000600654905090565b60006106928484846114af565b6107538461069e6112de565b61074e8560405180606001604052806028815260200161321c60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107046112de565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aa19092919063ffffffff16565b6112e6565b600190509392505050565b60006008905090565b61076f6112de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f39061270a565b60405180910390fd5b600a54811161080a57600080fd5b80600a8190555050565b61081c6112de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a09061270a565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600047905061091281611b05565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109666112de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ea9061270a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ab96112de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3d9061270a565b60405180910390fd5b6001600c60146101000a81548160ff021916908315150217905550565b6000600954905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4752494d00000000000000000000000000000000000000000000000000000000815250905090565b610bdb6112de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5f9061270a565b60405180910390fd5b600c60149054906101000a900460ff1615610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caf9061281c565b60405180910390fd5b610ce730600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006546112e6565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d789190612851565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e259190612851565b6040518363ffffffff1660e01b8152600401610e4292919061287e565b6020604051808303816000875af1158015610e61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e859190612851565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f649291906128a7565b6020604051808303816000875af1158015610f83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa791906128fc565b50565b6000610fbe610fb76112de565b84846114af565b6001905092915050565b610fd06112de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461105d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110549061270a565b60405180910390fd5b600954811161106b57600080fd5b8060098190555050565b60056020528060005260406000206000915054906101000a900460ff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6111246112de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a89061270a565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306111fa30610915565b600080611205610b6d565b426040518863ffffffff1660e01b81526004016112279695949392919061296e565b60606040518083038185885af1158015611245573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061126a91906129e4565b5050506001600c60166101000a81548160ff021916908315150217905550565b6000600a54905090565b60006112d683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b71565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611355576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134c90612aa9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bb90612b3b565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114a29190612555565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361151e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151590612bcd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361158d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158490612c5f565b60405180910390fd5b600081116115d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c790612cf1565b60405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116745750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6116b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116aa90612d5d565b60405180910390fd5b6116bb610b6d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561172957506116f9610b6d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156119e157600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156117d95750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561182f5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561192157600954811115611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187090612dc9565b60405180910390fd5b600c60149054906101000a900460ff166118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf90612e35565b60405180910390fd5b600a54816118d584610915565b6118df9190612e55565b1115611920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191790612ef7565b60405180910390fd5b5b600061192c30610915565b9050600c60159054906101000a900460ff161580156119995750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156119b15750600c60169054906101000a900460ff165b156119df576119bf81611bd4565b6000479050670de0b6b3a764000081106119dd576119dc47611b05565b5b505b505b611a9c838383600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611a885750600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a9457600754611a97565b60005b611e4d565b505050565b6000838311158290611ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae09190612478565b60405180910390fd5b5060008385611af89190612f17565b9050809150509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b6d573d6000803e3d6000fd5b5050565b60008083118290611bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611baf9190612478565b60405180910390fd5b5060008385611bc79190612f7a565b9050809150509392505050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c0c57611c0b612206565b5b604051908082528060200260200182016040528015611c3a5781602001602082028036833780820191505090505b5090503081600081518110611c5257611c5161272a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d1d9190612851565b81600181518110611d3157611d3061272a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d9830600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112e6565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611dfc959493929190613069565b600060405180830381600087803b158015611e1657600080fd5b505af1158015611e2a573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b6000611e756064611e6784866120ba90919063ffffffff16565b61129490919063ffffffff16565b90506000611e8c828561213490919063ffffffff16565b9050611ee084600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461213490919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f7581600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461217e90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061200a82600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461217e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120aa9190612555565b60405180910390a3505050505050565b60008083036120cc576000905061212e565b600082846120da91906130c3565b90508284826120e99190612f7a565b14612129576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121209061318f565b60405180910390fd5b809150505b92915050565b600061217683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611aa1565b905092915050565b600080828461218d9190612e55565b9050838110156121d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c9906131fb565b60405180910390fd5b8091505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61223e826121f5565b810181811067ffffffffffffffff8211171561225d5761225c612206565b5b80604052505050565b60006122706121dc565b905061227c8282612235565b919050565b600067ffffffffffffffff82111561229c5761229b612206565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122dd826122b2565b9050919050565b6122ed816122d2565b81146122f857600080fd5b50565b60008135905061230a816122e4565b92915050565b600061232361231e84612281565b612266565b90508083825260208201905060208402830185811115612346576123456122ad565b5b835b8181101561236f578061235b88826122fb565b845260208401935050602081019050612348565b5050509392505050565b600082601f83011261238e5761238d6121f0565b5b813561239e848260208601612310565b91505092915050565b6000602082840312156123bd576123bc6121e6565b5b600082013567ffffffffffffffff8111156123db576123da6121eb565b5b6123e784828501612379565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561242a57808201518184015260208101905061240f565b83811115612439576000848401525b50505050565b600061244a826123f0565b61245481856123fb565b935061246481856020860161240c565b61246d816121f5565b840191505092915050565b60006020820190508181036000830152612492818461243f565b905092915050565b6000819050919050565b6124ad8161249a565b81146124b857600080fd5b50565b6000813590506124ca816124a4565b92915050565b600080604083850312156124e7576124e66121e6565b5b60006124f5858286016122fb565b9250506020612506858286016124bb565b9150509250929050565b60008115159050919050565b61252581612510565b82525050565b6000602082019050612540600083018461251c565b92915050565b61254f8161249a565b82525050565b600060208201905061256a6000830184612546565b92915050565b600080600060608486031215612589576125886121e6565b5b6000612597868287016122fb565b93505060206125a8868287016122fb565b92505060406125b9868287016124bb565b9150509250925092565b600060ff82169050919050565b6125d9816125c3565b82525050565b60006020820190506125f460008301846125d0565b92915050565b6000602082840312156126105761260f6121e6565b5b600061261e848285016124bb565b91505092915050565b60006020828403121561263d5761263c6121e6565b5b600061264b848285016122fb565b91505092915050565b61265d816122d2565b82525050565b60006020820190506126786000830184612654565b92915050565b60008060408385031215612695576126946121e6565b5b60006126a3858286016122fb565b92505060206126b4858286016122fb565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006126f46020836123fb565b91506126ff826126be565b602082019050919050565b60006020820190508181036000830152612723816126e7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006127938261249a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127c5576127c4612759565b5b600182019050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006128066017836123fb565b9150612811826127d0565b602082019050919050565b60006020820190508181036000830152612835816127f9565b9050919050565b60008151905061284b816122e4565b92915050565b600060208284031215612867576128666121e6565b5b60006128758482850161283c565b91505092915050565b60006040820190506128936000830185612654565b6128a06020830184612654565b9392505050565b60006040820190506128bc6000830185612654565b6128c96020830184612546565b9392505050565b6128d981612510565b81146128e457600080fd5b50565b6000815190506128f6816128d0565b92915050565b600060208284031215612912576129116121e6565b5b6000612920848285016128e7565b91505092915050565b6000819050919050565b6000819050919050565b600061295861295361294e84612929565b612933565b61249a565b9050919050565b6129688161293d565b82525050565b600060c0820190506129836000830189612654565b6129906020830188612546565b61299d604083018761295f565b6129aa606083018661295f565b6129b76080830185612654565b6129c460a0830184612546565b979650505050505050565b6000815190506129de816124a4565b92915050565b6000806000606084860312156129fd576129fc6121e6565b5b6000612a0b868287016129cf565b9350506020612a1c868287016129cf565b9250506040612a2d868287016129cf565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a936024836123fb565b9150612a9e82612a37565b604082019050919050565b60006020820190508181036000830152612ac281612a86565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b256022836123fb565b9150612b3082612ac9565b604082019050919050565b60006020820190508181036000830152612b5481612b18565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612bb76025836123fb565b9150612bc282612b5b565b604082019050919050565b60006020820190508181036000830152612be681612baa565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c496023836123fb565b9150612c5482612bed565b604082019050919050565b60006020820190508181036000830152612c7881612c3c565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612cdb6029836123fb565b9150612ce682612c7f565b604082019050919050565b60006020820190508181036000830152612d0a81612cce565b9050919050565b7f54686973206163636f756e7420697320626c61636b6c69737465640000000000600082015250565b6000612d47601b836123fb565b9150612d5282612d11565b602082019050919050565b60006020820190508181036000830152612d7681612d3a565b9050919050565b7f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000600082015250565b6000612db3601a836123fb565b9150612dbe82612d7d565b602082019050919050565b60006020820190508181036000830152612de281612da6565b9050919050565b7f54726164696e67206e6f74207374617274656400000000000000000000000000600082015250565b6000612e1f6013836123fb565b9150612e2a82612de9565b602082019050919050565b60006020820190508181036000830152612e4e81612e12565b9050919050565b6000612e608261249a565b9150612e6b8361249a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ea057612e9f612759565b5b828201905092915050565b7f42616c616e63652065786365656465642077616c6c65742073697a6500000000600082015250565b6000612ee1601c836123fb565b9150612eec82612eab565b602082019050919050565b60006020820190508181036000830152612f1081612ed4565b9050919050565b6000612f228261249a565b9150612f2d8361249a565b925082821015612f4057612f3f612759565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f858261249a565b9150612f908361249a565b925082612fa057612f9f612f4b565b5b828204905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612fe0816122d2565b82525050565b6000612ff28383612fd7565b60208301905092915050565b6000602082019050919050565b600061301682612fab565b6130208185612fb6565b935061302b83612fc7565b8060005b8381101561305c5781516130438882612fe6565b975061304e83612ffe565b92505060018101905061302f565b5085935050505092915050565b600060a08201905061307e6000830188612546565b61308b602083018761295f565b818103604083015261309d818661300b565b90506130ac6060830185612654565b6130b96080830184612546565b9695505050505050565b60006130ce8261249a565b91506130d98361249a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561311257613111612759565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006131796021836123fb565b91506131848261311d565b604082019050919050565b600060208201905081810360008301526131a88161316c565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006131e5601b836123fb565b91506131f0826131af565b602082019050919050565b60006020820190508181036000830152613214816131d8565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122047001b80913fce676d44290a0fad870975a4069c6a93f6e42156735606c2cbce64736f6c634300080d0033
Deployed Bytecode
0x6080604052600436106101385760003560e01c80638a8c523c116100ab578063a9059cbb1161006f578063a9059cbb146103d4578063bc33718214610411578063bfd792841461043a578063dd62ed3e14610477578063e8078d94146104b4578063f8b45b05146104cb5761013f565b80638a8c523c146103255780638c0b5e221461033c5780638da5cb5b1461036757806395d89b41146103925780639e78fb4f146103bd5761013f565b8063313ce567116100fd578063313ce5671461023d5780635d0044ca146102685780636b999053146102915780636fc3eaec146102ba57806370a08231146102d1578063715018a61461030e5761013f565b8062b8cf2a1461014457806306fdde031461016d578063095ea7b31461019857806318160ddd146101d557806323b872dd146102005761013f565b3661013f57005b600080fd5b34801561015057600080fd5b5061016b600480360381019061016691906123a7565b6104f6565b005b34801561017957600080fd5b50610182610620565b60405161018f9190612478565b60405180910390f35b3480156101a457600080fd5b506101bf60048036038101906101ba91906124d0565b61065d565b6040516101cc919061252b565b60405180910390f35b3480156101e157600080fd5b506101ea61067b565b6040516101f79190612555565b60405180910390f35b34801561020c57600080fd5b5061022760048036038101906102229190612570565b610685565b604051610234919061252b565b60405180910390f35b34801561024957600080fd5b5061025261075e565b60405161025f91906125df565b60405180910390f35b34801561027457600080fd5b5061028f600480360381019061028a91906125fa565b610767565b005b34801561029d57600080fd5b506102b860048036038101906102b39190612627565b610814565b005b3480156102c657600080fd5b506102cf610904565b005b3480156102dd57600080fd5b506102f860048036038101906102f39190612627565b610915565b6040516103059190612555565b60405180910390f35b34801561031a57600080fd5b5061032361095e565b005b34801561033157600080fd5b5061033a610ab1565b005b34801561034857600080fd5b50610351610b63565b60405161035e9190612555565b60405180910390f35b34801561037357600080fd5b5061037c610b6d565b6040516103899190612663565b60405180910390f35b34801561039e57600080fd5b506103a7610b96565b6040516103b49190612478565b60405180910390f35b3480156103c957600080fd5b506103d2610bd3565b005b3480156103e057600080fd5b506103fb60048036038101906103f691906124d0565b610faa565b604051610408919061252b565b60405180910390f35b34801561041d57600080fd5b50610438600480360381019061043391906125fa565b610fc8565b005b34801561044657600080fd5b50610461600480360381019061045c9190612627565b611075565b60405161046e919061252b565b60405180910390f35b34801561048357600080fd5b5061049e6004803603810190610499919061267e565b611095565b6040516104ab9190612555565b60405180910390f35b3480156104c057600080fd5b506104c961111c565b005b3480156104d757600080fd5b506104e061128a565b6040516104ed9190612555565b60405180910390f35b6104fe6112de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461058b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105829061270a565b60405180910390fd5b60005b815181101561061c576001600560008484815181106105b0576105af61272a565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061061490612788565b91505061058e565b5050565b60606040518060400160405280600b81526020017f4772696d20526561706572000000000000000000000000000000000000000000815250905090565b600061067161066a6112de565b84846112e6565b6001905092915050565b6000600654905090565b60006106928484846114af565b6107538461069e6112de565b61074e8560405180606001604052806028815260200161321c60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107046112de565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611aa19092919063ffffffff16565b6112e6565b600190509392505050565b60006008905090565b61076f6112de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f39061270a565b60405180910390fd5b600a54811161080a57600080fd5b80600a8190555050565b61081c6112de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a09061270a565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600047905061091281611b05565b50565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109666112de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ea9061270a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610ab96112de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3d9061270a565b60405180910390fd5b6001600c60146101000a81548160ff021916908315150217905550565b6000600954905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4752494d00000000000000000000000000000000000000000000000000000000815250905090565b610bdb6112de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5f9061270a565b60405180910390fd5b600c60149054906101000a900460ff1615610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caf9061281c565b60405180910390fd5b610ce730600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006546112e6565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d789190612851565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e259190612851565b6040518363ffffffff1660e01b8152600401610e4292919061287e565b6020604051808303816000875af1158015610e61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e859190612851565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f649291906128a7565b6020604051808303816000875af1158015610f83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa791906128fc565b50565b6000610fbe610fb76112de565b84846114af565b6001905092915050565b610fd06112de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461105d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110549061270a565b60405180910390fd5b600954811161106b57600080fd5b8060098190555050565b60056020528060005260406000206000915054906101000a900460ff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6111246112de565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a89061270a565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306111fa30610915565b600080611205610b6d565b426040518863ffffffff1660e01b81526004016112279695949392919061296e565b60606040518083038185885af1158015611245573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061126a91906129e4565b5050506001600c60166101000a81548160ff021916908315150217905550565b6000600a54905090565b60006112d683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b71565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611355576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134c90612aa9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bb90612b3b565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114a29190612555565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361151e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151590612bcd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361158d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158490612c5f565b60405180910390fd5b600081116115d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c790612cf1565b60405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156116745750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6116b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116aa90612d5d565b60405180910390fd5b6116bb610b6d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561172957506116f9610b6d565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156119e157600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156117d95750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561182f5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561192157600954811115611879576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187090612dc9565b60405180910390fd5b600c60149054906101000a900460ff166118c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bf90612e35565b60405180910390fd5b600a54816118d584610915565b6118df9190612e55565b1115611920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191790612ef7565b60405180910390fd5b5b600061192c30610915565b9050600c60159054906101000a900460ff161580156119995750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156119b15750600c60169054906101000a900460ff165b156119df576119bf81611bd4565b6000479050670de0b6b3a764000081106119dd576119dc47611b05565b5b505b505b611a9c838383600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611a885750600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a9457600754611a97565b60005b611e4d565b505050565b6000838311158290611ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae09190612478565b60405180910390fd5b5060008385611af89190612f17565b9050809150509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611b6d573d6000803e3d6000fd5b5050565b60008083118290611bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611baf9190612478565b60405180910390fd5b5060008385611bc79190612f7a565b9050809150509392505050565b6001600c60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611c0c57611c0b612206565b5b604051908082528060200260200182016040528015611c3a5781602001602082028036833780820191505090505b5090503081600081518110611c5257611c5161272a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d1d9190612851565b81600181518110611d3157611d3061272a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d9830600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846112e6565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611dfc959493929190613069565b600060405180830381600087803b158015611e1657600080fd5b505af1158015611e2a573d6000803e3d6000fd5b50505050506000600c60156101000a81548160ff02191690831515021790555050565b6000611e756064611e6784866120ba90919063ffffffff16565b61129490919063ffffffff16565b90506000611e8c828561213490919063ffffffff16565b9050611ee084600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461213490919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611f7581600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461217e90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061200a82600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461217e90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516120aa9190612555565b60405180910390a3505050505050565b60008083036120cc576000905061212e565b600082846120da91906130c3565b90508284826120e99190612f7a565b14612129576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121209061318f565b60405180910390fd5b809150505b92915050565b600061217683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611aa1565b905092915050565b600080828461218d9190612e55565b9050838110156121d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c9906131fb565b60405180910390fd5b8091505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61223e826121f5565b810181811067ffffffffffffffff8211171561225d5761225c612206565b5b80604052505050565b60006122706121dc565b905061227c8282612235565b919050565b600067ffffffffffffffff82111561229c5761229b612206565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122dd826122b2565b9050919050565b6122ed816122d2565b81146122f857600080fd5b50565b60008135905061230a816122e4565b92915050565b600061232361231e84612281565b612266565b90508083825260208201905060208402830185811115612346576123456122ad565b5b835b8181101561236f578061235b88826122fb565b845260208401935050602081019050612348565b5050509392505050565b600082601f83011261238e5761238d6121f0565b5b813561239e848260208601612310565b91505092915050565b6000602082840312156123bd576123bc6121e6565b5b600082013567ffffffffffffffff8111156123db576123da6121eb565b5b6123e784828501612379565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561242a57808201518184015260208101905061240f565b83811115612439576000848401525b50505050565b600061244a826123f0565b61245481856123fb565b935061246481856020860161240c565b61246d816121f5565b840191505092915050565b60006020820190508181036000830152612492818461243f565b905092915050565b6000819050919050565b6124ad8161249a565b81146124b857600080fd5b50565b6000813590506124ca816124a4565b92915050565b600080604083850312156124e7576124e66121e6565b5b60006124f5858286016122fb565b9250506020612506858286016124bb565b9150509250929050565b60008115159050919050565b61252581612510565b82525050565b6000602082019050612540600083018461251c565b92915050565b61254f8161249a565b82525050565b600060208201905061256a6000830184612546565b92915050565b600080600060608486031215612589576125886121e6565b5b6000612597868287016122fb565b93505060206125a8868287016122fb565b92505060406125b9868287016124bb565b9150509250925092565b600060ff82169050919050565b6125d9816125c3565b82525050565b60006020820190506125f460008301846125d0565b92915050565b6000602082840312156126105761260f6121e6565b5b600061261e848285016124bb565b91505092915050565b60006020828403121561263d5761263c6121e6565b5b600061264b848285016122fb565b91505092915050565b61265d816122d2565b82525050565b60006020820190506126786000830184612654565b92915050565b60008060408385031215612695576126946121e6565b5b60006126a3858286016122fb565b92505060206126b4858286016122fb565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006126f46020836123fb565b91506126ff826126be565b602082019050919050565b60006020820190508181036000830152612723816126e7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006127938261249a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127c5576127c4612759565b5b600182019050919050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006128066017836123fb565b9150612811826127d0565b602082019050919050565b60006020820190508181036000830152612835816127f9565b9050919050565b60008151905061284b816122e4565b92915050565b600060208284031215612867576128666121e6565b5b60006128758482850161283c565b91505092915050565b60006040820190506128936000830185612654565b6128a06020830184612654565b9392505050565b60006040820190506128bc6000830185612654565b6128c96020830184612546565b9392505050565b6128d981612510565b81146128e457600080fd5b50565b6000815190506128f6816128d0565b92915050565b600060208284031215612912576129116121e6565b5b6000612920848285016128e7565b91505092915050565b6000819050919050565b6000819050919050565b600061295861295361294e84612929565b612933565b61249a565b9050919050565b6129688161293d565b82525050565b600060c0820190506129836000830189612654565b6129906020830188612546565b61299d604083018761295f565b6129aa606083018661295f565b6129b76080830185612654565b6129c460a0830184612546565b979650505050505050565b6000815190506129de816124a4565b92915050565b6000806000606084860312156129fd576129fc6121e6565b5b6000612a0b868287016129cf565b9350506020612a1c868287016129cf565b9250506040612a2d868287016129cf565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612a936024836123fb565b9150612a9e82612a37565b604082019050919050565b60006020820190508181036000830152612ac281612a86565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b256022836123fb565b9150612b3082612ac9565b604082019050919050565b60006020820190508181036000830152612b5481612b18565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612bb76025836123fb565b9150612bc282612b5b565b604082019050919050565b60006020820190508181036000830152612be681612baa565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612c496023836123fb565b9150612c5482612bed565b604082019050919050565b60006020820190508181036000830152612c7881612c3c565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612cdb6029836123fb565b9150612ce682612c7f565b604082019050919050565b60006020820190508181036000830152612d0a81612cce565b9050919050565b7f54686973206163636f756e7420697320626c61636b6c69737465640000000000600082015250565b6000612d47601b836123fb565b9150612d5282612d11565b602082019050919050565b60006020820190508181036000830152612d7681612d3a565b9050919050565b7f5472616e73616374696f6e20616d6f756e74206c696d69746564000000000000600082015250565b6000612db3601a836123fb565b9150612dbe82612d7d565b602082019050919050565b60006020820190508181036000830152612de281612da6565b9050919050565b7f54726164696e67206e6f74207374617274656400000000000000000000000000600082015250565b6000612e1f6013836123fb565b9150612e2a82612de9565b602082019050919050565b60006020820190508181036000830152612e4e81612e12565b9050919050565b6000612e608261249a565b9150612e6b8361249a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ea057612e9f612759565b5b828201905092915050565b7f42616c616e63652065786365656465642077616c6c65742073697a6500000000600082015250565b6000612ee1601c836123fb565b9150612eec82612eab565b602082019050919050565b60006020820190508181036000830152612f1081612ed4565b9050919050565b6000612f228261249a565b9150612f2d8361249a565b925082821015612f4057612f3f612759565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f858261249a565b9150612f908361249a565b925082612fa057612f9f612f4b565b5b828204905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612fe0816122d2565b82525050565b6000612ff28383612fd7565b60208301905092915050565b6000602082019050919050565b600061301682612fab565b6130208185612fb6565b935061302b83612fc7565b8060005b8381101561305c5781516130438882612fe6565b975061304e83612ffe565b92505060018101905061302f565b5085935050505092915050565b600060a08201905061307e6000830188612546565b61308b602083018761295f565b818103604083015261309d818661300b565b90506130ac6060830185612654565b6130b96080830184612546565b9695505050505050565b60006130ce8261249a565b91506130d98361249a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561311257613111612759565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006131796021836123fb565b91506131848261311d565b604082019050919050565b600060208201905081810360008301526131a88161316c565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006131e5601b836123fb565b91506131f0826131af565b602082019050919050565b60006020820190508181036000830152613214816131d8565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122047001b80913fce676d44290a0fad870975a4069c6a93f6e42156735606c2cbce64736f6c634300080d0033
Deployed Bytecode Sourcemap
3210:6195:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9053:130;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4641:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5383:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4882:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5534:292;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4803:74;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8902:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9186:84;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9273:125;;;;;;;;;;;;;:::i;:::-;;4973:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3066:133;;;;;;;;;;;;;:::i;:::-;;8377:69;;;;;;;;;;;;;:::i;:::-;;4473:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2882:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4720:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7861:306;;;;;;;;;;;;;:::i;:::-;;5087:152;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7652:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3470:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5244:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8172:200;;;;;;;;;;;;;:::i;:::-;;4559:77;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9053:130;3001:12;:10;:12::i;:::-;2991:22;;:6;;;;;;;;;;:22;;;2983:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9120:9:::1;9115:67;9139:5;:12;9135:1;:16;9115:67;;;9176:4;9159;:14;9164:5;9170:1;9164:8;;;;;;;;:::i;:::-;;;;;;;;9159:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9153:3;;;;;:::i;:::-;;;;9115:67;;;;9053:130:::0;:::o;4641:74::-;4678:13;4705:5;;;;;;;;;;;;;;;;;4698:12;;4641:74;:::o;5383:146::-;5458:4;5469:39;5478:12;:10;:12::i;:::-;5492:7;5501:6;5469:8;:39::i;:::-;5520:4;5513:11;;5383:146;;;;:::o;4882:86::-;4935:7;4956;;4949:14;;4882:86;:::o;5534:292::-;5632:4;5643:36;5653:6;5661:9;5672:6;5643:9;:36::i;:::-;5684:121;5693:6;5701:12;:10;:12::i;:::-;5715:89;5753:6;5715:89;;;;;;;;;;;;;;;;;:11;:19;5727:6;5715:19;;;;;;;;;;;;;;;:33;5735:12;:10;:12::i;:::-;5715:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;5684:8;:121::i;:::-;5817:4;5810:11;;5534:292;;;;;:::o;4803:74::-;4844:5;3820:1;4856:16;;4803:74;:::o;8902:112::-;3001:12;:10;:12::i;:::-;2991:22;;:6;;;;;;;;;;:22;;;2983:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8976:10:::1;;8969:6;:17;8961:26;;;::::0;::::1;;9003:6;8992:10;:17;;;;8902:112:::0;:::o;9186:84::-;3001:12;:10;:12::i;:::-;2991:22;;:6;;;;;;;;;;:22;;;2983:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9260:5:::1;9245:4;:12;9250:6;9245:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;9186:84:::0;:::o;9273:125::-;9306:26;9335:21;9306:50;;9361:32;9374:18;9361:12;:32::i;:::-;9301:97;9273:125::o;4973:109::-;5039:7;5060:8;:17;5069:7;5060:17;;;;;;;;;;;;;;;;5053:24;;4973:109;;;:::o;3066:133::-;3001:12;:10;:12::i;:::-;2991:22;;:6;;;;;;;;;;:22;;;2983:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3167:1:::1;3130:40;;3151:6;::::0;::::1;;;;;;;;3130:40;;;;;;;;;;;;3192:1;3175:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;3066:133::o:0;8377:69::-;3001:12;:10;:12::i;:::-;2991:22;;:6;;;;;;;;;;:22;;;2983:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8437:4:::1;8425:9;;:16;;;;;;;;;;;;;;;;;;8377:69::o:0;4473:81::-;4517:7;4537:12;;4530:19;;4473:81;:::o;2882:70::-;2920:7;2941:6;;;;;;;;;;;2934:13;;2882:70;:::o;4720:78::-;4759:13;4786:7;;;;;;;;;;;;;;;;;4779:14;;4720:78;:::o;7861:306::-;3001:12;:10;:12::i;:::-;2991:22;;:6;;;;;;;;;;:22;;;2983:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7916:9:::1;;;;;;;;;;;7915:10;7907:45;;;;;;;;;;;;:::i;:::-;;;;;;;;;7957:51;7974:4;7989:8;;;;;;;;;;;8000:7;;7957:8;:51::i;:::-;8039:8;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8021:48;;;8078:4;8085:8;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8021:80;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8013:5;;:88;;;;;;;;;;;;;;;;;;8113:5;;;;;;;;;;;8106:21;;;8136:8;;;;;;;;;;;8147:14;8106:56;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7861:306::o:0;5087:152::-;5165:4;5176:42;5186:12;:10;:12::i;:::-;5200:9;5211:6;5176:9;:42::i;:::-;5230:4;5223:11;;5087:152;;;;:::o;7652:112::-;3001:12;:10;:12::i;:::-;2991:22;;:6;;;;;;;;;;:22;;;2983:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;7722:12:::1;;7715:6;:19;7707:28;;;::::0;::::1;;7753:6;7740:12;:19;;;;7652:112:::0;:::o;3470:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;5244:134::-;5325:7;5346:11;:18;5358:5;5346:18;;;;;;;;;;;;;;;:27;5365:7;5346:27;;;;;;;;;;;;;;;;5339:34;;5244:134;;;;:::o;8172:200::-;3001:12;:10;:12::i;:::-;2991:22;;:6;;;;;;;;;;:22;;;2983:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;8219:8:::1;;;;;;;;;;;:24;;;8251:21;8282:4;8288:24;8306:4;8288:9;:24::i;:::-;8313:1;8315::::0;8317:7:::1;:5;:7::i;:::-;8325:15;8219:122;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;8361:4;8346:12;;:19;;;;;;;;;;;;;;;;;;8172:200::o:0;4559:77::-;4601:7;4621:10;;4614:17;;4559:77;:::o;2258:123::-;2316:7;2337:39;2341:1;2344;2337:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2330:46;;2258:123;;;;:::o;810:89::-;863:7;884:10;877:17;;810:89;:::o;5831:308::-;5935:1;5918:19;;:5;:19;;;5910:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6010:1;5991:21;;:7;:21;;;5983:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6086:6;6056:11;:18;6068:5;6056:18;;;;;;;;;;;;;;;:27;6075:7;6056:27;;;;;;;;;;;;;;;:36;;;;6118:7;6102:32;;6111:5;6102:32;;;6127:6;6102:32;;;;;;:::i;:::-;;;;;;;;5831:308;;;:::o;6144:1112::-;6242:1;6226:18;;:4;:18;;;6218:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6313:1;6299:16;;:2;:16;;;6291:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6377:1;6368:6;:10;6360:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6438:4;:10;6443:4;6438:10;;;;;;;;;;;;;;;;;;;;;;;;;6437:11;:24;;;;;6453:4;:8;6458:2;6453:8;;;;;;;;;;;;;;;;;;;;;;;;;6452:9;6437:24;6429:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6512:7;:5;:7::i;:::-;6504:15;;:4;:15;;;;:32;;;;;6529:7;:5;:7::i;:::-;6523:13;;:2;:13;;;;6504:32;6500:654;;;6556:5;;;;;;;;;;;6548:13;;:4;:13;;;:40;;;;;6579:8;;;;;;;;;;;6565:23;;:2;:23;;;;6548:40;:68;;;;;6594:18;:22;6613:2;6594:22;;;;;;;;;;;;;;;;;;;;;;;;;6592:24;6548:68;6544:278;;;6642:12;;6634:6;:20;;6626:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;6699:9;;;;;;;;;;;6691:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;6772:10;;6762:6;6746:13;6756:2;6746:9;:13::i;:::-;:22;;;;:::i;:::-;:36;;6738:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;6544:278;6829:28;6860:24;6878:4;6860:9;:24::i;:::-;6829:55;;6895:7;;;;;;;;;;;6894:8;:25;;;;;6914:5;;;;;;;;;;;6906:13;;:4;:13;;;;6894:25;:41;;;;;6923:12;;;;;;;;;;;6894:41;6890:259;;;6944:38;6961:20;6944:16;:38::i;:::-;6989:26;7018:21;6989:50;;7071:19;7049:18;:41;7046:97;;7100:35;7113:21;7100:12;:35::i;:::-;7046:97;6937:212;6890:259;6538:616;6500:654;7160:91;7175:4;7180:2;7183:6;7191:18;:22;7210:2;7191:22;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;7215:18;:24;7234:4;7215:24;;;;;;;;;;;;;;;;;;;;;;;;;7191:48;7190:60;;7243:7;;7190:60;;;7241:1;7190:60;7160:14;:91::i;:::-;6144:1112;;;:::o;1875:169::-;1961:7;1988:1;1983;:6;;1991:12;1975:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2009:9;2025:1;2021;:5;;;;:::i;:::-;2009:17;;2038:1;2031:8;;;1875:169;;;;;:::o;7769:83::-;7820:10;;;;;;;;;;;:19;;:27;7840:6;7820:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7769:83;:::o;2386:168::-;2472:7;2498:1;2494;:5;2501:12;2486:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2519:9;2535:1;2531;:5;;;;:::i;:::-;2519:17;;2548:1;2541:8;;;2386:168;;;;;:::o;7265:378::-;4024:4;4014:7;;:14;;;;;;;;;;;;;;;;;;7337:21:::1;7375:1;7361:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7337:40;;7400:4;7382;7387:1;7382:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;7420:8;;;;;;;;;;;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7410:4;7415:1;7410:7;;;;;;;;:::i;:::-;;;;;;;:25;;;;;;;;;::::0;::::1;7440:55;7457:4;7472:8;;;;;;;;;;;7483:11;7440:8;:55::i;:::-;7500:8;;;;;;;;;;;:59;;;7565:11;7582:1;7589:4;7607;7618:15;7500:138;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7332:311;4049:5:::0;4039:7;;:15;;;;;;;;;;;;;;;;;;7265:378;:::o;8451:446::-;8557:13;8573:29;8598:3;8573:20;8585:7;8573;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;8557:45;;8607:23;8633:18;8645:5;8633:7;:11;;:18;;;;:::i;:::-;8607:44;;8677:29;8698:7;8677:8;:16;8686:6;8677:16;;;;;;;;;;;;;;;;:20;;:29;;;;:::i;:::-;8658:8;:16;8667:6;8658:16;;;;;;;;;;;;;;;:48;;;;8733:40;8757:15;8733:8;:19;8742:9;8733:19;;;;;;;;;;;;;;;;:23;;:40;;;;:::i;:::-;8711:8;:19;8720:9;8711:19;;;;;;;;;;;;;;;:62;;;;8804:34;8832:5;8804:8;:23;8821:4;8804:23;;;;;;;;;;;;;;;;:27;;:34;;;;:::i;:::-;8778:8;:23;8795:4;8778:23;;;;;;;;;;;;;;;:60;;;;8865:9;8848:44;;8857:6;8848:44;;;8876:15;8848:44;;;;;;:::i;:::-;;;;;;;;8552:345;;8451:446;;;;:::o;2049:204::-;2107:7;2130:1;2125;:6;2121:32;;2146:1;2139:8;;;;2121:32;2157:9;2173:1;2169;:5;;;;:::i;:::-;2157:17;;2196:1;2191;2187;:5;;;;:::i;:::-;:10;2179:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2247:1;2240:8;;;2049:204;;;;;:::o;1743:127::-;1801:7;1822:43;1826:1;1829;1822:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1815:50;;1743:127;;;;:::o;1580:158::-;1638:7;1652:9;1668:1;1664;:5;;;;:::i;:::-;1652:17;;1687:1;1682;:6;;1674:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1732:1;1725:8;;;1580:158;;;;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:102;498:6;549:2;545:7;540:2;533:5;529:14;525:28;515:38;;457:102;;;:::o;565:180::-;613:77;610:1;603:88;710:4;707:1;700:15;734:4;731:1;724:15;751:281;834:27;856:4;834:27;:::i;:::-;826:6;822:40;964:6;952:10;949:22;928:18;916:10;913:34;910:62;907:88;;;975:18;;:::i;:::-;907:88;1015:10;1011:2;1004:22;794:238;751:281;;:::o;1038:129::-;1072:6;1099:20;;:::i;:::-;1089:30;;1128:33;1156:4;1148:6;1128:33;:::i;:::-;1038:129;;;:::o;1173:311::-;1250:4;1340:18;1332:6;1329:30;1326:56;;;1362:18;;:::i;:::-;1326:56;1412:4;1404:6;1400:17;1392:25;;1472:4;1466;1462:15;1454:23;;1173:311;;;:::o;1490:117::-;1599:1;1596;1589:12;1613:126;1650:7;1690:42;1683:5;1679:54;1668:65;;1613:126;;;:::o;1745:96::-;1782:7;1811:24;1829:5;1811:24;:::i;:::-;1800:35;;1745:96;;;:::o;1847:122::-;1920:24;1938:5;1920:24;:::i;:::-;1913:5;1910:35;1900:63;;1959:1;1956;1949:12;1900:63;1847:122;:::o;1975:139::-;2021:5;2059:6;2046:20;2037:29;;2075:33;2102:5;2075:33;:::i;:::-;1975:139;;;;:::o;2137:710::-;2233:5;2258:81;2274:64;2331:6;2274:64;:::i;:::-;2258:81;:::i;:::-;2249:90;;2359:5;2388:6;2381:5;2374:21;2422:4;2415:5;2411:16;2404:23;;2475:4;2467:6;2463:17;2455:6;2451:30;2504:3;2496:6;2493:15;2490:122;;;2523:79;;:::i;:::-;2490:122;2638:6;2621:220;2655:6;2650:3;2647:15;2621:220;;;2730:3;2759:37;2792:3;2780:10;2759:37;:::i;:::-;2754:3;2747:50;2826:4;2821:3;2817:14;2810:21;;2697:144;2681:4;2676:3;2672:14;2665:21;;2621:220;;;2625:21;2239:608;;2137:710;;;;;:::o;2870:370::-;2941:5;2990:3;2983:4;2975:6;2971:17;2967:27;2957:122;;2998:79;;:::i;:::-;2957:122;3115:6;3102:20;3140:94;3230:3;3222:6;3215:4;3207:6;3203:17;3140:94;:::i;:::-;3131:103;;2947:293;2870:370;;;;:::o;3246:539::-;3330:6;3379:2;3367:9;3358:7;3354:23;3350:32;3347:119;;;3385:79;;:::i;:::-;3347:119;3533:1;3522:9;3518:17;3505:31;3563:18;3555:6;3552:30;3549:117;;;3585:79;;:::i;:::-;3549:117;3690:78;3760:7;3751:6;3740:9;3736:22;3690:78;:::i;:::-;3680:88;;3476:302;3246:539;;;;:::o;3791:99::-;3843:6;3877:5;3871:12;3861:22;;3791:99;;;:::o;3896:169::-;3980:11;4014:6;4009:3;4002:19;4054:4;4049:3;4045:14;4030:29;;3896:169;;;;:::o;4071:307::-;4139:1;4149:113;4163:6;4160:1;4157:13;4149:113;;;4248:1;4243:3;4239:11;4233:18;4229:1;4224:3;4220:11;4213:39;4185:2;4182:1;4178:10;4173:15;;4149:113;;;4280:6;4277:1;4274:13;4271:101;;;4360:1;4351:6;4346:3;4342:16;4335:27;4271:101;4120:258;4071:307;;;:::o;4384:364::-;4472:3;4500:39;4533:5;4500:39;:::i;:::-;4555:71;4619:6;4614:3;4555:71;:::i;:::-;4548:78;;4635:52;4680:6;4675:3;4668:4;4661:5;4657:16;4635:52;:::i;:::-;4712:29;4734:6;4712:29;:::i;:::-;4707:3;4703:39;4696:46;;4476:272;4384:364;;;;:::o;4754:313::-;4867:4;4905:2;4894:9;4890:18;4882:26;;4954:9;4948:4;4944:20;4940:1;4929:9;4925:17;4918:47;4982:78;5055:4;5046:6;4982:78;:::i;:::-;4974:86;;4754:313;;;;:::o;5073:77::-;5110:7;5139:5;5128:16;;5073:77;;;:::o;5156:122::-;5229:24;5247:5;5229:24;:::i;:::-;5222:5;5219:35;5209:63;;5268:1;5265;5258:12;5209:63;5156:122;:::o;5284:139::-;5330:5;5368:6;5355:20;5346:29;;5384:33;5411:5;5384:33;:::i;:::-;5284:139;;;;:::o;5429:474::-;5497:6;5505;5554:2;5542:9;5533:7;5529:23;5525:32;5522:119;;;5560:79;;:::i;:::-;5522:119;5680:1;5705:53;5750:7;5741:6;5730:9;5726:22;5705:53;:::i;:::-;5695:63;;5651:117;5807:2;5833:53;5878:7;5869:6;5858:9;5854:22;5833:53;:::i;:::-;5823:63;;5778:118;5429:474;;;;;:::o;5909:90::-;5943:7;5986:5;5979:13;5972:21;5961:32;;5909:90;;;:::o;6005:109::-;6086:21;6101:5;6086:21;:::i;:::-;6081:3;6074:34;6005:109;;:::o;6120:210::-;6207:4;6245:2;6234:9;6230:18;6222:26;;6258:65;6320:1;6309:9;6305:17;6296:6;6258:65;:::i;:::-;6120:210;;;;:::o;6336:118::-;6423:24;6441:5;6423:24;:::i;:::-;6418:3;6411:37;6336:118;;:::o;6460:222::-;6553:4;6591:2;6580:9;6576:18;6568:26;;6604:71;6672:1;6661:9;6657:17;6648:6;6604:71;:::i;:::-;6460:222;;;;:::o;6688:619::-;6765:6;6773;6781;6830:2;6818:9;6809:7;6805:23;6801:32;6798:119;;;6836:79;;:::i;:::-;6798:119;6956:1;6981:53;7026:7;7017:6;7006:9;7002:22;6981:53;:::i;:::-;6971:63;;6927:117;7083:2;7109:53;7154:7;7145:6;7134:9;7130:22;7109:53;:::i;:::-;7099:63;;7054:118;7211:2;7237:53;7282:7;7273:6;7262:9;7258:22;7237:53;:::i;:::-;7227:63;;7182:118;6688:619;;;;;:::o;7313:86::-;7348:7;7388:4;7381:5;7377:16;7366:27;;7313:86;;;:::o;7405:112::-;7488:22;7504:5;7488:22;:::i;:::-;7483:3;7476:35;7405:112;;:::o;7523:214::-;7612:4;7650:2;7639:9;7635:18;7627:26;;7663:67;7727:1;7716:9;7712:17;7703:6;7663:67;:::i;:::-;7523:214;;;;:::o;7743:329::-;7802:6;7851:2;7839:9;7830:7;7826:23;7822:32;7819:119;;;7857:79;;:::i;:::-;7819:119;7977:1;8002:53;8047:7;8038:6;8027:9;8023:22;8002:53;:::i;:::-;7992:63;;7948:117;7743:329;;;;:::o;8078:::-;8137:6;8186:2;8174:9;8165:7;8161:23;8157:32;8154:119;;;8192:79;;:::i;:::-;8154:119;8312:1;8337:53;8382:7;8373:6;8362:9;8358:22;8337:53;:::i;:::-;8327:63;;8283:117;8078:329;;;;:::o;8413:118::-;8500:24;8518:5;8500:24;:::i;:::-;8495:3;8488:37;8413:118;;:::o;8537:222::-;8630:4;8668:2;8657:9;8653:18;8645:26;;8681:71;8749:1;8738:9;8734:17;8725:6;8681:71;:::i;:::-;8537:222;;;;:::o;8765:474::-;8833:6;8841;8890:2;8878:9;8869:7;8865:23;8861:32;8858:119;;;8896:79;;:::i;:::-;8858:119;9016:1;9041:53;9086:7;9077:6;9066:9;9062:22;9041:53;:::i;:::-;9031:63;;8987:117;9143:2;9169:53;9214:7;9205:6;9194:9;9190:22;9169:53;:::i;:::-;9159:63;;9114:118;8765:474;;;;;:::o;9245:182::-;9385:34;9381:1;9373:6;9369:14;9362:58;9245:182;:::o;9433:366::-;9575:3;9596:67;9660:2;9655:3;9596:67;:::i;:::-;9589:74;;9672:93;9761:3;9672:93;:::i;:::-;9790:2;9785:3;9781:12;9774:19;;9433:366;;;:::o;9805:419::-;9971:4;10009:2;9998:9;9994:18;9986:26;;10058:9;10052:4;10048:20;10044:1;10033:9;10029:17;10022:47;10086:131;10212:4;10086:131;:::i;:::-;10078:139;;9805:419;;;:::o;10230:180::-;10278:77;10275:1;10268:88;10375:4;10372:1;10365:15;10399:4;10396:1;10389:15;10416:180;10464:77;10461:1;10454:88;10561:4;10558:1;10551:15;10585:4;10582:1;10575:15;10602:233;10641:3;10664:24;10682:5;10664:24;:::i;:::-;10655:33;;10710:66;10703:5;10700:77;10697:103;;10780:18;;:::i;:::-;10697:103;10827:1;10820:5;10816:13;10809:20;;10602:233;;;:::o;10841:173::-;10981:25;10977:1;10969:6;10965:14;10958:49;10841:173;:::o;11020:366::-;11162:3;11183:67;11247:2;11242:3;11183:67;:::i;:::-;11176:74;;11259:93;11348:3;11259:93;:::i;:::-;11377:2;11372:3;11368:12;11361:19;;11020:366;;;:::o;11392:419::-;11558:4;11596:2;11585:9;11581:18;11573:26;;11645:9;11639:4;11635:20;11631:1;11620:9;11616:17;11609:47;11673:131;11799:4;11673:131;:::i;:::-;11665:139;;11392:419;;;:::o;11817:143::-;11874:5;11905:6;11899:13;11890:22;;11921:33;11948:5;11921:33;:::i;:::-;11817:143;;;;:::o;11966:351::-;12036:6;12085:2;12073:9;12064:7;12060:23;12056:32;12053:119;;;12091:79;;:::i;:::-;12053:119;12211:1;12236:64;12292:7;12283:6;12272:9;12268:22;12236:64;:::i;:::-;12226:74;;12182:128;11966:351;;;;:::o;12323:332::-;12444:4;12482:2;12471:9;12467:18;12459:26;;12495:71;12563:1;12552:9;12548:17;12539:6;12495:71;:::i;:::-;12576:72;12644:2;12633:9;12629:18;12620:6;12576:72;:::i;:::-;12323:332;;;;;:::o;12661:::-;12782:4;12820:2;12809:9;12805:18;12797:26;;12833:71;12901:1;12890:9;12886:17;12877:6;12833:71;:::i;:::-;12914:72;12982:2;12971:9;12967:18;12958:6;12914:72;:::i;:::-;12661:332;;;;;:::o;12999:116::-;13069:21;13084:5;13069:21;:::i;:::-;13062:5;13059:32;13049:60;;13105:1;13102;13095:12;13049:60;12999:116;:::o;13121:137::-;13175:5;13206:6;13200:13;13191:22;;13222:30;13246:5;13222:30;:::i;:::-;13121:137;;;;:::o;13264:345::-;13331:6;13380:2;13368:9;13359:7;13355:23;13351:32;13348:119;;;13386:79;;:::i;:::-;13348:119;13506:1;13531:61;13584:7;13575:6;13564:9;13560:22;13531:61;:::i;:::-;13521:71;;13477:125;13264:345;;;;:::o;13615:85::-;13660:7;13689:5;13678:16;;13615:85;;;:::o;13706:60::-;13734:3;13755:5;13748:12;;13706:60;;;:::o;13772:158::-;13830:9;13863:61;13881:42;13890:32;13916:5;13890:32;:::i;:::-;13881:42;:::i;:::-;13863:61;:::i;:::-;13850:74;;13772:158;;;:::o;13936:147::-;14031:45;14070:5;14031:45;:::i;:::-;14026:3;14019:58;13936:147;;:::o;14089:807::-;14338:4;14376:3;14365:9;14361:19;14353:27;;14390:71;14458:1;14447:9;14443:17;14434:6;14390:71;:::i;:::-;14471:72;14539:2;14528:9;14524:18;14515:6;14471:72;:::i;:::-;14553:80;14629:2;14618:9;14614:18;14605:6;14553:80;:::i;:::-;14643;14719:2;14708:9;14704:18;14695:6;14643:80;:::i;:::-;14733:73;14801:3;14790:9;14786:19;14777:6;14733:73;:::i;:::-;14816;14884:3;14873:9;14869:19;14860:6;14816:73;:::i;:::-;14089:807;;;;;;;;;:::o;14902:143::-;14959:5;14990:6;14984:13;14975:22;;15006:33;15033:5;15006:33;:::i;:::-;14902:143;;;;:::o;15051:663::-;15139:6;15147;15155;15204:2;15192:9;15183:7;15179:23;15175:32;15172:119;;;15210:79;;:::i;:::-;15172:119;15330:1;15355:64;15411:7;15402:6;15391:9;15387:22;15355:64;:::i;:::-;15345:74;;15301:128;15468:2;15494:64;15550:7;15541:6;15530:9;15526:22;15494:64;:::i;:::-;15484:74;;15439:129;15607:2;15633:64;15689:7;15680:6;15669:9;15665:22;15633:64;:::i;:::-;15623:74;;15578:129;15051:663;;;;;:::o;15720:223::-;15860:34;15856:1;15848:6;15844:14;15837:58;15929:6;15924:2;15916:6;15912:15;15905:31;15720:223;:::o;15949:366::-;16091:3;16112:67;16176:2;16171:3;16112:67;:::i;:::-;16105:74;;16188:93;16277:3;16188:93;:::i;:::-;16306:2;16301:3;16297:12;16290:19;;15949:366;;;:::o;16321:419::-;16487:4;16525:2;16514:9;16510:18;16502:26;;16574:9;16568:4;16564:20;16560:1;16549:9;16545:17;16538:47;16602:131;16728:4;16602:131;:::i;:::-;16594:139;;16321:419;;;:::o;16746:221::-;16886:34;16882:1;16874:6;16870:14;16863:58;16955:4;16950:2;16942:6;16938:15;16931:29;16746:221;:::o;16973:366::-;17115:3;17136:67;17200:2;17195:3;17136:67;:::i;:::-;17129:74;;17212:93;17301:3;17212:93;:::i;:::-;17330:2;17325:3;17321:12;17314:19;;16973:366;;;:::o;17345:419::-;17511:4;17549:2;17538:9;17534:18;17526:26;;17598:9;17592:4;17588:20;17584:1;17573:9;17569:17;17562:47;17626:131;17752:4;17626:131;:::i;:::-;17618:139;;17345:419;;;:::o;17770:224::-;17910:34;17906:1;17898:6;17894:14;17887:58;17979:7;17974:2;17966:6;17962:15;17955:32;17770:224;:::o;18000:366::-;18142:3;18163:67;18227:2;18222:3;18163:67;:::i;:::-;18156:74;;18239:93;18328:3;18239:93;:::i;:::-;18357:2;18352:3;18348:12;18341:19;;18000:366;;;:::o;18372:419::-;18538:4;18576:2;18565:9;18561:18;18553:26;;18625:9;18619:4;18615:20;18611:1;18600:9;18596:17;18589:47;18653:131;18779:4;18653:131;:::i;:::-;18645:139;;18372:419;;;:::o;18797:222::-;18937:34;18933:1;18925:6;18921:14;18914:58;19006:5;19001:2;18993:6;18989:15;18982:30;18797:222;:::o;19025:366::-;19167:3;19188:67;19252:2;19247:3;19188:67;:::i;:::-;19181:74;;19264:93;19353:3;19264:93;:::i;:::-;19382:2;19377:3;19373:12;19366:19;;19025:366;;;:::o;19397:419::-;19563:4;19601:2;19590:9;19586:18;19578:26;;19650:9;19644:4;19640:20;19636:1;19625:9;19621:17;19614:47;19678:131;19804:4;19678:131;:::i;:::-;19670:139;;19397:419;;;:::o;19822:228::-;19962:34;19958:1;19950:6;19946:14;19939:58;20031:11;20026:2;20018:6;20014:15;20007:36;19822:228;:::o;20056:366::-;20198:3;20219:67;20283:2;20278:3;20219:67;:::i;:::-;20212:74;;20295:93;20384:3;20295:93;:::i;:::-;20413:2;20408:3;20404:12;20397:19;;20056:366;;;:::o;20428:419::-;20594:4;20632:2;20621:9;20617:18;20609:26;;20681:9;20675:4;20671:20;20667:1;20656:9;20652:17;20645:47;20709:131;20835:4;20709:131;:::i;:::-;20701:139;;20428:419;;;:::o;20853:177::-;20993:29;20989:1;20981:6;20977:14;20970:53;20853:177;:::o;21036:366::-;21178:3;21199:67;21263:2;21258:3;21199:67;:::i;:::-;21192:74;;21275:93;21364:3;21275:93;:::i;:::-;21393:2;21388:3;21384:12;21377:19;;21036:366;;;:::o;21408:419::-;21574:4;21612:2;21601:9;21597:18;21589:26;;21661:9;21655:4;21651:20;21647:1;21636:9;21632:17;21625:47;21689:131;21815:4;21689:131;:::i;:::-;21681:139;;21408:419;;;:::o;21833:176::-;21973:28;21969:1;21961:6;21957:14;21950:52;21833:176;:::o;22015:366::-;22157:3;22178:67;22242:2;22237:3;22178:67;:::i;:::-;22171:74;;22254:93;22343:3;22254:93;:::i;:::-;22372:2;22367:3;22363:12;22356:19;;22015:366;;;:::o;22387:419::-;22553:4;22591:2;22580:9;22576:18;22568:26;;22640:9;22634:4;22630:20;22626:1;22615:9;22611:17;22604:47;22668:131;22794:4;22668:131;:::i;:::-;22660:139;;22387:419;;;:::o;22812:169::-;22952:21;22948:1;22940:6;22936:14;22929:45;22812:169;:::o;22987:366::-;23129:3;23150:67;23214:2;23209:3;23150:67;:::i;:::-;23143:74;;23226:93;23315:3;23226:93;:::i;:::-;23344:2;23339:3;23335:12;23328:19;;22987:366;;;:::o;23359:419::-;23525:4;23563:2;23552:9;23548:18;23540:26;;23612:9;23606:4;23602:20;23598:1;23587:9;23583:17;23576:47;23640:131;23766:4;23640:131;:::i;:::-;23632:139;;23359:419;;;:::o;23784:305::-;23824:3;23843:20;23861:1;23843:20;:::i;:::-;23838:25;;23877:20;23895:1;23877:20;:::i;:::-;23872:25;;24031:1;23963:66;23959:74;23956:1;23953:81;23950:107;;;24037:18;;:::i;:::-;23950:107;24081:1;24078;24074:9;24067:16;;23784:305;;;;:::o;24095:178::-;24235:30;24231:1;24223:6;24219:14;24212:54;24095:178;:::o;24279:366::-;24421:3;24442:67;24506:2;24501:3;24442:67;:::i;:::-;24435:74;;24518:93;24607:3;24518:93;:::i;:::-;24636:2;24631:3;24627:12;24620:19;;24279:366;;;:::o;24651:419::-;24817:4;24855:2;24844:9;24840:18;24832:26;;24904:9;24898:4;24894:20;24890:1;24879:9;24875:17;24868:47;24932:131;25058:4;24932:131;:::i;:::-;24924:139;;24651:419;;;:::o;25076:191::-;25116:4;25136:20;25154:1;25136:20;:::i;:::-;25131:25;;25170:20;25188:1;25170:20;:::i;:::-;25165:25;;25209:1;25206;25203:8;25200:34;;;25214:18;;:::i;:::-;25200:34;25259:1;25256;25252:9;25244:17;;25076:191;;;;:::o;25273:180::-;25321:77;25318:1;25311:88;25418:4;25415:1;25408:15;25442:4;25439:1;25432:15;25459:185;25499:1;25516:20;25534:1;25516:20;:::i;:::-;25511:25;;25550:20;25568:1;25550:20;:::i;:::-;25545:25;;25589:1;25579:35;;25594:18;;:::i;:::-;25579:35;25636:1;25633;25629:9;25624:14;;25459:185;;;;:::o;25650:114::-;25717:6;25751:5;25745:12;25735:22;;25650:114;;;:::o;25770:184::-;25869:11;25903:6;25898:3;25891:19;25943:4;25938:3;25934:14;25919:29;;25770:184;;;;:::o;25960:132::-;26027:4;26050:3;26042:11;;26080:4;26075:3;26071:14;26063:22;;25960:132;;;:::o;26098:108::-;26175:24;26193:5;26175:24;:::i;:::-;26170:3;26163:37;26098:108;;:::o;26212:179::-;26281:10;26302:46;26344:3;26336:6;26302:46;:::i;:::-;26380:4;26375:3;26371:14;26357:28;;26212:179;;;;:::o;26397:113::-;26467:4;26499;26494:3;26490:14;26482:22;;26397:113;;;:::o;26546:732::-;26665:3;26694:54;26742:5;26694:54;:::i;:::-;26764:86;26843:6;26838:3;26764:86;:::i;:::-;26757:93;;26874:56;26924:5;26874:56;:::i;:::-;26953:7;26984:1;26969:284;26994:6;26991:1;26988:13;26969:284;;;27070:6;27064:13;27097:63;27156:3;27141:13;27097:63;:::i;:::-;27090:70;;27183:60;27236:6;27183:60;:::i;:::-;27173:70;;27029:224;27016:1;27013;27009:9;27004:14;;26969:284;;;26973:14;27269:3;27262:10;;26670:608;;;26546:732;;;;:::o;27284:831::-;27547:4;27585:3;27574:9;27570:19;27562:27;;27599:71;27667:1;27656:9;27652:17;27643:6;27599:71;:::i;:::-;27680:80;27756:2;27745:9;27741:18;27732:6;27680:80;:::i;:::-;27807:9;27801:4;27797:20;27792:2;27781:9;27777:18;27770:48;27835:108;27938:4;27929:6;27835:108;:::i;:::-;27827:116;;27953:72;28021:2;28010:9;28006:18;27997:6;27953:72;:::i;:::-;28035:73;28103:3;28092:9;28088:19;28079:6;28035:73;:::i;:::-;27284:831;;;;;;;;:::o;28121:348::-;28161:7;28184:20;28202:1;28184:20;:::i;:::-;28179:25;;28218:20;28236:1;28218:20;:::i;:::-;28213:25;;28406:1;28338:66;28334:74;28331:1;28328:81;28323:1;28316:9;28309:17;28305:105;28302:131;;;28413:18;;:::i;:::-;28302:131;28461:1;28458;28454:9;28443:20;;28121:348;;;;:::o;28475:220::-;28615:34;28611:1;28603:6;28599:14;28592:58;28684:3;28679:2;28671:6;28667:15;28660:28;28475:220;:::o;28701:366::-;28843:3;28864:67;28928:2;28923:3;28864:67;:::i;:::-;28857:74;;28940:93;29029:3;28940:93;:::i;:::-;29058:2;29053:3;29049:12;29042:19;;28701:366;;;:::o;29073:419::-;29239:4;29277:2;29266:9;29262:18;29254:26;;29326:9;29320:4;29316:20;29312:1;29301:9;29297:17;29290:47;29354:131;29480:4;29354:131;:::i;:::-;29346:139;;29073:419;;;:::o;29498:177::-;29638:29;29634:1;29626:6;29622:14;29615:53;29498:177;:::o;29681:366::-;29823:3;29844:67;29908:2;29903:3;29844:67;:::i;:::-;29837:74;;29920:93;30009:3;29920:93;:::i;:::-;30038:2;30033:3;30029:12;30022:19;;29681:366;;;:::o;30053:419::-;30219:4;30257:2;30246:9;30242:18;30234:26;;30306:9;30300:4;30296:20;30292:1;30281:9;30277:17;30270:47;30334:131;30460:4;30334:131;:::i;:::-;30326:139;;30053:419;;;:::o
Swarm Source
ipfs://47001b80913fce676d44290a0fad870975a4069c6a93f6e42156735606c2cbce
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.