Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
10,000,000,000 EVE
Holders
4
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
50,000,000 EVEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
EVERSIFY
Compiler Version
v0.8.10+commit.fc410830
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-12-20 */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.10; abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } abstract contract Ownable is Context { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor() { _transferOwnership(_msgSender()); } function owner() public view virtual returns (address) { return _owner; } modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner() { _transferOwnership(address(0)); } function transferOwnership(address newOwner) public virtual onlyOwner() { require(newOwner != address(0), "Ownable: new owner is the zero address"); _transferOwnership(newOwner); } function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } } 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); } contract EVERSIFY is Context, IERC20, Ownable { using SafeMath for uint256; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcludedFromFee; mapping (address => bool) private _isBot; uint256 private constant _MAX = ~uint256(0); uint256 private constant _tTotal = 1e10 * 10**9; uint256 private _rTotal = (_MAX - (_MAX % _tTotal)); uint256 private _tFeeTotal; string private constant _name = "Eversify"; string private constant _symbol = "EVE"; uint private constant _decimals = 9; uint256 private _teamFee = 5; uint256 private _previousteamFee = _teamFee; address payable private _feeAddress; // Uniswap Pair IUniswapV2Router02 private _uniswapV2Router; address private _uniswapV2Pair; bool private _initialized = false; bool private _noTaxMode = false; bool private _inSwap = false; bool private _tradingOpen = false; uint256 private _launchTime; uint256 private _initialLimitDuration; modifier lockTheSwap() { _inSwap = true; _; _inSwap = false; } modifier handleFees(bool takeFee) { if (!takeFee) _removeAllFees(); _; if (!takeFee) _restoreAllFees(); } constructor () { _rOwned[_msgSender()] = _rTotal; _isExcludedFromFee[owner()] = true; _isExcludedFromFee[payable(0x000000000000000000000000000000000000dEaD)] = true; emit Transfer(address(0), _msgSender(), _tTotal); } function name() public pure returns (string memory) { return _name; } function symbol() public pure returns (string memory) { return _symbol; } function decimals() public pure returns (uint) { return _decimals; } function totalSupply() public pure override returns (uint256) { return _tTotal; } function balanceOf(address account) public view override returns (uint256) { return _tokenFromReflection(_rOwned[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 _tokenFromReflection(uint256 rAmount) private view returns(uint256) { require(rAmount <= _rTotal, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function _removeAllFees() private { require(_teamFee > 0); _previousteamFee = _teamFee; _teamFee = 0; } function _restoreAllFees() private { _teamFee = _previousteamFee; } 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(!_isBot[from], "Your address has been marked as a bot, please contact staff to appeal your case."); bool takeFee = false; if ( !_isExcludedFromFee[from] && !_isExcludedFromFee[to] && !_noTaxMode && (from == _uniswapV2Pair || to == _uniswapV2Pair) ) { require(_tradingOpen, 'Trading has not yet been opened.'); takeFee = true; if (from == _uniswapV2Pair && to != address(_uniswapV2Router) && _initialLimitDuration > block.timestamp) { uint walletBalance = balanceOf(address(to)); require(amount.add(walletBalance) <= _tTotal.mul(2).div(100)); } if (block.timestamp == _launchTime) _isBot[to] = true; uint256 contractTokenBalance = balanceOf(address(this)); if (!_inSwap && from != _uniswapV2Pair) { if (contractTokenBalance > 0) { if (contractTokenBalance > balanceOf(_uniswapV2Pair).mul(5).div(100)) contractTokenBalance = balanceOf(_uniswapV2Pair).mul(5).div(100); _swapTokensForEth(contractTokenBalance); } } } _tokenTransfer(from, to, amount, takeFee); } function _swapTokensForEth(uint256 tokenAmount) private lockTheSwap() { address[] memory path = new address[](2); path[0] = address(this); path[1] = _uniswapV2Router.WETH(); _approve(address(this), address(_uniswapV2Router), tokenAmount); _uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp ); } function _tokenTransfer(address sender, address recipient, uint256 tAmount, bool takeFee) private handleFees(takeFee) { (uint256 rAmount, uint256 rTransferAmount, uint256 tTransferAmount, uint256 tTeam) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _takeTeam(tTeam); emit Transfer(sender, recipient, tTransferAmount); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tTeam) = _getTValues(tAmount, _teamFee); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount) = _getRValues(tAmount, tTeam, currentRate); return (rAmount, rTransferAmount, tTransferAmount, tTeam); } function _getTValues(uint256 tAmount, uint256 TeamFee) private pure returns (uint256, uint256) { uint256 tTeam = tAmount.mul(TeamFee).div(100); uint256 tTransferAmount = tAmount.sub(tTeam); return (tTransferAmount, tTeam); } function _getRate() private view returns (uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns (uint256, uint256) { uint256 rSupply = _rTotal; uint256 tSupply = _tTotal; if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal); return (rSupply, tSupply); } function _getRValues(uint256 tAmount, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rTeam = tTeam.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rTeam); return (rAmount, rTransferAmount); } function _takeTeam(uint256 tTeam) private { uint256 currentRate = _getRate(); uint256 rTeam = tTeam.mul(currentRate); _rOwned[address(this)] = _rOwned[address(this)].add(rTeam); } function initContract(address payable feeAddress) external onlyOwner() { require(!_initialized,"Contract has already been initialized"); IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); _uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH()); _uniswapV2Router = uniswapV2Router; _feeAddress = feeAddress; _isExcludedFromFee[_feeAddress] = true; _initialized = true; } function openTrading() external onlyOwner() { require(_initialized, "Contract must be initialized first"); _tradingOpen = true; _launchTime = block.timestamp; _initialLimitDuration = _launchTime + (60 minutes); } function setFeeWallet(address payable feeWalletAddress) external onlyOwner() { _isExcludedFromFee[_feeAddress] = false; _feeAddress = feeWalletAddress; _isExcludedFromFee[_feeAddress] = true; } function excludeFromFee(address payable ad) external onlyOwner() { _isExcludedFromFee[ad] = true; } function includeToFee(address payable ad) external onlyOwner() { _isExcludedFromFee[ad] = false; } function setNoTaxMode(bool onoff) external onlyOwner() { _noTaxMode = onoff; } function setTeamFee(uint256 fee) external onlyOwner() { require(fee <= 10, "Team fee cannot be larger than 10%"); _teamFee = fee; } function setBots(address[] memory bots_) public onlyOwner() { for (uint i = 0; i < bots_.length; i++) { if (bots_[i] != _uniswapV2Pair && bots_[i] != address(_uniswapV2Router)) { _isBot[bots_[i]] = true; } } } function delBots(address[] memory bots_) public onlyOwner() { for (uint i = 0; i < bots_.length; i++) { _isBot[bots_[i]] = false; } } function isBot(address ad) public view returns (bool) { return _isBot[ad]; } function isExcludedFromFee(address ad) public view returns (bool) { return _isExcludedFromFee[ad]; } function swapFeesManual() external onlyOwner() { uint256 contractBalance = balanceOf(address(this)); _swapTokensForEth(contractBalance); } function withdrawFees() external onlyOwner() { uint256 contractETHBalance = address(this).balance; _feeAddress.transfer(contractETHBalance); } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"includeToFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"feeAddress","type":"address"}],"name":"initContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"feeWalletAddress","type":"address"}],"name":"setFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setNoTaxMode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"setTeamFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapFeesManual","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052678ac7230489e800006000196200001c91906200039c565b6000196200002b919062000403565b60065560056008556008546009556000600c60146101000a81548160ff0219169083151502179055506000600c60156101000a81548160ff0219169083151502179055506000600c60166101000a81548160ff0219169083151502179055506000600c60176101000a81548160ff021916908315150217905550348015620000b257600080fd5b50620000d3620000c76200026e60201b60201c565b6200027660201b60201c565b60065460016000620000ea6200026e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600460006200013e6200033a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016004600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620001f96200026e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef678ac7230489e800006040516200026091906200044f565b60405180910390a36200046c565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620003a98262000363565b9150620003b68362000363565b925082620003c957620003c86200036d565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620004108262000363565b91506200041d8362000363565b925082821015620004335762000432620003d4565b5b828203905092915050565b620004498162000363565b82525050565b60006020820190506200046660008301846200043e565b92915050565b613c87806200047c6000396000f3fe60806040526004361061016a5760003560e01c806370a08231116100d1578063b515566a1161008a578063cf9d4afa11610064578063cf9d4afa1461050d578063dd62ed3e14610536578063e6ec64ec14610573578063f2fde38b1461059c57610171565b8063b515566a146104a4578063c9567bf9146104cd578063cf0848f7146104e457610171565b806370a0823114610394578063715018a6146103d15780638da5cb5b146103e857806390d49b9d1461041357806395d89b411461043c578063a9059cbb1461046757610171565b806331c2d8471161012357806331c2d847146102885780633bbac579146102b1578063437823ec146102ee578063476343ee146103175780634b740b161461032e5780635342acb41461035757610171565b806306d8ea6b1461017657806306fdde031461018d578063095ea7b3146101b857806318160ddd146101f557806323b872dd14610220578063313ce5671461025d57610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b6105c5565b005b34801561019957600080fd5b506101a261065a565b6040516101af9190612b5e565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da9190612c28565b610697565b6040516101ec9190612c83565b60405180910390f35b34801561020157600080fd5b5061020a6106b5565b6040516102179190612cad565b60405180910390f35b34801561022c57600080fd5b5061024760048036038101906102429190612cc8565b6106c5565b6040516102549190612c83565b60405180910390f35b34801561026957600080fd5b5061027261079e565b60405161027f9190612cad565b60405180910390f35b34801561029457600080fd5b506102af60048036038101906102aa9190612e63565b6107a7565b005b3480156102bd57600080fd5b506102d860048036038101906102d39190612eac565b6108b8565b6040516102e59190612c83565b60405180910390f35b3480156102fa57600080fd5b5061031560048036038101906103109190612f17565b61090e565b005b34801561032357600080fd5b5061032c6109e5565b005b34801561033a57600080fd5b5061035560048036038101906103509190612f70565b610ad2565b005b34801561036357600080fd5b5061037e60048036038101906103799190612eac565b610b6b565b60405161038b9190612c83565b60405180910390f35b3480156103a057600080fd5b506103bb60048036038101906103b69190612eac565b610bc1565b6040516103c89190612cad565b60405180910390f35b3480156103dd57600080fd5b506103e6610c12565b005b3480156103f457600080fd5b506103fd610c9a565b60405161040a9190612fac565b60405180910390f35b34801561041f57600080fd5b5061043a60048036038101906104359190612f17565b610cc3565b005b34801561044857600080fd5b50610451610e77565b60405161045e9190612b5e565b60405180910390f35b34801561047357600080fd5b5061048e60048036038101906104899190612c28565b610eb4565b60405161049b9190612c83565b60405180910390f35b3480156104b057600080fd5b506104cb60048036038101906104c69190612e63565b610ed2565b005b3480156104d957600080fd5b506104e26110c9565b005b3480156104f057600080fd5b5061050b60048036038101906105069190612f17565b6111ce565b005b34801561051957600080fd5b50610534600480360381019061052f9190612f17565b6112a5565b005b34801561054257600080fd5b5061055d60048036038101906105589190612fc7565b61163f565b60405161056a9190612cad565b60405180910390f35b34801561057f57600080fd5b5061059a60048036038101906105959190613007565b6116c6565b005b3480156105a857600080fd5b506105c360048036038101906105be9190612eac565b611790565b005b6105cd611888565b73ffffffffffffffffffffffffffffffffffffffff166105eb610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614610641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063890613080565b60405180910390fd5b600061064c30610bc1565b905061065781611890565b50565b60606040518060400160405280600881526020017f4576657273696679000000000000000000000000000000000000000000000000815250905090565b60006106ab6106a4611888565b8484611b09565b6001905092915050565b6000678ac7230489e80000905090565b60006106d2848484611cd4565b610793846106de611888565b61078e85604051806060016040528060288152602001613c2a60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610744611888565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123199092919063ffffffff16565b611b09565b600190509392505050565b60006009905090565b6107af611888565b73ffffffffffffffffffffffffffffffffffffffff166107cd610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614610823576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081a90613080565b60405180910390fd5b60005b81518110156108b457600060056000848481518110610848576108476130a0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806108ac906130fe565b915050610826565b5050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610916611888565b73ffffffffffffffffffffffffffffffffffffffff16610934610c9a565b73ffffffffffffffffffffffffffffffffffffffff161461098a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098190613080565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6109ed611888565b73ffffffffffffffffffffffffffffffffffffffff16610a0b610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614610a61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5890613080565b60405180910390fd5b6000479050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610ace573d6000803e3d6000fd5b5050565b610ada611888565b73ffffffffffffffffffffffffffffffffffffffff16610af8610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614610b4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4590613080565b60405180910390fd5b80600c60156101000a81548160ff02191690831515021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000610c0b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237d565b9050919050565b610c1a611888565b73ffffffffffffffffffffffffffffffffffffffff16610c38610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614610c8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8590613080565b60405180910390fd5b610c9860006123eb565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ccb611888565b73ffffffffffffffffffffffffffffffffffffffff16610ce9610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614610d3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3690613080565b60405180910390fd5b600060046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60606040518060400160405280600381526020017f4556450000000000000000000000000000000000000000000000000000000000815250905090565b6000610ec8610ec1611888565b8484611cd4565b6001905092915050565b610eda611888565b73ffffffffffffffffffffffffffffffffffffffff16610ef8610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614610f4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4590613080565b60405180910390fd5b60005b81518110156110c557600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16828281518110610fa657610fa56130a0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415801561103a5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16828281518110611019576110186130a0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b156110b257600160056000848481518110611058576110576130a0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80806110bd906130fe565b915050610f51565b5050565b6110d1611888565b73ffffffffffffffffffffffffffffffffffffffff166110ef610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614611145576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113c90613080565b60405180910390fd5b600c60149054906101000a900460ff16611194576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118b906131b9565b60405180910390fd5b6001600c60176101000a81548160ff02191690831515021790555042600d81905550610e10600d546111c691906131d9565b600e81905550565b6111d6611888565b73ffffffffffffffffffffffffffffffffffffffff166111f4610c9a565b73ffffffffffffffffffffffffffffffffffffffff161461124a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124190613080565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6112ad611888565b73ffffffffffffffffffffffffffffffffffffffff166112cb610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614611321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131890613080565b60405180910390fd5b600c60149054906101000a900460ff1615611371576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611368906132a1565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f991906132d6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611460573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148491906132d6565b6040518363ffffffff1660e01b81526004016114a1929190613303565b6020604051808303816000875af11580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e491906132d6565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff0219169083151502179055505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116ce611888565b73ffffffffffffffffffffffffffffffffffffffff166116ec610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173990613080565b60405180910390fd5b600a811115611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177d9061339e565b60405180910390fd5b8060088190555050565b611798611888565b73ffffffffffffffffffffffffffffffffffffffff166117b6610c9a565b73ffffffffffffffffffffffffffffffffffffffff161461180c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180390613080565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561187c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187390613430565b60405180910390fd5b611885816123eb565b50565b600033905090565b6001600c60166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118c8576118c7612d20565b5b6040519080825280602002602001820160405280156118f65781602001602082028036833780820191505090505b509050308160008151811061190e5761190d6130a0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d991906132d6565b816001815181106119ed576119ec6130a0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a5430600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611b09565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ab8959493929190613553565b600060405180830381600087803b158015611ad257600080fd5b505af1158015611ae6573d6000803e3d6000fd5b50505050506000600c60166101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b709061361f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be0906136b1565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611cc79190612cad565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3b90613743565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611db4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dab906137d5565b60405180910390fd5b60008111611df7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dee90613867565b60405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7b9061391f565b60405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f2a5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f435750600c60159054906101000a900460ff16155b8015611ff45750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611ff35750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b5b1561230757600c60179054906101000a900460ff16612048576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203f9061398b565b60405180910390fd5b60019050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156120f75750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612104575042600e54115b1561216557600061211484610bc1565b905061214560646121376002678ac7230489e800006124af90919063ffffffff16565b61252a90919063ffffffff16565b612158828561257490919063ffffffff16565b111561216357600080fd5b505b600d544214156121c8576001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b60006121d330610bc1565b9050600c60169054906101000a900460ff161580156122405750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156123055760008111156123045761229f60646122916005612283600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610bc1565b6124af90919063ffffffff16565b61252a90919063ffffffff16565b8111156122fa576122f760646122e960056122db600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610bc1565b6124af90919063ffffffff16565b61252a90919063ffffffff16565b90505b61230381611890565b5b5b505b612313848484846125d2565b50505050565b6000838311158290612361576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123589190612b5e565b60405180910390fd5b506000838561237091906139ab565b9050809150509392505050565b60006006548211156123c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123bb90613a51565b60405180910390fd5b60006123ce6127a9565b90506123e3818461252a90919063ffffffff16565b915050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808314156124c25760009050612524565b600082846124d09190613a71565b90508284826124df9190613afa565b1461251f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251690613b9d565b60405180910390fd5b809150505b92915050565b600061256c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127d4565b905092915050565b600080828461258391906131d9565b9050838110156125c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125bf90613c09565b60405180910390fd5b8091505092915050565b80806125e1576125e0612837565b5b6000806000806125f087612859565b935093509350935061264a84600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128a890919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126df83600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257490919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061272b816128f2565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127889190612cad565b60405180910390a350505050806127a2576127a16129af565b5b5050505050565b60008060006127b66129ba565b915091506127cd818361252a90919063ffffffff16565b9250505090565b6000808311829061281b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128129190612b5e565b60405180910390fd5b506000838561282a9190613afa565b9050809150509392505050565b60006008541161284657600080fd5b6008546009819055506000600881905550565b60008060008060008061286e87600854612a19565b91509150600061287c6127a9565b905060008061288c8a8585612a6c565b9150915081818686985098509850985050505050509193509193565b60006128ea83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612319565b905092915050565b60006128fc6127a9565b9050600061291382846124af90919063ffffffff16565b905061296781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257490919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b600954600881905550565b600080600060065490506000678ac7230489e8000090506129ee678ac7230489e8000060065461252a90919063ffffffff16565b821015612a0c57600654678ac7230489e80000935093505050612a15565b81819350935050505b9091565b6000806000612a446064612a3686886124af90919063ffffffff16565b61252a90919063ffffffff16565b90506000612a5b82876128a890919063ffffffff16565b905080829350935050509250929050565b6000806000612a8484876124af90919063ffffffff16565b90506000612a9b85876124af90919063ffffffff16565b90506000612ab282846128a890919063ffffffff16565b9050828194509450505050935093915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612aff578082015181840152602081019050612ae4565b83811115612b0e576000848401525b50505050565b6000601f19601f8301169050919050565b6000612b3082612ac5565b612b3a8185612ad0565b9350612b4a818560208601612ae1565b612b5381612b14565b840191505092915050565b60006020820190508181036000830152612b788184612b25565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612bbf82612b94565b9050919050565b612bcf81612bb4565b8114612bda57600080fd5b50565b600081359050612bec81612bc6565b92915050565b6000819050919050565b612c0581612bf2565b8114612c1057600080fd5b50565b600081359050612c2281612bfc565b92915050565b60008060408385031215612c3f57612c3e612b8a565b5b6000612c4d85828601612bdd565b9250506020612c5e85828601612c13565b9150509250929050565b60008115159050919050565b612c7d81612c68565b82525050565b6000602082019050612c986000830184612c74565b92915050565b612ca781612bf2565b82525050565b6000602082019050612cc26000830184612c9e565b92915050565b600080600060608486031215612ce157612ce0612b8a565b5b6000612cef86828701612bdd565b9350506020612d0086828701612bdd565b9250506040612d1186828701612c13565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612d5882612b14565b810181811067ffffffffffffffff82111715612d7757612d76612d20565b5b80604052505050565b6000612d8a612b80565b9050612d968282612d4f565b919050565b600067ffffffffffffffff821115612db657612db5612d20565b5b602082029050602081019050919050565b600080fd5b6000612ddf612dda84612d9b565b612d80565b90508083825260208201905060208402830185811115612e0257612e01612dc7565b5b835b81811015612e2b5780612e178882612bdd565b845260208401935050602081019050612e04565b5050509392505050565b600082601f830112612e4a57612e49612d1b565b5b8135612e5a848260208601612dcc565b91505092915050565b600060208284031215612e7957612e78612b8a565b5b600082013567ffffffffffffffff811115612e9757612e96612b8f565b5b612ea384828501612e35565b91505092915050565b600060208284031215612ec257612ec1612b8a565b5b6000612ed084828501612bdd565b91505092915050565b6000612ee482612b94565b9050919050565b612ef481612ed9565b8114612eff57600080fd5b50565b600081359050612f1181612eeb565b92915050565b600060208284031215612f2d57612f2c612b8a565b5b6000612f3b84828501612f02565b91505092915050565b612f4d81612c68565b8114612f5857600080fd5b50565b600081359050612f6a81612f44565b92915050565b600060208284031215612f8657612f85612b8a565b5b6000612f9484828501612f5b565b91505092915050565b612fa681612bb4565b82525050565b6000602082019050612fc16000830184612f9d565b92915050565b60008060408385031215612fde57612fdd612b8a565b5b6000612fec85828601612bdd565b9250506020612ffd85828601612bdd565b9150509250929050565b60006020828403121561301d5761301c612b8a565b5b600061302b84828501612c13565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061306a602083612ad0565b915061307582613034565b602082019050919050565b600060208201905081810360008301526130998161305d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061310982612bf2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561313c5761313b6130cf565b5b600182019050919050565b7f436f6e7472616374206d75737420626520696e697469616c697a65642066697260008201527f7374000000000000000000000000000000000000000000000000000000000000602082015250565b60006131a3602283612ad0565b91506131ae82613147565b604082019050919050565b600060208201905081810360008301526131d281613196565b9050919050565b60006131e482612bf2565b91506131ef83612bf2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613224576132236130cf565b5b828201905092915050565b7f436f6e74726163742068617320616c7265616479206265656e20696e6974696160008201527f6c697a6564000000000000000000000000000000000000000000000000000000602082015250565b600061328b602583612ad0565b91506132968261322f565b604082019050919050565b600060208201905081810360008301526132ba8161327e565b9050919050565b6000815190506132d081612bc6565b92915050565b6000602082840312156132ec576132eb612b8a565b5b60006132fa848285016132c1565b91505092915050565b60006040820190506133186000830185612f9d565b6133256020830184612f9d565b9392505050565b7f5465616d206665652063616e6e6f74206265206c6172676572207468616e203160008201527f3025000000000000000000000000000000000000000000000000000000000000602082015250565b6000613388602283612ad0565b91506133938261332c565b604082019050919050565b600060208201905081810360008301526133b78161337b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061341a602683612ad0565b9150613425826133be565b604082019050919050565b600060208201905081810360008301526134498161340d565b9050919050565b6000819050919050565b6000819050919050565b600061347f61347a61347584613450565b61345a565b612bf2565b9050919050565b61348f81613464565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6134ca81612bb4565b82525050565b60006134dc83836134c1565b60208301905092915050565b6000602082019050919050565b600061350082613495565b61350a81856134a0565b9350613515836134b1565b8060005b8381101561354657815161352d88826134d0565b9750613538836134e8565b925050600181019050613519565b5085935050505092915050565b600060a0820190506135686000830188612c9e565b6135756020830187613486565b818103604083015261358781866134f5565b90506135966060830185612f9d565b6135a36080830184612c9e565b9695505050505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613609602483612ad0565b9150613614826135ad565b604082019050919050565b60006020820190508181036000830152613638816135fc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061369b602283612ad0565b91506136a68261363f565b604082019050919050565b600060208201905081810360008301526136ca8161368e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061372d602583612ad0565b9150613738826136d1565b604082019050919050565b6000602082019050818103600083015261375c81613720565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006137bf602383612ad0565b91506137ca82613763565b604082019050919050565b600060208201905081810360008301526137ee816137b2565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613851602983612ad0565b915061385c826137f5565b604082019050919050565b6000602082019050818103600083015261388081613844565b9050919050565b7f596f7572206164647265737320686173206265656e206d61726b65642061732060008201527f6120626f742c20706c6561736520636f6e7461637420737461666620746f206160208201527f707065616c20796f757220636173652e00000000000000000000000000000000604082015250565b6000613909605083612ad0565b915061391482613887565b606082019050919050565b60006020820190508181036000830152613938816138fc565b9050919050565b7f54726164696e6720686173206e6f7420796574206265656e206f70656e65642e600082015250565b6000613975602083612ad0565b91506139808261393f565b602082019050919050565b600060208201905081810360008301526139a481613968565b9050919050565b60006139b682612bf2565b91506139c183612bf2565b9250828210156139d4576139d36130cf565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613a3b602a83612ad0565b9150613a46826139df565b604082019050919050565b60006020820190508181036000830152613a6a81613a2e565b9050919050565b6000613a7c82612bf2565b9150613a8783612bf2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613ac057613abf6130cf565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b0582612bf2565b9150613b1083612bf2565b925082613b2057613b1f613acb565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613b87602183612ad0565b9150613b9282613b2b565b604082019050919050565b60006020820190508181036000830152613bb681613b7a565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613bf3601b83612ad0565b9150613bfe82613bbd565b602082019050919050565b60006020820190508181036000830152613c2281613be6565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c126553d629bb41fbefff4266a3589e3b6c068a3b37f57793cf7991f31d41fc964736f6c634300080a0033
Deployed Bytecode
0x60806040526004361061016a5760003560e01c806370a08231116100d1578063b515566a1161008a578063cf9d4afa11610064578063cf9d4afa1461050d578063dd62ed3e14610536578063e6ec64ec14610573578063f2fde38b1461059c57610171565b8063b515566a146104a4578063c9567bf9146104cd578063cf0848f7146104e457610171565b806370a0823114610394578063715018a6146103d15780638da5cb5b146103e857806390d49b9d1461041357806395d89b411461043c578063a9059cbb1461046757610171565b806331c2d8471161012357806331c2d847146102885780633bbac579146102b1578063437823ec146102ee578063476343ee146103175780634b740b161461032e5780635342acb41461035757610171565b806306d8ea6b1461017657806306fdde031461018d578063095ea7b3146101b857806318160ddd146101f557806323b872dd14610220578063313ce5671461025d57610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b6105c5565b005b34801561019957600080fd5b506101a261065a565b6040516101af9190612b5e565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da9190612c28565b610697565b6040516101ec9190612c83565b60405180910390f35b34801561020157600080fd5b5061020a6106b5565b6040516102179190612cad565b60405180910390f35b34801561022c57600080fd5b5061024760048036038101906102429190612cc8565b6106c5565b6040516102549190612c83565b60405180910390f35b34801561026957600080fd5b5061027261079e565b60405161027f9190612cad565b60405180910390f35b34801561029457600080fd5b506102af60048036038101906102aa9190612e63565b6107a7565b005b3480156102bd57600080fd5b506102d860048036038101906102d39190612eac565b6108b8565b6040516102e59190612c83565b60405180910390f35b3480156102fa57600080fd5b5061031560048036038101906103109190612f17565b61090e565b005b34801561032357600080fd5b5061032c6109e5565b005b34801561033a57600080fd5b5061035560048036038101906103509190612f70565b610ad2565b005b34801561036357600080fd5b5061037e60048036038101906103799190612eac565b610b6b565b60405161038b9190612c83565b60405180910390f35b3480156103a057600080fd5b506103bb60048036038101906103b69190612eac565b610bc1565b6040516103c89190612cad565b60405180910390f35b3480156103dd57600080fd5b506103e6610c12565b005b3480156103f457600080fd5b506103fd610c9a565b60405161040a9190612fac565b60405180910390f35b34801561041f57600080fd5b5061043a60048036038101906104359190612f17565b610cc3565b005b34801561044857600080fd5b50610451610e77565b60405161045e9190612b5e565b60405180910390f35b34801561047357600080fd5b5061048e60048036038101906104899190612c28565b610eb4565b60405161049b9190612c83565b60405180910390f35b3480156104b057600080fd5b506104cb60048036038101906104c69190612e63565b610ed2565b005b3480156104d957600080fd5b506104e26110c9565b005b3480156104f057600080fd5b5061050b60048036038101906105069190612f17565b6111ce565b005b34801561051957600080fd5b50610534600480360381019061052f9190612f17565b6112a5565b005b34801561054257600080fd5b5061055d60048036038101906105589190612fc7565b61163f565b60405161056a9190612cad565b60405180910390f35b34801561057f57600080fd5b5061059a60048036038101906105959190613007565b6116c6565b005b3480156105a857600080fd5b506105c360048036038101906105be9190612eac565b611790565b005b6105cd611888565b73ffffffffffffffffffffffffffffffffffffffff166105eb610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614610641576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063890613080565b60405180910390fd5b600061064c30610bc1565b905061065781611890565b50565b60606040518060400160405280600881526020017f4576657273696679000000000000000000000000000000000000000000000000815250905090565b60006106ab6106a4611888565b8484611b09565b6001905092915050565b6000678ac7230489e80000905090565b60006106d2848484611cd4565b610793846106de611888565b61078e85604051806060016040528060288152602001613c2a60289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610744611888565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123199092919063ffffffff16565b611b09565b600190509392505050565b60006009905090565b6107af611888565b73ffffffffffffffffffffffffffffffffffffffff166107cd610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614610823576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081a90613080565b60405180910390fd5b60005b81518110156108b457600060056000848481518110610848576108476130a0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806108ac906130fe565b915050610826565b5050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610916611888565b73ffffffffffffffffffffffffffffffffffffffff16610934610c9a565b73ffffffffffffffffffffffffffffffffffffffff161461098a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098190613080565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6109ed611888565b73ffffffffffffffffffffffffffffffffffffffff16610a0b610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614610a61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5890613080565b60405180910390fd5b6000479050600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610ace573d6000803e3d6000fd5b5050565b610ada611888565b73ffffffffffffffffffffffffffffffffffffffff16610af8610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614610b4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4590613080565b60405180910390fd5b80600c60156101000a81548160ff02191690831515021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000610c0b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237d565b9050919050565b610c1a611888565b73ffffffffffffffffffffffffffffffffffffffff16610c38610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614610c8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8590613080565b60405180910390fd5b610c9860006123eb565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ccb611888565b73ffffffffffffffffffffffffffffffffffffffff16610ce9610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614610d3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3690613080565b60405180910390fd5b600060046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60606040518060400160405280600381526020017f4556450000000000000000000000000000000000000000000000000000000000815250905090565b6000610ec8610ec1611888565b8484611cd4565b6001905092915050565b610eda611888565b73ffffffffffffffffffffffffffffffffffffffff16610ef8610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614610f4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4590613080565b60405180910390fd5b60005b81518110156110c557600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16828281518110610fa657610fa56130a0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415801561103a5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16828281518110611019576110186130a0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614155b156110b257600160056000848481518110611058576110576130a0565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80806110bd906130fe565b915050610f51565b5050565b6110d1611888565b73ffffffffffffffffffffffffffffffffffffffff166110ef610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614611145576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113c90613080565b60405180910390fd5b600c60149054906101000a900460ff16611194576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118b906131b9565b60405180910390fd5b6001600c60176101000a81548160ff02191690831515021790555042600d81905550610e10600d546111c691906131d9565b600e81905550565b6111d6611888565b73ffffffffffffffffffffffffffffffffffffffff166111f4610c9a565b73ffffffffffffffffffffffffffffffffffffffff161461124a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124190613080565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6112ad611888565b73ffffffffffffffffffffffffffffffffffffffff166112cb610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614611321576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131890613080565b60405180910390fd5b600c60149054906101000a900460ff1615611371576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611368906132a1565b60405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f991906132d6565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611460573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148491906132d6565b6040518363ffffffff1660e01b81526004016114a1929190613303565b6020604051808303816000875af11580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e491906132d6565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600c60146101000a81548160ff0219169083151502179055505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116ce611888565b73ffffffffffffffffffffffffffffffffffffffff166116ec610c9a565b73ffffffffffffffffffffffffffffffffffffffff1614611742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173990613080565b60405180910390fd5b600a811115611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177d9061339e565b60405180910390fd5b8060088190555050565b611798611888565b73ffffffffffffffffffffffffffffffffffffffff166117b6610c9a565b73ffffffffffffffffffffffffffffffffffffffff161461180c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180390613080565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561187c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187390613430565b60405180910390fd5b611885816123eb565b50565b600033905090565b6001600c60166101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156118c8576118c7612d20565b5b6040519080825280602002602001820160405280156118f65781602001602082028036833780820191505090505b509050308160008151811061190e5761190d6130a0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d991906132d6565b816001815181106119ed576119ec6130a0565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a5430600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611b09565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611ab8959493929190613553565b600060405180830381600087803b158015611ad257600080fd5b505af1158015611ae6573d6000803e3d6000fd5b50505050506000600c60166101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b709061361f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be0906136b1565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611cc79190612cad565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3b90613743565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611db4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dab906137d5565b60405180910390fd5b60008111611df7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dee90613867565b60405180910390fd5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7b9061391f565b60405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f2a5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611f435750600c60159054906101000a900460ff16155b8015611ff45750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611ff35750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b5b1561230757600c60179054906101000a900460ff16612048576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203f9061398b565b60405180910390fd5b60019050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156120f75750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015612104575042600e54115b1561216557600061211484610bc1565b905061214560646121376002678ac7230489e800006124af90919063ffffffff16565b61252a90919063ffffffff16565b612158828561257490919063ffffffff16565b111561216357600080fd5b505b600d544214156121c8576001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b60006121d330610bc1565b9050600c60169054906101000a900460ff161580156122405750600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156123055760008111156123045761229f60646122916005612283600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610bc1565b6124af90919063ffffffff16565b61252a90919063ffffffff16565b8111156122fa576122f760646122e960056122db600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610bc1565b6124af90919063ffffffff16565b61252a90919063ffffffff16565b90505b61230381611890565b5b5b505b612313848484846125d2565b50505050565b6000838311158290612361576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123589190612b5e565b60405180910390fd5b506000838561237091906139ab565b9050809150509392505050565b60006006548211156123c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123bb90613a51565b60405180910390fd5b60006123ce6127a9565b90506123e3818461252a90919063ffffffff16565b915050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808314156124c25760009050612524565b600082846124d09190613a71565b90508284826124df9190613afa565b1461251f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251690613b9d565b60405180910390fd5b809150505b92915050565b600061256c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127d4565b905092915050565b600080828461258391906131d9565b9050838110156125c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125bf90613c09565b60405180910390fd5b8091505092915050565b80806125e1576125e0612837565b5b6000806000806125f087612859565b935093509350935061264a84600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128a890919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126df83600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257490919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061272b816128f2565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127889190612cad565b60405180910390a350505050806127a2576127a16129af565b5b5050505050565b60008060006127b66129ba565b915091506127cd818361252a90919063ffffffff16565b9250505090565b6000808311829061281b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128129190612b5e565b60405180910390fd5b506000838561282a9190613afa565b9050809150509392505050565b60006008541161284657600080fd5b6008546009819055506000600881905550565b60008060008060008061286e87600854612a19565b91509150600061287c6127a9565b905060008061288c8a8585612a6c565b9150915081818686985098509850985050505050509193509193565b60006128ea83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612319565b905092915050565b60006128fc6127a9565b9050600061291382846124af90919063ffffffff16565b905061296781600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461257490919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b600954600881905550565b600080600060065490506000678ac7230489e8000090506129ee678ac7230489e8000060065461252a90919063ffffffff16565b821015612a0c57600654678ac7230489e80000935093505050612a15565b81819350935050505b9091565b6000806000612a446064612a3686886124af90919063ffffffff16565b61252a90919063ffffffff16565b90506000612a5b82876128a890919063ffffffff16565b905080829350935050509250929050565b6000806000612a8484876124af90919063ffffffff16565b90506000612a9b85876124af90919063ffffffff16565b90506000612ab282846128a890919063ffffffff16565b9050828194509450505050935093915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612aff578082015181840152602081019050612ae4565b83811115612b0e576000848401525b50505050565b6000601f19601f8301169050919050565b6000612b3082612ac5565b612b3a8185612ad0565b9350612b4a818560208601612ae1565b612b5381612b14565b840191505092915050565b60006020820190508181036000830152612b788184612b25565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612bbf82612b94565b9050919050565b612bcf81612bb4565b8114612bda57600080fd5b50565b600081359050612bec81612bc6565b92915050565b6000819050919050565b612c0581612bf2565b8114612c1057600080fd5b50565b600081359050612c2281612bfc565b92915050565b60008060408385031215612c3f57612c3e612b8a565b5b6000612c4d85828601612bdd565b9250506020612c5e85828601612c13565b9150509250929050565b60008115159050919050565b612c7d81612c68565b82525050565b6000602082019050612c986000830184612c74565b92915050565b612ca781612bf2565b82525050565b6000602082019050612cc26000830184612c9e565b92915050565b600080600060608486031215612ce157612ce0612b8a565b5b6000612cef86828701612bdd565b9350506020612d0086828701612bdd565b9250506040612d1186828701612c13565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612d5882612b14565b810181811067ffffffffffffffff82111715612d7757612d76612d20565b5b80604052505050565b6000612d8a612b80565b9050612d968282612d4f565b919050565b600067ffffffffffffffff821115612db657612db5612d20565b5b602082029050602081019050919050565b600080fd5b6000612ddf612dda84612d9b565b612d80565b90508083825260208201905060208402830185811115612e0257612e01612dc7565b5b835b81811015612e2b5780612e178882612bdd565b845260208401935050602081019050612e04565b5050509392505050565b600082601f830112612e4a57612e49612d1b565b5b8135612e5a848260208601612dcc565b91505092915050565b600060208284031215612e7957612e78612b8a565b5b600082013567ffffffffffffffff811115612e9757612e96612b8f565b5b612ea384828501612e35565b91505092915050565b600060208284031215612ec257612ec1612b8a565b5b6000612ed084828501612bdd565b91505092915050565b6000612ee482612b94565b9050919050565b612ef481612ed9565b8114612eff57600080fd5b50565b600081359050612f1181612eeb565b92915050565b600060208284031215612f2d57612f2c612b8a565b5b6000612f3b84828501612f02565b91505092915050565b612f4d81612c68565b8114612f5857600080fd5b50565b600081359050612f6a81612f44565b92915050565b600060208284031215612f8657612f85612b8a565b5b6000612f9484828501612f5b565b91505092915050565b612fa681612bb4565b82525050565b6000602082019050612fc16000830184612f9d565b92915050565b60008060408385031215612fde57612fdd612b8a565b5b6000612fec85828601612bdd565b9250506020612ffd85828601612bdd565b9150509250929050565b60006020828403121561301d5761301c612b8a565b5b600061302b84828501612c13565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061306a602083612ad0565b915061307582613034565b602082019050919050565b600060208201905081810360008301526130998161305d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061310982612bf2565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561313c5761313b6130cf565b5b600182019050919050565b7f436f6e7472616374206d75737420626520696e697469616c697a65642066697260008201527f7374000000000000000000000000000000000000000000000000000000000000602082015250565b60006131a3602283612ad0565b91506131ae82613147565b604082019050919050565b600060208201905081810360008301526131d281613196565b9050919050565b60006131e482612bf2565b91506131ef83612bf2565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613224576132236130cf565b5b828201905092915050565b7f436f6e74726163742068617320616c7265616479206265656e20696e6974696160008201527f6c697a6564000000000000000000000000000000000000000000000000000000602082015250565b600061328b602583612ad0565b91506132968261322f565b604082019050919050565b600060208201905081810360008301526132ba8161327e565b9050919050565b6000815190506132d081612bc6565b92915050565b6000602082840312156132ec576132eb612b8a565b5b60006132fa848285016132c1565b91505092915050565b60006040820190506133186000830185612f9d565b6133256020830184612f9d565b9392505050565b7f5465616d206665652063616e6e6f74206265206c6172676572207468616e203160008201527f3025000000000000000000000000000000000000000000000000000000000000602082015250565b6000613388602283612ad0565b91506133938261332c565b604082019050919050565b600060208201905081810360008301526133b78161337b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061341a602683612ad0565b9150613425826133be565b604082019050919050565b600060208201905081810360008301526134498161340d565b9050919050565b6000819050919050565b6000819050919050565b600061347f61347a61347584613450565b61345a565b612bf2565b9050919050565b61348f81613464565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6134ca81612bb4565b82525050565b60006134dc83836134c1565b60208301905092915050565b6000602082019050919050565b600061350082613495565b61350a81856134a0565b9350613515836134b1565b8060005b8381101561354657815161352d88826134d0565b9750613538836134e8565b925050600181019050613519565b5085935050505092915050565b600060a0820190506135686000830188612c9e565b6135756020830187613486565b818103604083015261358781866134f5565b90506135966060830185612f9d565b6135a36080830184612c9e565b9695505050505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613609602483612ad0565b9150613614826135ad565b604082019050919050565b60006020820190508181036000830152613638816135fc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061369b602283612ad0565b91506136a68261363f565b604082019050919050565b600060208201905081810360008301526136ca8161368e565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061372d602583612ad0565b9150613738826136d1565b604082019050919050565b6000602082019050818103600083015261375c81613720565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006137bf602383612ad0565b91506137ca82613763565b604082019050919050565b600060208201905081810360008301526137ee816137b2565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613851602983612ad0565b915061385c826137f5565b604082019050919050565b6000602082019050818103600083015261388081613844565b9050919050565b7f596f7572206164647265737320686173206265656e206d61726b65642061732060008201527f6120626f742c20706c6561736520636f6e7461637420737461666620746f206160208201527f707065616c20796f757220636173652e00000000000000000000000000000000604082015250565b6000613909605083612ad0565b915061391482613887565b606082019050919050565b60006020820190508181036000830152613938816138fc565b9050919050565b7f54726164696e6720686173206e6f7420796574206265656e206f70656e65642e600082015250565b6000613975602083612ad0565b91506139808261393f565b602082019050919050565b600060208201905081810360008301526139a481613968565b9050919050565b60006139b682612bf2565b91506139c183612bf2565b9250828210156139d4576139d36130cf565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613a3b602a83612ad0565b9150613a46826139df565b604082019050919050565b60006020820190508181036000830152613a6a81613a2e565b9050919050565b6000613a7c82612bf2565b9150613a8783612bf2565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613ac057613abf6130cf565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b0582612bf2565b9150613b1083612bf2565b925082613b2057613b1f613acb565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613b87602183612ad0565b9150613b9282613b2b565b604082019050919050565b60006020820190508181036000830152613bb681613b7a565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613bf3601b83612ad0565b9150613bfe82613bbd565b602082019050919050565b60006020820190508181036000830152613c2281613be6565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c126553d629bb41fbefff4266a3589e3b6c068a3b37f57793cf7991f31d41fc964736f6c634300080a0033
Deployed Bytecode Sourcemap
3810:10858:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14290:161;;;;;;;;;;;;;:::i;:::-;;5527:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6379:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5803:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6548:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5713:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13885:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14066:90;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13079:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14463:165;;;;;;;;;;;;;:::i;:::-;;13328:92;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14164:114;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5906:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2801:105;;;;;;;;;;;;;:::i;:::-;;2578:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12844:227;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5618:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6053:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13598:275;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12583:253;;;;;;;;;;;;;:::i;:::-;;13204:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12026:549;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6228:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13432:154;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2914:203;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;14290:161;2724:12;:10;:12::i;:::-;2713:23;;:7;:5;:7::i;:::-;:23;;;2705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14348:23:::1;14374:24;14392:4;14374:9;:24::i;:::-;14348:50;;14409:34;14427:15;14409:17;:34::i;:::-;14337:114;14290:161::o:0;5527:83::-;5564:13;5597:5;;;;;;;;;;;;;;;;;5590:12;;5527:83;:::o;6379:161::-;6454:4;6471:39;6480:12;:10;:12::i;:::-;6494:7;6503:6;6471:8;:39::i;:::-;6528:4;6521:11;;6379:161;;;;:::o;5803:95::-;5856:7;4273:12;5876:14;;5803:95;:::o;6548:313::-;6646:4;6663:36;6673:6;6681:9;6692:6;6663:9;:36::i;:::-;6710:121;6719:6;6727:12;:10;:12::i;:::-;6741:89;6779:6;6741:89;;;;;;;;;;;;;;;;;:11;:19;6753:6;6741:19;;;;;;;;;;;;;;;:33;6761:12;:10;:12::i;:::-;6741:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;6710:8;:121::i;:::-;6849:4;6842:11;;6548:313;;;;;:::o;5713:82::-;5754:4;4524:1;5771:16;;5713:82;:::o;13885:169::-;2724:12;:10;:12::i;:::-;2713:23;;:7;:5;:7::i;:::-;:23;;;2705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13961:6:::1;13956:91;13977:5;:12;13973:1;:16;13956:91;;;14030:5;14011:6;:16;14018:5;14024:1;14018:8;;;;;;;;:::i;:::-;;;;;;;;14011:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;13991:3;;;;;:::i;:::-;;;;13956:91;;;;13885:169:::0;:::o;14066:90::-;14114:4;14138:6;:10;14145:2;14138:10;;;;;;;;;;;;;;;;;;;;;;;;;14131:17;;14066:90;;;:::o;13079:113::-;2724:12;:10;:12::i;:::-;2713:23;;:7;:5;:7::i;:::-;:23;;;2705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13180:4:::1;13155:18;:22;13174:2;13155:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;13079:113:::0;:::o;14463:165::-;2724:12;:10;:12::i;:::-;2713:23;;:7;:5;:7::i;:::-;:23;;;2705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14519:26:::1;14548:21;14519:50;;14580:11;;;;;;;;;;;:20;;:40;14601:18;14580:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;14508:120;14463:165::o:0;13328:92::-;2724:12;:10;:12::i;:::-;2713:23;;:7;:5;:7::i;:::-;:23;;;2705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13407:5:::1;13394:10;;:18;;;;;;;;;;;;;;;;;;13328:92:::0;:::o;14164:114::-;14224:4;14248:18;:22;14267:2;14248:22;;;;;;;;;;;;;;;;;;;;;;;;;14241:29;;14164:114;;;:::o;5906:139::-;5972:7;5999:38;6020:7;:16;6028:7;6020:16;;;;;;;;;;;;;;;;5999:20;:38::i;:::-;5992:45;;5906:139;;;:::o;2801:105::-;2724:12;:10;:12::i;:::-;2713:23;;:7;:5;:7::i;:::-;:23;;;2705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2868:30:::1;2895:1;2868:18;:30::i;:::-;2801:105::o:0;2578:87::-;2624:7;2651:6;;;;;;;;;;;2644:13;;2578:87;:::o;12844:227::-;2724:12;:10;:12::i;:::-;2713:23;;:7;:5;:7::i;:::-;:23;;;2705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12966:5:::1;12932:18;:31;12951:11;;;;;;;;;;;12932:31;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;12998:16;12984:11;;:30;;;;;;;;;;;;;;;;;;13059:4;13025:18;:31;13044:11;;;;;;;;;;;13025:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;12844:227:::0;:::o;5618:87::-;5657:13;5690:7;;;;;;;;;;;;;;;;;5683:14;;5618:87;:::o;6053:167::-;6131:4;6148:42;6158:12;:10;:12::i;:::-;6172:9;6183:6;6148:9;:42::i;:::-;6208:4;6201:11;;6053:167;;;;:::o;13598:275::-;2724:12;:10;:12::i;:::-;2713:23;;:7;:5;:7::i;:::-;:23;;;2705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13674:6:::1;13669:197;13690:5;:12;13686:1;:16;13669:197;;;13740:14;;;;;;;;;;;13728:26;;:5;13734:1;13728:8;;;;;;;;:::i;:::-;;;;;;;;:26;;;;:67;;;;;13778:16;;;;;;;;;;;13758:37;;:5;13764:1;13758:8;;;;;;;;:::i;:::-;;;;;;;;:37;;;;13728:67;13724:131;;;13835:4;13816:6;:16;13823:5;13829:1;13823:8;;;;;;;;:::i;:::-;;;;;;;;13816:16;;;;;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;13724:131;13704:3;;;;;:::i;:::-;;;;13669:197;;;;13598:275:::0;:::o;12583:253::-;2724:12;:10;:12::i;:::-;2713:23;;:7;:5;:7::i;:::-;:23;;;2705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12646:12:::1;;;;;;;;;;;12638:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;12723:4;12708:12;;:19;;;;;;;;;;;;;;;;;;12752:15;12738:11;:29;;;;12817:10;12802:11;;:26;;;;:::i;:::-;12778:21;:50;;;;12583:253::o:0;13204:112::-;2724:12;:10;:12::i;:::-;2713:23;;:7;:5;:7::i;:::-;:23;;;2705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13303:5:::1;13278:18;:22;13297:2;13278:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;13204:112:::0;:::o;12026:549::-;2724:12;:10;:12::i;:::-;2713:23;;:7;:5;:7::i;:::-;:23;;;2705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12117:12:::1;;;;;;;;;;;12116:13;12108:62;;;;;;;;;;;;:::i;:::-;;;;;;;;;12181:34;12237:42;12181:99;;12326:15;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12308:55;;;12372:4;12379:15;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12308:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12291:14;;:111;;;;;;;;;;;;;;;;;;12434:15;12415:16;;:34;;;;;;;;;;;;;;;;;;12476:10;12462:11;;:24;;;;;;;;;;;;;;;;;;12531:4;12497:18;:31;12516:11;;;;;;;;;;;12497:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;12563:4;12548:12;;:19;;;;;;;;;;;;;;;;;;12097:478;12026:549:::0;:::o;6228:143::-;6309:7;6336:11;:18;6348:5;6336:18;;;;;;;;;;;;;;;:27;6355:7;6336:27;;;;;;;;;;;;;;;;6329:34;;6228:143;;;;:::o;13432:154::-;2724:12;:10;:12::i;:::-;2713:23;;:7;:5;:7::i;:::-;:23;;;2705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;13512:2:::1;13505:3;:9;;13497:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;13575:3;13564:8;:14;;;;13432:154:::0;:::o;2914:203::-;2724:12;:10;:12::i;:::-;2713:23;;:7;:5;:7::i;:::-;:23;;;2705:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3025:1:::1;3005:22;;:8;:22;;;;2997:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3081:28;3100:8;3081:18;:28::i;:::-;2914:203:::0;:::o;101:98::-;154:7;181:10;174:17;;101:98;:::o;9401:489::-;5050:4;5040:7;;:14;;;;;;;;;;;;;;;;;;9482:21:::1;9520:1;9506:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9482:40;;9551:4;9533;9538:1;9533:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;9577:16;;;;;;;;;;;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9567:4;9572:1;9567:7;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;;;;::::0;::::1;9611:63;9628:4;9643:16;;;;;;;;;;;9662:11;9611:8;:63::i;:::-;9685:16;;;;;;;;;;;:67;;;9767:11;9793:1;9809:4;9836;9856:15;9685:197;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9471:419;5087:5:::0;5077:7;;:15;;;;;;;;;;;;;;;;;;9401:489;:::o;7370:337::-;7480:1;7463:19;;:5;:19;;;;7455:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7561:1;7542:21;;:7;:21;;;;7534:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7645:6;7615:11;:18;7627:5;7615:18;;;;;;;;;;;;;;;:27;7634:7;7615:27;;;;;;;;;;;;;;;:36;;;;7683:7;7667:32;;7676:5;7667:32;;;7692:6;7667:32;;;;;;:::i;:::-;;;;;;;;7370:337;;;:::o;7719:1674::-;7823:1;7807:18;;:4;:18;;;;7799:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7900:1;7886:16;;:2;:16;;;;7878:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7970:1;7961:6;:10;7953:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8037:6;:12;8044:4;8037:12;;;;;;;;;;;;;;;;;;;;;;;;;8036:13;8028:106;;;;;;;;;;;;:::i;:::-;;;;;;;;;8155:12;8205:18;:24;8224:4;8205:24;;;;;;;;;;;;;;;;;;;;;;;;;8204:25;:66;;;;;8248:18;:22;8267:2;8248:22;;;;;;;;;;;;;;;;;;;;;;;;;8247:23;8204:66;:95;;;;;8289:10;;;;;;;;;;;8288:11;8204:95;:161;;;;;8326:14;;;;;;;;;;;8318:22;;:4;:22;;;:46;;;;8350:14;;;;;;;;;;;8344:20;;:2;:20;;;8318:46;8204:161;8186:1130;;;8400:12;;;;;;;;;;;8392:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;8474:4;8464:14;;8507;;;;;;;;;;;8499:22;;:4;:22;;;:57;;;;;8539:16;;;;;;;;;;;8525:31;;:2;:31;;;;8499:57;:100;;;;;8584:15;8560:21;;:39;8499:100;8495:264;;;8620:18;8641:22;8659:2;8641:9;:22::i;:::-;8620:43;;8719:23;8738:3;8719:14;8731:1;4273:12;8719:11;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;8690:25;8701:13;8690:6;:10;;:25;;;;:::i;:::-;:52;;8682:61;;;;;;8601:158;8495:264;8798:11;;8779:15;:30;8775:53;;;8824:4;8811:6;:10;8818:2;8811:10;;;;;;;;;;;;;;;;:17;;;;;;;;;;;;;;;;;;8775:53;8845:28;8876:24;8894:4;8876:9;:24::i;:::-;8845:55;;8920:7;;;;;;;;;;;8919:8;:34;;;;;8939:14;;;;;;;;;;;8931:22;;:4;:22;;;;8919:34;8915:390;;;9001:1;8978:20;:24;8974:316;;;9054:41;9091:3;9054:32;9084:1;9054:25;9064:14;;;;;;;;;;;9054:9;:25::i;:::-;:29;;:32;;;;:::i;:::-;:36;;:41;;;;:::i;:::-;9031:20;:64;9027:159;;;9145:41;9182:3;9145:32;9175:1;9145:25;9155:14;;;;;;;;;;;9145:9;:25::i;:::-;:29;;:32;;;;:::i;:::-;:36;;:41;;;;:::i;:::-;9122:64;;9027:159;9231:39;9249:20;9231:17;:39::i;:::-;8974:316;8915:390;8377:939;8186:1130;9344:41;9359:4;9365:2;9369:6;9377:7;9344:14;:41::i;:::-;7788:1605;7719:1674;;;:::o;1238:190::-;1324:7;1357:1;1352;:6;;1360:12;1344:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1384:9;1400:1;1396;:5;;;;:::i;:::-;1384:17;;1419:1;1412:8;;;1238:190;;;;;:::o;6869:255::-;6937:7;6976;;6965;:18;;6957:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7041:19;7064:10;:8;:10::i;:::-;7041:33;;7092:24;7104:11;7092:7;:11;;:24;;;;:::i;:::-;7085:31;;;6869:255;;;:::o;3125:191::-;3199:16;3218:6;;;;;;;;;;;3199:25;;3244:8;3235:6;;:17;;;;;;;;;;;;;;;;;;3299:8;3268:40;;3289:8;3268:40;;;;;;;;;;;;3188:128;3125:191;:::o;1436:246::-;1494:7;1523:1;1518;:6;1514:47;;;1548:1;1541:8;;;;1514:47;1571:9;1587:1;1583;:5;;;;:::i;:::-;1571:17;;1616:1;1611;1607;:5;;;;:::i;:::-;:10;1599:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1673:1;1666:8;;;1436:246;;;;;:::o;1690:132::-;1748:7;1775:39;1779:1;1782;1775:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1768:46;;1690:132;;;;:::o;907:179::-;965:7;985:9;1001:1;997;:5;;;;:::i;:::-;985:17;;1026:1;1021;:6;;1013:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1077:1;1070:8;;;907:179;;;;:::o;9898:459::-;10007:7;5158;5153:30;;5167:16;:14;:16::i;:::-;5153:30;10028:15:::1;10045:23:::0;10070::::1;10095:13:::0;10112:19:::1;10123:7;10112:10;:19::i;:::-;10027:104;;;;;;;;10160:28;10180:7;10160;:15;10168:6;10160:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;10142:7;:15;10150:6;10142:15;;;;;;;;;;;;;;;:46;;;;10220:39;10243:15;10220:7;:18;10228:9;10220:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;10199:7;:18;10207:9;10199:18;;;;;;;;;;;;;;;:60;;;;10273:16;10283:5;10273:9;:16::i;:::-;10322:9;10305:44;;10314:6;10305:44;;;10333:15;10305:44;;;;;;:::i;:::-;;;;;;;;10016:341;;;;5211:7:::0;5206:31;;5220:17;:15;:17::i;:::-;5206:31;9898:459;;;;;:::o;11032:164::-;11074:7;11095:15;11112;11131:19;:17;:19::i;:::-;11094:56;;;;11168:20;11180:7;11168;:11;;:20;;;;:::i;:::-;11161:27;;;;11032:164;:::o;1830:189::-;1916:7;1948:1;1944;:5;1951:12;1936:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1975:9;1991:1;1987;:5;;;;:::i;:::-;1975:17;;2010:1;2003:8;;;1830:189;;;;;:::o;7132:137::-;7196:1;7185:8;;:12;7177:21;;;;;;7230:8;;7211:16;:27;;;;7260:1;7249:8;:12;;;;7132:137::o;10365:395::-;10424:7;10433;10442;10451;10472:23;10497:13;10514:30;10526:7;10535:8;;10514:11;:30::i;:::-;10471:73;;;;10555:19;10578:10;:8;:10::i;:::-;10555:33;;10600:15;10617:23;10644:40;10656:7;10665:5;10672:11;10644;:40::i;:::-;10599:85;;;;10703:7;10712:15;10729;10746:5;10695:57;;;;;;;;;;;;;10365:395;;;;;:::o;1094:136::-;1152:7;1179:43;1183:1;1186;1179:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1172:50;;1094:136;;;;:::o;11800:214::-;11853:19;11876:10;:8;:10::i;:::-;11853:33;;11897:13;11913:22;11923:11;11913:5;:9;;:22;;;;:::i;:::-;11897:38;;11973:33;12000:5;11973:7;:22;11989:4;11973:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;11948:7;:22;11964:4;11948:22;;;;;;;;;;;;;;;:58;;;;11842:172;;11800:214;:::o;7281:81::-;7338:16;;7327:8;:27;;;;7281:81::o;11204:257::-;11255:7;11264;11284:15;11302:7;;11284:25;;11320:15;4273:12;11320:25;;11370:20;4273:12;11370:7;;:11;;:20;;;;:::i;:::-;11360:7;:30;11356:61;;;11400:7;;4273:12;11392:25;;;;;;;;11356:61;11436:7;11445;11428:25;;;;;;11204:257;;;:::o;10768:256::-;10845:7;10854;10874:13;10890:29;10915:3;10890:20;10902:7;10890;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;10874:45;;10930:23;10956:18;10968:5;10956:7;:11;;:18;;;;:::i;:::-;10930:44;;10993:15;11010:5;10985:31;;;;;;10768:256;;;;;:::o;11469:323::-;11565:7;11574;11594:15;11612:24;11624:11;11612:7;:11;;:24;;;;:::i;:::-;11594:42;;11647:13;11663:22;11673:11;11663:5;:9;;:22;;;;:::i;:::-;11647:38;;11696:23;11722:18;11734:5;11722:7;:11;;:18;;;;:::i;:::-;11696:44;;11759:7;11768:15;11751:33;;;;;;;11469:323;;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:75::-;1430:6;1463:2;1457:9;1447:19;;1397:75;:::o;1478:117::-;1587:1;1584;1577:12;1601:117;1710:1;1707;1700:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:117::-;4580:1;4577;4570:12;4594:180;4642:77;4639:1;4632:88;4739:4;4736:1;4729:15;4763:4;4760:1;4753:15;4780:281;4863:27;4885:4;4863:27;:::i;:::-;4855:6;4851:40;4993:6;4981:10;4978:22;4957:18;4945:10;4942:34;4939:62;4936:88;;;5004:18;;:::i;:::-;4936:88;5044:10;5040:2;5033:22;4823:238;4780:281;;:::o;5067:129::-;5101:6;5128:20;;:::i;:::-;5118:30;;5157:33;5185:4;5177:6;5157:33;:::i;:::-;5067:129;;;:::o;5202:311::-;5279:4;5369:18;5361:6;5358:30;5355:56;;;5391:18;;:::i;:::-;5355:56;5441:4;5433:6;5429:17;5421:25;;5501:4;5495;5491:15;5483:23;;5202:311;;;:::o;5519:117::-;5628:1;5625;5618:12;5659:710;5755:5;5780:81;5796:64;5853:6;5796:64;:::i;:::-;5780:81;:::i;:::-;5771:90;;5881:5;5910:6;5903:5;5896:21;5944:4;5937:5;5933:16;5926:23;;5997:4;5989:6;5985:17;5977:6;5973:30;6026:3;6018:6;6015:15;6012:122;;;6045:79;;:::i;:::-;6012:122;6160:6;6143:220;6177:6;6172:3;6169:15;6143:220;;;6252:3;6281:37;6314:3;6302:10;6281:37;:::i;:::-;6276:3;6269:50;6348:4;6343:3;6339:14;6332:21;;6219:144;6203:4;6198:3;6194:14;6187:21;;6143:220;;;6147:21;5761:608;;5659:710;;;;;:::o;6392:370::-;6463:5;6512:3;6505:4;6497:6;6493:17;6489:27;6479:122;;6520:79;;:::i;:::-;6479:122;6637:6;6624:20;6662:94;6752:3;6744:6;6737:4;6729:6;6725:17;6662:94;:::i;:::-;6653:103;;6469:293;6392:370;;;;:::o;6768:539::-;6852:6;6901:2;6889:9;6880:7;6876:23;6872:32;6869:119;;;6907:79;;:::i;:::-;6869:119;7055:1;7044:9;7040:17;7027:31;7085:18;7077:6;7074:30;7071:117;;;7107:79;;:::i;:::-;7071:117;7212:78;7282:7;7273:6;7262:9;7258:22;7212:78;:::i;:::-;7202:88;;6998:302;6768:539;;;;:::o;7313:329::-;7372:6;7421:2;7409:9;7400:7;7396:23;7392:32;7389:119;;;7427:79;;:::i;:::-;7389:119;7547:1;7572:53;7617:7;7608:6;7597:9;7593:22;7572:53;:::i;:::-;7562:63;;7518:117;7313:329;;;;:::o;7648:104::-;7693:7;7722:24;7740:5;7722:24;:::i;:::-;7711:35;;7648:104;;;:::o;7758:138::-;7839:32;7865:5;7839:32;:::i;:::-;7832:5;7829:43;7819:71;;7886:1;7883;7876:12;7819:71;7758:138;:::o;7902:155::-;7956:5;7994:6;7981:20;7972:29;;8010:41;8045:5;8010:41;:::i;:::-;7902:155;;;;:::o;8063:345::-;8130:6;8179:2;8167:9;8158:7;8154:23;8150:32;8147:119;;;8185:79;;:::i;:::-;8147:119;8305:1;8330:61;8383:7;8374:6;8363:9;8359:22;8330:61;:::i;:::-;8320:71;;8276:125;8063:345;;;;:::o;8414:116::-;8484:21;8499:5;8484:21;:::i;:::-;8477:5;8474:32;8464:60;;8520:1;8517;8510:12;8464:60;8414:116;:::o;8536:133::-;8579:5;8617:6;8604:20;8595:29;;8633:30;8657:5;8633:30;:::i;:::-;8536:133;;;;:::o;8675:323::-;8731:6;8780:2;8768:9;8759:7;8755:23;8751:32;8748:119;;;8786:79;;:::i;:::-;8748:119;8906:1;8931:50;8973:7;8964:6;8953:9;8949:22;8931:50;:::i;:::-;8921:60;;8877:114;8675:323;;;;:::o;9004:118::-;9091:24;9109:5;9091:24;:::i;:::-;9086:3;9079:37;9004:118;;:::o;9128:222::-;9221:4;9259:2;9248:9;9244:18;9236:26;;9272:71;9340:1;9329:9;9325:17;9316:6;9272:71;:::i;:::-;9128:222;;;;:::o;9356:474::-;9424:6;9432;9481:2;9469:9;9460:7;9456:23;9452:32;9449:119;;;9487:79;;:::i;:::-;9449:119;9607:1;9632:53;9677:7;9668:6;9657:9;9653:22;9632:53;:::i;:::-;9622:63;;9578:117;9734:2;9760:53;9805:7;9796:6;9785:9;9781:22;9760:53;:::i;:::-;9750:63;;9705:118;9356:474;;;;;:::o;9836:329::-;9895:6;9944:2;9932:9;9923:7;9919:23;9915:32;9912:119;;;9950:79;;:::i;:::-;9912:119;10070:1;10095:53;10140:7;10131:6;10120:9;10116:22;10095:53;:::i;:::-;10085:63;;10041:117;9836:329;;;;:::o;10171:182::-;10311:34;10307:1;10299:6;10295:14;10288:58;10171:182;:::o;10359:366::-;10501:3;10522:67;10586:2;10581:3;10522:67;:::i;:::-;10515:74;;10598:93;10687:3;10598:93;:::i;:::-;10716:2;10711:3;10707:12;10700:19;;10359:366;;;:::o;10731:419::-;10897:4;10935:2;10924:9;10920:18;10912:26;;10984:9;10978:4;10974:20;10970:1;10959:9;10955:17;10948:47;11012:131;11138:4;11012:131;:::i;:::-;11004:139;;10731:419;;;:::o;11156:180::-;11204:77;11201:1;11194:88;11301:4;11298:1;11291:15;11325:4;11322:1;11315:15;11342:180;11390:77;11387:1;11380:88;11487:4;11484:1;11477:15;11511:4;11508:1;11501:15;11528:233;11567:3;11590:24;11608:5;11590:24;:::i;:::-;11581:33;;11636:66;11629:5;11626:77;11623:103;;;11706:18;;:::i;:::-;11623:103;11753:1;11746:5;11742:13;11735:20;;11528:233;;;:::o;11767:221::-;11907:34;11903:1;11895:6;11891:14;11884:58;11976:4;11971:2;11963:6;11959:15;11952:29;11767:221;:::o;11994:366::-;12136:3;12157:67;12221:2;12216:3;12157:67;:::i;:::-;12150:74;;12233:93;12322:3;12233:93;:::i;:::-;12351:2;12346:3;12342:12;12335:19;;11994:366;;;:::o;12366:419::-;12532:4;12570:2;12559:9;12555:18;12547:26;;12619:9;12613:4;12609:20;12605:1;12594:9;12590:17;12583:47;12647:131;12773:4;12647:131;:::i;:::-;12639:139;;12366:419;;;:::o;12791:305::-;12831:3;12850:20;12868:1;12850:20;:::i;:::-;12845:25;;12884:20;12902:1;12884:20;:::i;:::-;12879:25;;13038:1;12970:66;12966:74;12963:1;12960:81;12957:107;;;13044:18;;:::i;:::-;12957:107;13088:1;13085;13081:9;13074:16;;12791:305;;;;:::o;13102:224::-;13242:34;13238:1;13230:6;13226:14;13219:58;13311:7;13306:2;13298:6;13294:15;13287:32;13102:224;:::o;13332:366::-;13474:3;13495:67;13559:2;13554:3;13495:67;:::i;:::-;13488:74;;13571:93;13660:3;13571:93;:::i;:::-;13689:2;13684:3;13680:12;13673:19;;13332:366;;;:::o;13704:419::-;13870:4;13908:2;13897:9;13893:18;13885:26;;13957:9;13951:4;13947:20;13943:1;13932:9;13928:17;13921:47;13985:131;14111:4;13985:131;:::i;:::-;13977:139;;13704:419;;;:::o;14129:143::-;14186:5;14217:6;14211:13;14202:22;;14233:33;14260:5;14233:33;:::i;:::-;14129:143;;;;:::o;14278:351::-;14348:6;14397:2;14385:9;14376:7;14372:23;14368:32;14365:119;;;14403:79;;:::i;:::-;14365:119;14523:1;14548:64;14604:7;14595:6;14584:9;14580:22;14548:64;:::i;:::-;14538:74;;14494:128;14278:351;;;;:::o;14635:332::-;14756:4;14794:2;14783:9;14779:18;14771:26;;14807:71;14875:1;14864:9;14860:17;14851:6;14807:71;:::i;:::-;14888:72;14956:2;14945:9;14941:18;14932:6;14888:72;:::i;:::-;14635:332;;;;;:::o;14973:221::-;15113:34;15109:1;15101:6;15097:14;15090:58;15182:4;15177:2;15169:6;15165:15;15158:29;14973:221;:::o;15200:366::-;15342:3;15363:67;15427:2;15422:3;15363:67;:::i;:::-;15356:74;;15439:93;15528:3;15439:93;:::i;:::-;15557:2;15552:3;15548:12;15541:19;;15200:366;;;:::o;15572:419::-;15738:4;15776:2;15765:9;15761:18;15753:26;;15825:9;15819:4;15815:20;15811:1;15800:9;15796:17;15789:47;15853:131;15979:4;15853:131;:::i;:::-;15845:139;;15572:419;;;:::o;15997:225::-;16137:34;16133:1;16125:6;16121:14;16114:58;16206:8;16201:2;16193:6;16189:15;16182:33;15997:225;:::o;16228:366::-;16370:3;16391:67;16455:2;16450:3;16391:67;:::i;:::-;16384:74;;16467:93;16556:3;16467:93;:::i;:::-;16585:2;16580:3;16576:12;16569:19;;16228:366;;;:::o;16600:419::-;16766:4;16804:2;16793:9;16789:18;16781:26;;16853:9;16847:4;16843:20;16839:1;16828:9;16824:17;16817:47;16881:131;17007:4;16881:131;:::i;:::-;16873:139;;16600:419;;;:::o;17025:85::-;17070:7;17099:5;17088:16;;17025:85;;;:::o;17116:60::-;17144:3;17165:5;17158:12;;17116:60;;;:::o;17182:158::-;17240:9;17273:61;17291:42;17300:32;17326:5;17300:32;:::i;:::-;17291:42;:::i;:::-;17273:61;:::i;:::-;17260:74;;17182:158;;;:::o;17346:147::-;17441:45;17480:5;17441:45;:::i;:::-;17436:3;17429:58;17346:147;;:::o;17499:114::-;17566:6;17600:5;17594:12;17584:22;;17499:114;;;:::o;17619:184::-;17718:11;17752:6;17747:3;17740:19;17792:4;17787:3;17783:14;17768:29;;17619:184;;;;:::o;17809:132::-;17876:4;17899:3;17891:11;;17929:4;17924:3;17920:14;17912:22;;17809:132;;;:::o;17947:108::-;18024:24;18042:5;18024:24;:::i;:::-;18019:3;18012:37;17947:108;;:::o;18061:179::-;18130:10;18151:46;18193:3;18185:6;18151:46;:::i;:::-;18229:4;18224:3;18220:14;18206:28;;18061:179;;;;:::o;18246:113::-;18316:4;18348;18343:3;18339:14;18331:22;;18246:113;;;:::o;18395:732::-;18514:3;18543:54;18591:5;18543:54;:::i;:::-;18613:86;18692:6;18687:3;18613:86;:::i;:::-;18606:93;;18723:56;18773:5;18723:56;:::i;:::-;18802:7;18833:1;18818:284;18843:6;18840:1;18837:13;18818:284;;;18919:6;18913:13;18946:63;19005:3;18990:13;18946:63;:::i;:::-;18939:70;;19032:60;19085:6;19032:60;:::i;:::-;19022:70;;18878:224;18865:1;18862;18858:9;18853:14;;18818:284;;;18822:14;19118:3;19111:10;;18519:608;;;18395:732;;;;:::o;19133:831::-;19396:4;19434:3;19423:9;19419:19;19411:27;;19448:71;19516:1;19505:9;19501:17;19492:6;19448:71;:::i;:::-;19529:80;19605:2;19594:9;19590:18;19581:6;19529:80;:::i;:::-;19656:9;19650:4;19646:20;19641:2;19630:9;19626:18;19619:48;19684:108;19787:4;19778:6;19684:108;:::i;:::-;19676:116;;19802:72;19870:2;19859:9;19855:18;19846:6;19802:72;:::i;:::-;19884:73;19952:3;19941:9;19937:19;19928:6;19884:73;:::i;:::-;19133:831;;;;;;;;:::o;19970:223::-;20110:34;20106:1;20098:6;20094:14;20087:58;20179:6;20174:2;20166:6;20162:15;20155:31;19970:223;:::o;20199:366::-;20341:3;20362:67;20426:2;20421:3;20362:67;:::i;:::-;20355:74;;20438:93;20527:3;20438:93;:::i;:::-;20556:2;20551:3;20547:12;20540:19;;20199:366;;;:::o;20571:419::-;20737:4;20775:2;20764:9;20760:18;20752:26;;20824:9;20818:4;20814:20;20810:1;20799:9;20795:17;20788:47;20852:131;20978:4;20852:131;:::i;:::-;20844:139;;20571:419;;;:::o;20996:221::-;21136:34;21132:1;21124:6;21120:14;21113:58;21205:4;21200:2;21192:6;21188:15;21181:29;20996:221;:::o;21223:366::-;21365:3;21386:67;21450:2;21445:3;21386:67;:::i;:::-;21379:74;;21462:93;21551:3;21462:93;:::i;:::-;21580:2;21575:3;21571:12;21564:19;;21223:366;;;:::o;21595:419::-;21761:4;21799:2;21788:9;21784:18;21776:26;;21848:9;21842:4;21838:20;21834:1;21823:9;21819:17;21812:47;21876:131;22002:4;21876:131;:::i;:::-;21868:139;;21595:419;;;:::o;22020:224::-;22160:34;22156:1;22148:6;22144:14;22137:58;22229:7;22224:2;22216:6;22212:15;22205:32;22020:224;:::o;22250:366::-;22392:3;22413:67;22477:2;22472:3;22413:67;:::i;:::-;22406:74;;22489:93;22578:3;22489:93;:::i;:::-;22607:2;22602:3;22598:12;22591:19;;22250:366;;;:::o;22622:419::-;22788:4;22826:2;22815:9;22811:18;22803:26;;22875:9;22869:4;22865:20;22861:1;22850:9;22846:17;22839:47;22903:131;23029:4;22903:131;:::i;:::-;22895:139;;22622:419;;;:::o;23047:222::-;23187:34;23183:1;23175:6;23171:14;23164:58;23256:5;23251:2;23243:6;23239:15;23232:30;23047:222;:::o;23275:366::-;23417:3;23438:67;23502:2;23497:3;23438:67;:::i;:::-;23431:74;;23514:93;23603:3;23514:93;:::i;:::-;23632:2;23627:3;23623:12;23616:19;;23275:366;;;:::o;23647:419::-;23813:4;23851:2;23840:9;23836:18;23828:26;;23900:9;23894:4;23890:20;23886:1;23875:9;23871:17;23864:47;23928:131;24054:4;23928:131;:::i;:::-;23920:139;;23647:419;;;:::o;24072:228::-;24212:34;24208:1;24200:6;24196:14;24189:58;24281:11;24276:2;24268:6;24264:15;24257:36;24072:228;:::o;24306:366::-;24448:3;24469:67;24533:2;24528:3;24469:67;:::i;:::-;24462:74;;24545:93;24634:3;24545:93;:::i;:::-;24663:2;24658:3;24654:12;24647:19;;24306:366;;;:::o;24678:419::-;24844:4;24882:2;24871:9;24867:18;24859:26;;24931:9;24925:4;24921:20;24917:1;24906:9;24902:17;24895:47;24959:131;25085:4;24959:131;:::i;:::-;24951:139;;24678:419;;;:::o;25103:304::-;25243:34;25239:1;25231:6;25227:14;25220:58;25312:34;25307:2;25299:6;25295:15;25288:59;25381:18;25376:2;25368:6;25364:15;25357:43;25103:304;:::o;25413:366::-;25555:3;25576:67;25640:2;25635:3;25576:67;:::i;:::-;25569:74;;25652:93;25741:3;25652:93;:::i;:::-;25770:2;25765:3;25761:12;25754:19;;25413:366;;;:::o;25785:419::-;25951:4;25989:2;25978:9;25974:18;25966:26;;26038:9;26032:4;26028:20;26024:1;26013:9;26009:17;26002:47;26066:131;26192:4;26066:131;:::i;:::-;26058:139;;25785:419;;;:::o;26210:182::-;26350:34;26346:1;26338:6;26334:14;26327:58;26210:182;:::o;26398:366::-;26540:3;26561:67;26625:2;26620:3;26561:67;:::i;:::-;26554:74;;26637:93;26726:3;26637:93;:::i;:::-;26755:2;26750:3;26746:12;26739:19;;26398:366;;;:::o;26770:419::-;26936:4;26974:2;26963:9;26959:18;26951:26;;27023:9;27017:4;27013:20;27009:1;26998:9;26994:17;26987:47;27051:131;27177:4;27051:131;:::i;:::-;27043:139;;26770:419;;;:::o;27195:191::-;27235:4;27255:20;27273:1;27255:20;:::i;:::-;27250:25;;27289:20;27307:1;27289:20;:::i;:::-;27284:25;;27328:1;27325;27322:8;27319:34;;;27333:18;;:::i;:::-;27319:34;27378:1;27375;27371:9;27363:17;;27195:191;;;;:::o;27392:229::-;27532:34;27528:1;27520:6;27516:14;27509:58;27601:12;27596:2;27588:6;27584:15;27577:37;27392:229;:::o;27627:366::-;27769:3;27790:67;27854:2;27849:3;27790:67;:::i;:::-;27783:74;;27866:93;27955:3;27866:93;:::i;:::-;27984:2;27979:3;27975:12;27968:19;;27627:366;;;:::o;27999:419::-;28165:4;28203:2;28192:9;28188:18;28180:26;;28252:9;28246:4;28242:20;28238:1;28227:9;28223:17;28216:47;28280:131;28406:4;28280:131;:::i;:::-;28272:139;;27999:419;;;:::o;28424:348::-;28464:7;28487:20;28505:1;28487:20;:::i;:::-;28482:25;;28521:20;28539:1;28521:20;:::i;:::-;28516:25;;28709:1;28641:66;28637:74;28634:1;28631:81;28626:1;28619:9;28612:17;28608:105;28605:131;;;28716:18;;:::i;:::-;28605:131;28764:1;28761;28757:9;28746:20;;28424:348;;;;:::o;28778:180::-;28826:77;28823:1;28816:88;28923:4;28920:1;28913:15;28947:4;28944:1;28937:15;28964:185;29004:1;29021:20;29039:1;29021:20;:::i;:::-;29016:25;;29055:20;29073:1;29055:20;:::i;:::-;29050:25;;29094:1;29084:35;;29099:18;;:::i;:::-;29084:35;29141:1;29138;29134:9;29129:14;;28964:185;;;;:::o;29155:220::-;29295:34;29291:1;29283:6;29279:14;29272:58;29364:3;29359:2;29351:6;29347:15;29340:28;29155:220;:::o;29381:366::-;29523:3;29544:67;29608:2;29603:3;29544:67;:::i;:::-;29537:74;;29620:93;29709:3;29620:93;:::i;:::-;29738:2;29733:3;29729:12;29722:19;;29381:366;;;:::o;29753:419::-;29919:4;29957:2;29946:9;29942:18;29934:26;;30006:9;30000:4;29996:20;29992:1;29981:9;29977:17;29970:47;30034:131;30160:4;30034:131;:::i;:::-;30026:139;;29753:419;;;:::o;30178:177::-;30318:29;30314:1;30306:6;30302:14;30295:53;30178:177;:::o;30361:366::-;30503:3;30524:67;30588:2;30583:3;30524:67;:::i;:::-;30517:74;;30600:93;30689:3;30600:93;:::i;:::-;30718:2;30713:3;30709:12;30702:19;;30361:366;;;:::o;30733:419::-;30899:4;30937:2;30926:9;30922:18;30914:26;;30986:9;30980:4;30976:20;30972:1;30961:9;30957:17;30950:47;31014:131;31140:4;31014:131;:::i;:::-;31006:139;;30733:419;;;:::o
Swarm Source
ipfs://c126553d629bb41fbefff4266a3589e3b6c068a3b37f57793cf7991f31d41fc9
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.