ERC-20
Staking
Overview
Max Total Supply
16,622.565780628 AQUA
Holders
166 (0.00%)
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0.000000003 AQUAValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
AquaToken
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-12-27 */ // File: @openzeppelin/contracts/GSN/Context.sol pragma solidity ^0.5.0; /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ contract Context { // Empty internal constructor, to prevent people from mistakenly deploying // an instance of this contract, which should be used via inheritance. constructor () internal { } // solhint-disable-previous-line no-empty-blocks function _msgSender() internal view returns (address payable) { return msg.sender; } function _msgData() internal view returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } // File: @openzeppelin/contracts/access/Roles.sol pragma solidity ^0.5.0; /** * @title Roles * @dev Library for managing addresses assigned to a Role. */ library Roles { struct Role { mapping (address => bool) bearer; } /** * @dev Give an account access to this role. */ function add(Role storage role, address account) internal { require(!has(role, account), "Roles: account already has role"); role.bearer[account] = true; } /** * @dev Remove an account's access to this role. */ function remove(Role storage role, address account) internal { require(has(role, account), "Roles: account does not have role"); role.bearer[account] = false; } /** * @dev Check if an account has this role. * @return bool */ function has(Role storage role, address account) internal view returns (bool) { require(account != address(0), "Roles: account is the zero address"); return role.bearer[account]; } } // File: @openzeppelin/contracts/access/roles/MinterRole.sol pragma solidity ^0.5.0; contract MinterRole is Context { using Roles for Roles.Role; event MinterAdded(address indexed account); event MinterRemoved(address indexed account); Roles.Role private _minters; constructor () internal { _addMinter(_msgSender()); } modifier onlyMinter() { require(isMinter(_msgSender()), "MinterRole: caller does not have the Minter role"); _; } function isMinter(address account) public view returns (bool) { return _minters.has(account); } function addMinter(address account) public onlyMinter { _addMinter(account); } function renounceMinter() public { _removeMinter(_msgSender()); } function _addMinter(address account) internal { _minters.add(account); emit MinterAdded(account); } function _removeMinter(address account) internal { _minters.remove(account); emit MinterRemoved(account); } } // File: @openzeppelin/contracts/access/roles/WhitelistAdminRole.sol pragma solidity ^0.5.0; /** * @title WhitelistAdminRole * @dev WhitelistAdmins are responsible for assigning and removing Whitelisted accounts. */ contract WhitelistAdminRole is Context { using Roles for Roles.Role; event WhitelistAdminAdded(address indexed account); event WhitelistAdminRemoved(address indexed account); Roles.Role private _whitelistAdmins; constructor () internal { _addWhitelistAdmin(_msgSender()); } modifier onlyWhitelistAdmin() { require(isWhitelistAdmin(_msgSender()), "WhitelistAdminRole: caller does not have the WhitelistAdmin role"); _; } function isWhitelistAdmin(address account) public view returns (bool) { return _whitelistAdmins.has(account); } function addWhitelistAdmin(address account) public onlyWhitelistAdmin { _addWhitelistAdmin(account); } function renounceWhitelistAdmin() public { _removeWhitelistAdmin(_msgSender()); } function _addWhitelistAdmin(address account) internal { _whitelistAdmins.add(account); emit WhitelistAdminAdded(account); } function _removeWhitelistAdmin(address account) internal { _whitelistAdmins.remove(account); emit WhitelistAdminRemoved(account); } } // File: @openzeppelin/contracts/math/SafeMath.sol pragma solidity ^0.5.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. * * _Available since v2.4.0._ */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. * * _Available since v2.4.0._ */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. * * _Available since v2.4.0._ */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } // File: contracts/AquaToken.sol pragma solidity ^0.5.17; contract AquaToken is MinterRole, WhitelistAdminRole { using SafeMath for uint256; mapping (address => uint256) private _wOwned; mapping (address => mapping (address => uint256)) private _allowances; uint256 private constant MAX = ~uint256(0); // denotes display total (aqua) uint256 private _aTotal = 0; // denotes actual total (waves) uint256 private _wTotal = 0; // display total fees uint256 private _aFeeTotal; address public fountainAddress; address public uniswapPairAddress; // tax divisor - 25 => 4% (100/25) uint256 public taxDivisor = 25; string private _name; string private _symbol; uint8 private _decimals; bool public tokenPaused; mapping (address => bool) public pauseWhitelist; //set claimable amounts for the token swap mapping (address => uint256) public claimingAmounts; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); event RewardLiquidityProviders(uint256 value); constructor (string memory name, string memory symbol, uint8 decimals) public { _name = name; _symbol = symbol; _decimals = decimals; pauseWhitelist[_msgSender()] = true; //mint max supply ~17418, rest will be burned after claim is over _mint(address(this), 17418000000000); // enable token pause to avoid frontrunning lp listing, once LP is listed, we destroy the usage of tokenPaused tokenPaused = true; } function name() public view returns (string memory) { return _name; } function symbol() public view returns (string memory) { return _symbol; } function decimals() public view returns (uint8) { return _decimals; } function setTokenPaused(bool paused) external onlyWhitelistAdmin { require(paused == false, "AquaToken::setTokenPaused: you can only unpause the token"); tokenPaused = paused; // burn the rest of the tokens this contract has _transferStandard(address(this), address(0), balanceOf(address(this))); } function setTaxDivisor(uint256 _taxDivisor) public onlyWhitelistAdmin { require(_taxDivisor == 0 || _taxDivisor >= 10, "AquaToken::setTaxDivisor: too small"); taxDivisor = _taxDivisor; } function setUniswapPair(address _uniswapPairAddress) public onlyWhitelistAdmin { uniswapPairAddress = _uniswapPairAddress; } function setFountainAddress(address _fountainAddress) public onlyWhitelistAdmin { fountainAddress = _fountainAddress; } function rewardLiquidityProviders() external { require(balanceOf(address(this)) > 0, "Transfer amount must be greater than zero"); require(balanceOf(address(_msgSender())) > 0, "You must be an account holder to call this function"); uint256 originalBalance = balanceOf(address(this)); uint256 uniswapPairAmount = originalBalance.mul(475).div(575); // ~83% uint256 fountainPairAmount = originalBalance.mul(72).div(575); // ~12% uint256 userRewardAmount = originalBalance.mul(28).div(575); // ~5% _transferStandard(address(this), uniswapPairAddress, uniswapPairAmount); IUniswapV2Pair(uniswapPairAddress).sync(); _transferStandard(address(this), fountainAddress, fountainPairAmount); IUniswapV2Pair(fountainAddress).sync(); _transferStandard(address(this), _msgSender(), userRewardAmount); emit RewardLiquidityProviders(originalBalance); } function totalSupply() public view returns (uint256) { // since we burn tokens, return supply - current burn balance return _aTotal.sub(balanceOf(address(0))); } // display only function totalFees() public view returns (uint256) { return _aFeeTotal; } function balanceOf(address account) public view returns (uint256) { require(_wOwned[account] <= _wTotal, "Amount must be less than total waves"); uint256 currentRate = _getRate(); return _wOwned[account].div(currentRate); } function transfer(address recipient, uint256 amount) public returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function _transfer(address from, address to, uint256 amount) internal { require(from != address(0), "ERC20: transfer from the zero address"); require(to != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "ERC20: Transfer amount must be greater than zero"); require(balanceOf(from) >= amount, "ERC20: transfer amount exceeds balance"); require(pauseWhitelist[from] == true || tokenPaused == false, "ERC20: Token is currently paused"); // disable tax for whitelisters (crowdsale and treasury) if (taxDivisor != 0 && pauseWhitelist[from] == false) { uint256 taxAmount = amount.div(taxDivisor); uint256 uniswapPairAmount = taxAmount.mul(500).div(1000); // 50% uint256 fountainAmount = taxAmount.mul(75).div(1000); // 7.5% uint256 burnedAmount = taxAmount.mul(250).div(1000); // 25% uint256 holdersAmount = taxAmount.mul(175).div(1000); // 17.5% require(fountainAmount.add(uniswapPairAmount).add(burnedAmount).add(holdersAmount) <= taxAmount, "ERC20Transfer::taxTransfer: Math is broken"); _transferStandard(from, address(this), uniswapPairAmount.add(fountainAmount)); _transferStandard(from, address(0), burnedAmount); _transferStandard(from, to, amount.sub(taxAmount)); _distributeFee(from, holdersAmount); } else { _transferStandard(from, to, amount); } } function _transferStandard(address sender, address recipient, uint256 amount) private { uint256 currentRate = _getRate(); uint256 rAmount = amount.mul(currentRate); _wOwned[sender] = _wOwned[sender].sub(rAmount); _wOwned[recipient] = _wOwned[recipient].add(rAmount); emit Transfer(sender, recipient, amount); } function _distributeFee(address sender, uint256 aFee) private { uint256 currentRate = _getRate(); uint256 wFee = aFee.mul(currentRate); _wOwned[sender] = _wOwned[sender].sub(wFee); _wTotal = _wTotal.sub(wFee); _aFeeTotal = _aFeeTotal.add(aFee); emit Transfer(sender, address(0), aFee); } function _getRate() private view returns(uint256) { return _wTotal.div(_aTotal); } function _mint(address account, uint256 amount) internal { require(account != address(0), "ERC20: mint to the zero address"); require(amount > 0, "ERC20: mint amount is zero"); _aTotal = _aTotal.add(amount); _wTotal = (MAX - (MAX % _aTotal)); // only have 1 minter, they will have the entire supply _wOwned[account] = _wTotal; pauseWhitelist[account] = true; emit Transfer(address(0), account, amount); } 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 setClaims(address[] calldata _recipients, uint256[] calldata _values) external onlyWhitelistAdmin { for (uint256 index = 0; index < _recipients.length; index++) { claimingAmounts[_recipients[index]] = _values[index]; } } function claimTokens() external { uint256 amount = claimingAmounts[_msgSender()]; require(amount > 0, "ERC20: beneficiary is not due any tokens"); claimingAmounts[_msgSender()] = 0; _transferStandard(address(this), _msgSender(), amount); } } interface IUniswapV2Pair { function sync() external; }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint8","name":"decimals","type":"uint8"}],"payable":false,"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":"account","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"MinterRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"RewardLiquidityProviders","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"WhitelistAdminAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"WhitelistAdminRemoved","type":"event"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addWhitelistAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"claimingAmounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"fountainAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isWhitelistAdmin","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"pauseWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceWhitelistAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"rewardLiquidityProviders","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_recipients","type":"address[]"},{"internalType":"uint256[]","name":"_values","type":"uint256[]"}],"name":"setClaims","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_fountainAddress","type":"address"}],"name":"setFountainAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_taxDivisor","type":"uint256"}],"name":"setTaxDivisor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"paused","type":"bool"}],"name":"setTokenPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_uniswapPairAddress","type":"address"}],"name":"setUniswapPair","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"taxDivisor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"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"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"uniswapPairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]
Contract Creation Code
60806040526000600455600060055560196009553480156200002057600080fd5b506040516200386038038062003860833981810160405260608110156200004657600080fd5b81019080805160405193929190846401000000008211156200006757600080fd5b838201915060208201858111156200007e57600080fd5b82518660018202830111640100000000821117156200009c57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000d2578082015181840152602081019050620000b5565b50505050905090810190601f168015620001005780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200012457600080fd5b838201915060208201858111156200013b57600080fd5b82518660018202830111640100000000821117156200015957600080fd5b8083526020830192505050908051906020019080838360005b838110156200018f57808201518184015260208101905062000172565b50505050905090810190601f168015620001bd5780820380516001836020036101000a031916815260200191505b5060405260200180519060200190929190505050620001f1620001e56200030160201b60201c565b6200030960201b60201c565b62000211620002056200030160201b60201c565b6200036a60201b60201c565b82600a90805190602001906200022992919062000876565b5081600b90805190602001906200024292919062000876565b5080600c60006101000a81548160ff021916908360ff1602179055506001600d6000620002746200030160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002dd30650fd771b3e400620003cb60201b60201c565b6001600c60016101000a81548160ff02191690831515021790555050505062000925565b600033905090565b620003248160006200062960201b62002ac61790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b620003858160016200062960201b62002ac61790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd2096129960405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200046f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b60008111620004e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f45524332303a206d696e7420616d6f756e74206973207a65726f00000000000081525060200191505060405180910390fd5b62000502816004546200070d60201b6200242d1790919060201c565b600481905550600454600019816200051657fe5b0660001903600581905550600554600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6200063b82826200079660201b60201c565b15620006af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000808284019050838110156200078c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200081f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806200383e6022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620008b957805160ff1916838001178555620008ea565b82800160010185558215620008ea579182015b82811115620008e9578251825591602001919060010190620008cc565b5b509050620008f99190620008fd565b5090565b6200092291905b808211156200091e57600081600090555060010162000904565b5090565b90565b612f0980620009356000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c8063697173491161010f578063a457c2d7116100a2578063bd3733fe11610071578063bd3733fe146109d2578063d5aed6bf14610a1c578063db647b7614610a60578063dd62ed3e14610a6a576101e5565b8063a457c2d71461084e578063a9059cbb146108b4578063aa271e1a1461091a578063bb5f747b14610976576101e5565b806386c75e74116100de57806386c75e741461075b57806395d89b411461077d578063983b2d56146108005780639865027514610844576101e5565b8063697173491461061957806370a08231146106755780637362d9c8146106cd5780637877d65414610711576101e5565b8063350a9628116101875780634c5a628c116101565780634c5a628c1461056b5780634e0eae831461057557806357880e3c146105a357806364ee161f146105c1576101e5565b8063350a9628146103e9578063395093511461042d5780633b650d291461049357806348c54b9d14610561576101e5565b806318160ddd116101c357806318160ddd146102f157806323b872dd1461030f5780632951945714610395578063313ce567146103c5576101e5565b806306fdde03146101ea578063095ea7b31461026d57806313114a9d146102d3575b600080fd5b6101f2610ae2565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610232578082015181840152602081019050610217565b50505050905090810190601f16801561025f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102b96004803603604081101561028357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b84565b604051808215151515815260200191505060405180910390f35b6102db610ba2565b6040518082815260200191505060405180910390f35b6102f9610bac565b6040518082815260200191505060405180910390f35b61037b6004803603606081101561032557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bd1565b604051808215151515815260200191505060405180910390f35b6103c3600480360360208110156103ab57600080fd5b81019080803515159060200190929190505050610caa565b005b6103cd610d9d565b604051808260ff1660ff16815260200191505060405180910390f35b61042b600480360360208110156103ff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610db4565b005b6104796004803603604081101561044357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e5d565b604051808215151515815260200191505060405180910390f35b61055f600480360360408110156104a957600080fd5b81019080803590602001906401000000008111156104c657600080fd5b8201836020820111156104d857600080fd5b803590602001918460208302840111640100000000831117156104fa57600080fd5b90919293919293908035906020019064010000000081111561051b57600080fd5b82018360208201111561052d57600080fd5b8035906020019184602083028401116401000000008311171561054f57600080fd5b9091929391929390505050610f10565b005b610569611018565b005b61057361111d565b005b6105a16004803603602081101561058b57600080fd5b810190808035906020019092919050505061112f565b005b6105ab611203565b6040518082815260200191505060405180910390f35b610603600480360360208110156105d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611209565b6040518082815260200191505060405180910390f35b61065b6004803603602081101561062f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611221565b604051808215151515815260200191505060405180910390f35b6106b76004803603602081101561068b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611241565b6040518082815260200191505060405180910390f35b61070f600480360360208110156106e357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611343565b005b6107196113b4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107636113da565b604051808215151515815260200191505060405180910390f35b6107856113ed565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107c55780820151818401526020810190506107aa565b50505050905090810190601f1680156107f25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6108426004803603602081101561081657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061148f565b005b61084c611500565b005b61089a6004803603604081101561086457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611512565b604051808215151515815260200191505060405180910390f35b610900600480360360408110156108ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115df565b604051808215151515815260200191505060405180910390f35b61095c6004803603602081101561093057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115fd565b604051808215151515815260200191505060405180910390f35b6109b86004803603602081101561098c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061161a565b604051808215151515815260200191505060405180910390f35b6109da611637565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610a5e60048036036020811015610a3257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061165d565b005b610a68611706565b005b610acc60048036036040811015610a8057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a0e565b6040518082815260200191505060405180910390f35b6060600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b7a5780601f10610b4f57610100808354040283529160200191610b7a565b820191906000526020600020905b815481529060010190602001808311610b5d57829003601f168201915b5050505050905090565b6000610b98610b91611a95565b8484611a9d565b6001905092915050565b6000600654905090565b6000610bcc610bbb6000611241565b600454611c9490919063ffffffff16565b905090565b6000610bde848484611cde565b610c9f84610bea611a95565b610c9a85604051806060016040528060288152602001612d3660289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c50611a95565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121b49092919063ffffffff16565b611a9d565b600190509392505050565b610cba610cb5611a95565b61161a565b610d0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612dff6040913960400191505060405180910390fd5b6000151581151514610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526039815260200180612c3b6039913960400191505060405180910390fd5b80600c60016101000a81548160ff021916908315150217905550610d9a306000610d9530611241565b612274565b50565b6000600c60009054906101000a900460ff16905090565b610dc4610dbf611a95565b61161a565b610e19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612dff6040913960400191505060405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610f06610e6a611a95565b84610f018560036000610e7b611a95565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242d90919063ffffffff16565b611a9d565b6001905092915050565b610f20610f1b611a95565b61161a565b610f75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612dff6040913960400191505060405180910390fd5b60008090505b8484905081101561101157828282818110610f9257fe5b90506020020135600e6000878785818110610fa957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080600101915050610f7b565b5050505050565b6000600e6000611026611a95565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081116110bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612e3f6028913960400191505060405180910390fd5b6000600e60006110ca611a95565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061111a30611114611a95565b83612274565b50565b61112d611128611a95565b6124b5565b565b61113f61113a611a95565b61161a565b611194576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612dff6040913960400191505060405180910390fd5b60008114806111a45750600a8110155b6111f9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612d916023913960400191505060405180910390fd5b8060098190555050565b60095481565b600e6020528060005260406000206000915090505481565b600d6020528060005260406000206000915054906101000a900460ff1681565b6000600554600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156112dd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612bc56024913960400191505060405180910390fd5b60006112e761250f565b905061133b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252d90919063ffffffff16565b915050919050565b61135361134e611a95565b61161a565b6113a8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612dff6040913960400191505060405180910390fd5b6113b181612577565b50565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60019054906101000a900460ff1681565b6060600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114855780601f1061145a57610100808354040283529160200191611485565b820191906000526020600020905b81548152906001019060200180831161146857829003601f168201915b5050505050905090565b61149f61149a611a95565b6115fd565b6114f4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612cc46030913960400191505060405180910390fd5b6114fd816125d1565b50565b61151061150b611a95565b61262b565b565b60006115d561151f611a95565b846115d085604051806060016040528060258152602001612eb06025913960036000611549611a95565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121b49092919063ffffffff16565b611a9d565b6001905092915050565b60006115f36115ec611a95565b8484611cde565b6001905092915050565b600061161382600061268590919063ffffffff16565b9050919050565b600061163082600161268590919063ffffffff16565b9050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61166d611668611a95565b61161a565b6116c2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612dff6040913960400191505060405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061171130611241565b11611767576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612dd66029913960400191505060405180910390fd5b6000611779611774611a95565b611241565b116117cf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180612d5e6033913960400191505060405180910390fd5b60006117da30611241565b9050600061180761023f6117f96101db8561276390919063ffffffff16565b61252d90919063ffffffff16565b9050600061183361023f61182560488661276390919063ffffffff16565b61252d90919063ffffffff16565b9050600061185f61023f611851601c8761276390919063ffffffff16565b61252d90919063ffffffff16565b905061188e30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685612274565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156118f857600080fd5b505af115801561190c573d6000803e3d6000fd5b5050505061193d30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612274565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156119a757600080fd5b505af11580156119bb573d6000803e3d6000fd5b505050506119d1306119cb611a95565b83612274565b7f8765d2bb982ed6ee74d2b03c76c9c129aa4a4e3e6b17bd7cf7830088e9d49054846040518082815260200191505060405180910390a150505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612e8c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612c196022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000611cd683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506121b4565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612e676025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612ba26023913960400191505060405180910390fd5b60008111611e43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612be96030913960400191505060405180910390fd5b80611e4d84611241565b1015611ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612c746026913960400191505060405180910390fd5b60011515600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480611f16575060001515600c60019054906101000a900460ff161515145b611f88576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f45524332303a20546f6b656e2069732063757272656e746c792070617573656481525060200191505060405180910390fd5b600060095414158015611feb575060001515600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b156121a35760006120076009548361252d90919063ffffffff16565b905060006120346103e86120266101f48561276390919063ffffffff16565b61252d90919063ffffffff16565b905060006120606103e8612052604b8661276390919063ffffffff16565b61252d90919063ffffffff16565b9050600061208c6103e861207e60fa8761276390919063ffffffff16565b61252d90919063ffffffff16565b905060006120b86103e86120aa60af8861276390919063ffffffff16565b61252d90919063ffffffff16565b9050846120f2826120e4856120d6898961242d90919063ffffffff16565b61242d90919063ffffffff16565b61242d90919063ffffffff16565b1115612149576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612c9a602a913960400191505060405180910390fd5b6121668830612161868861242d90919063ffffffff16565b612274565b61217288600084612274565b61218f888861218a888a611c9490919063ffffffff16565b612274565b61219988826127e9565b50505050506121af565b6121ae838383612274565b5b505050565b6000838311158290612261576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561222657808201518184015260208101905061220b565b50505050905090810190601f1680156122535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600061227e61250f565b90506000612295828461276390919063ffffffff16565b90506122e981600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9490919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061237e81600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242d90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35050505050565b6000808284019050838110156124ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6124c981600161294390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f0a8eb35e5ca14b3d6f28e4abf2f128dbab231a58b56e89beb5d636115001e16560405160405180910390a250565b600061252860045460055461252d90919063ffffffff16565b905090565b600061256f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a00565b905092915050565b61258b816001612ac690919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd2096129960405160405180910390a250565b6125e5816000612ac690919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61263f81600061294390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561270c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612db46022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083141561277657600090506127e3565b600082840290508284828161278757fe5b04146127de576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612d156021913960400191505060405180910390fd5b809150505b92915050565b60006127f361250f565b9050600061280a828461276390919063ffffffff16565b905061285e81600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128b681600554611c9490919063ffffffff16565b6005819055506128d18360065461242d90919063ffffffff16565b600681905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b61294d8282612685565b6129a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612cf46021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008083118290612aac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a71578082015181840152602081019050612a56565b50505050905090810190601f168015612a9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612ab857fe5b049050809150509392505050565b612ad08282612685565b15612b43576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c20776176657345524332303a205472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a20617070726f766520746f20746865207a65726f206164647265737341717561546f6b656e3a3a736574546f6b656e5061757365643a20796f752063616e206f6e6c7920756e70617573652074686520746f6b656e45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332305472616e736665723a3a7461785472616e736665723a204d6174682069732062726f6b656e4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365596f75206d75737420626520616e206163636f756e7420686f6c64657220746f2063616c6c20746869732066756e6374696f6e41717561546f6b656e3a3a73657454617844697669736f723a20746f6f20736d616c6c526f6c65733a206163636f756e7420697320746865207a65726f20616464726573735472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f57686974656c69737441646d696e526f6c653a2063616c6c657220646f6573206e6f742068617665207468652057686974656c69737441646d696e20726f6c6545524332303a2062656e6566696369617279206973206e6f742064756520616e7920746f6b656e7345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820f10c35d98d583cedb15ed2b3f447c953f46a02145f3eebcb6c4a001fa68fdf7a64736f6c63430005110032526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000a4171756120546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044151554100000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101e55760003560e01c8063697173491161010f578063a457c2d7116100a2578063bd3733fe11610071578063bd3733fe146109d2578063d5aed6bf14610a1c578063db647b7614610a60578063dd62ed3e14610a6a576101e5565b8063a457c2d71461084e578063a9059cbb146108b4578063aa271e1a1461091a578063bb5f747b14610976576101e5565b806386c75e74116100de57806386c75e741461075b57806395d89b411461077d578063983b2d56146108005780639865027514610844576101e5565b8063697173491461061957806370a08231146106755780637362d9c8146106cd5780637877d65414610711576101e5565b8063350a9628116101875780634c5a628c116101565780634c5a628c1461056b5780634e0eae831461057557806357880e3c146105a357806364ee161f146105c1576101e5565b8063350a9628146103e9578063395093511461042d5780633b650d291461049357806348c54b9d14610561576101e5565b806318160ddd116101c357806318160ddd146102f157806323b872dd1461030f5780632951945714610395578063313ce567146103c5576101e5565b806306fdde03146101ea578063095ea7b31461026d57806313114a9d146102d3575b600080fd5b6101f2610ae2565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610232578082015181840152602081019050610217565b50505050905090810190601f16801561025f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102b96004803603604081101561028357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b84565b604051808215151515815260200191505060405180910390f35b6102db610ba2565b6040518082815260200191505060405180910390f35b6102f9610bac565b6040518082815260200191505060405180910390f35b61037b6004803603606081101561032557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bd1565b604051808215151515815260200191505060405180910390f35b6103c3600480360360208110156103ab57600080fd5b81019080803515159060200190929190505050610caa565b005b6103cd610d9d565b604051808260ff1660ff16815260200191505060405180910390f35b61042b600480360360208110156103ff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610db4565b005b6104796004803603604081101561044357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e5d565b604051808215151515815260200191505060405180910390f35b61055f600480360360408110156104a957600080fd5b81019080803590602001906401000000008111156104c657600080fd5b8201836020820111156104d857600080fd5b803590602001918460208302840111640100000000831117156104fa57600080fd5b90919293919293908035906020019064010000000081111561051b57600080fd5b82018360208201111561052d57600080fd5b8035906020019184602083028401116401000000008311171561054f57600080fd5b9091929391929390505050610f10565b005b610569611018565b005b61057361111d565b005b6105a16004803603602081101561058b57600080fd5b810190808035906020019092919050505061112f565b005b6105ab611203565b6040518082815260200191505060405180910390f35b610603600480360360208110156105d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611209565b6040518082815260200191505060405180910390f35b61065b6004803603602081101561062f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611221565b604051808215151515815260200191505060405180910390f35b6106b76004803603602081101561068b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611241565b6040518082815260200191505060405180910390f35b61070f600480360360208110156106e357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611343565b005b6107196113b4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107636113da565b604051808215151515815260200191505060405180910390f35b6107856113ed565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107c55780820151818401526020810190506107aa565b50505050905090810190601f1680156107f25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6108426004803603602081101561081657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061148f565b005b61084c611500565b005b61089a6004803603604081101561086457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611512565b604051808215151515815260200191505060405180910390f35b610900600480360360408110156108ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115df565b604051808215151515815260200191505060405180910390f35b61095c6004803603602081101561093057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115fd565b604051808215151515815260200191505060405180910390f35b6109b86004803603602081101561098c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061161a565b604051808215151515815260200191505060405180910390f35b6109da611637565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610a5e60048036036020811015610a3257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061165d565b005b610a68611706565b005b610acc60048036036040811015610a8057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a0e565b6040518082815260200191505060405180910390f35b6060600a8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b7a5780601f10610b4f57610100808354040283529160200191610b7a565b820191906000526020600020905b815481529060010190602001808311610b5d57829003601f168201915b5050505050905090565b6000610b98610b91611a95565b8484611a9d565b6001905092915050565b6000600654905090565b6000610bcc610bbb6000611241565b600454611c9490919063ffffffff16565b905090565b6000610bde848484611cde565b610c9f84610bea611a95565b610c9a85604051806060016040528060288152602001612d3660289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c50611a95565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121b49092919063ffffffff16565b611a9d565b600190509392505050565b610cba610cb5611a95565b61161a565b610d0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612dff6040913960400191505060405180910390fd5b6000151581151514610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526039815260200180612c3b6039913960400191505060405180910390fd5b80600c60016101000a81548160ff021916908315150217905550610d9a306000610d9530611241565b612274565b50565b6000600c60009054906101000a900460ff16905090565b610dc4610dbf611a95565b61161a565b610e19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612dff6040913960400191505060405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610f06610e6a611a95565b84610f018560036000610e7b611a95565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242d90919063ffffffff16565b611a9d565b6001905092915050565b610f20610f1b611a95565b61161a565b610f75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612dff6040913960400191505060405180910390fd5b60008090505b8484905081101561101157828282818110610f9257fe5b90506020020135600e6000878785818110610fa957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080600101915050610f7b565b5050505050565b6000600e6000611026611a95565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600081116110bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612e3f6028913960400191505060405180910390fd5b6000600e60006110ca611a95565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061111a30611114611a95565b83612274565b50565b61112d611128611a95565b6124b5565b565b61113f61113a611a95565b61161a565b611194576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612dff6040913960400191505060405180910390fd5b60008114806111a45750600a8110155b6111f9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612d916023913960400191505060405180910390fd5b8060098190555050565b60095481565b600e6020528060005260406000206000915090505481565b600d6020528060005260406000206000915054906101000a900460ff1681565b6000600554600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156112dd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612bc56024913960400191505060405180910390fd5b60006112e761250f565b905061133b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252d90919063ffffffff16565b915050919050565b61135361134e611a95565b61161a565b6113a8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612dff6040913960400191505060405180910390fd5b6113b181612577565b50565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60019054906101000a900460ff1681565b6060600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114855780601f1061145a57610100808354040283529160200191611485565b820191906000526020600020905b81548152906001019060200180831161146857829003601f168201915b5050505050905090565b61149f61149a611a95565b6115fd565b6114f4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612cc46030913960400191505060405180910390fd5b6114fd816125d1565b50565b61151061150b611a95565b61262b565b565b60006115d561151f611a95565b846115d085604051806060016040528060258152602001612eb06025913960036000611549611a95565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121b49092919063ffffffff16565b611a9d565b6001905092915050565b60006115f36115ec611a95565b8484611cde565b6001905092915050565b600061161382600061268590919063ffffffff16565b9050919050565b600061163082600161268590919063ffffffff16565b9050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61166d611668611a95565b61161a565b6116c2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180612dff6040913960400191505060405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061171130611241565b11611767576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180612dd66029913960400191505060405180910390fd5b6000611779611774611a95565b611241565b116117cf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180612d5e6033913960400191505060405180910390fd5b60006117da30611241565b9050600061180761023f6117f96101db8561276390919063ffffffff16565b61252d90919063ffffffff16565b9050600061183361023f61182560488661276390919063ffffffff16565b61252d90919063ffffffff16565b9050600061185f61023f611851601c8761276390919063ffffffff16565b61252d90919063ffffffff16565b905061188e30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685612274565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156118f857600080fd5b505af115801561190c573d6000803e3d6000fd5b5050505061193d30600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612274565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156119a757600080fd5b505af11580156119bb573d6000803e3d6000fd5b505050506119d1306119cb611a95565b83612274565b7f8765d2bb982ed6ee74d2b03c76c9c129aa4a4e3e6b17bd7cf7830088e9d49054846040518082815260200191505060405180910390a150505050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612e8c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612c196022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000611cd683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506121b4565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612e676025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612ba26023913960400191505060405180910390fd5b60008111611e43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180612be96030913960400191505060405180910390fd5b80611e4d84611241565b1015611ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612c746026913960400191505060405180910390fd5b60011515600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480611f16575060001515600c60019054906101000a900460ff161515145b611f88576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f45524332303a20546f6b656e2069732063757272656e746c792070617573656481525060200191505060405180910390fd5b600060095414158015611feb575060001515600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b156121a35760006120076009548361252d90919063ffffffff16565b905060006120346103e86120266101f48561276390919063ffffffff16565b61252d90919063ffffffff16565b905060006120606103e8612052604b8661276390919063ffffffff16565b61252d90919063ffffffff16565b9050600061208c6103e861207e60fa8761276390919063ffffffff16565b61252d90919063ffffffff16565b905060006120b86103e86120aa60af8861276390919063ffffffff16565b61252d90919063ffffffff16565b9050846120f2826120e4856120d6898961242d90919063ffffffff16565b61242d90919063ffffffff16565b61242d90919063ffffffff16565b1115612149576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612c9a602a913960400191505060405180910390fd5b6121668830612161868861242d90919063ffffffff16565b612274565b61217288600084612274565b61218f888861218a888a611c9490919063ffffffff16565b612274565b61219988826127e9565b50505050506121af565b6121ae838383612274565b5b505050565b6000838311158290612261576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561222657808201518184015260208101905061220b565b50505050905090810190601f1680156122535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600061227e61250f565b90506000612295828461276390919063ffffffff16565b90506122e981600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9490919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061237e81600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461242d90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35050505050565b6000808284019050838110156124ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6124c981600161294390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f0a8eb35e5ca14b3d6f28e4abf2f128dbab231a58b56e89beb5d636115001e16560405160405180910390a250565b600061252860045460055461252d90919063ffffffff16565b905090565b600061256f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a00565b905092915050565b61258b816001612ac690919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f22380c05984257a1cb900161c713dd71d39e74820f1aea43bd3f1bdd2096129960405160405180910390a250565b6125e5816000612ac690919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61263f81600061294390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561270c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180612db46022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008083141561277657600090506127e3565b600082840290508284828161278757fe5b04146127de576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612d156021913960400191505060405180910390fd5b809150505b92915050565b60006127f361250f565b9050600061280a828461276390919063ffffffff16565b905061285e81600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c9490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128b681600554611c9490919063ffffffff16565b6005819055506128d18360065461242d90919063ffffffff16565b600681905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b61294d8282612685565b6129a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612cf46021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008083118290612aac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a71578082015181840152602081019050612a56565b50505050905090810190601f168015612a9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612ab857fe5b049050809150509392505050565b612ad08282612685565b15612b43576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c20776176657345524332303a205472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a20617070726f766520746f20746865207a65726f206164647265737341717561546f6b656e3a3a736574546f6b656e5061757365643a20796f752063616e206f6e6c7920756e70617573652074686520746f6b656e45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332305472616e736665723a3a7461785472616e736665723a204d6174682069732062726f6b656e4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365596f75206d75737420626520616e206163636f756e7420686f6c64657220746f2063616c6c20746869732066756e6374696f6e41717561546f6b656e3a3a73657454617844697669736f723a20746f6f20736d616c6c526f6c65733a206163636f756e7420697320746865207a65726f20616464726573735472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f57686974656c69737441646d696e526f6c653a2063616c6c657220646f6573206e6f742068617665207468652057686974656c69737441646d696e20726f6c6545524332303a2062656e6566696369617279206973206e6f742064756520616e7920746f6b656e7345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820f10c35d98d583cedb15ed2b3f447c953f46a02145f3eebcb6c4a001fa68fdf7a64736f6c63430005110032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000a4171756120546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044151554100000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : name (string): Aqua Token
Arg [1] : symbol (string): AQUA
Arg [2] : decimals (uint8): 9
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [4] : 4171756120546f6b656e00000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 4151554100000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
10355:9339:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10355:9339:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11989:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11989:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14967:152;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14967:152:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14300:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14087:184;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15127:304;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15127:304:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12266:339;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12266:339:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;12175:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12976:133;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12976:133:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;15439:210;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15439:210:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19136:265;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19136:265:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;19136:265:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;19136:265:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;19136:265:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;19136:265:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;19136:265:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;19136:265:0;;;;;;;;;;;;:::i;:::-;;19409:282;;;:::i;:::-;;4357:95;;;:::i;:::-;;12613:209;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12613:209:0;;;;;;;;;;;;;;;;;:::i;:::-;;10960:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11219:51;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11219:51:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11117:47;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11117:47:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14395:256;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14395:256:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4233:116;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4233:116:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10843:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11087:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12080:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;12080:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2911:92;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2911:92:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3011:79;;;:::i;:::-;;15657:261;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15657:261:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14659:158;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14659:158:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2794:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2794:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4100:125;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4100:125:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10880:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12830:138;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12830:138:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;13117:962;;;:::i;:::-;;14825:134;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14825:134:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11989:83;12026:13;12059:5;12052:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11989:83;:::o;14967:152::-;15033:4;15050:39;15059:12;:10;:12::i;:::-;15073:7;15082:6;15050:8;:39::i;:::-;15107:4;15100:11;;14967:152;;;;:::o;14300:87::-;14342:7;14369:10;;14362:17;;14300:87;:::o;14087:184::-;14131:7;14229:34;14241:21;14259:1;14241:9;:21::i;:::-;14229:7;;:11;;:34;;;;:::i;:::-;14222:41;;14087:184;:::o;15127:304::-;15216:4;15233:36;15243:6;15251:9;15262:6;15233:9;:36::i;:::-;15280:121;15289:6;15297:12;:10;:12::i;:::-;15311:89;15349:6;15311:89;;;;;;;;;;;;;;;;;:11;:19;15323:6;15311:19;;;;;;;;;;;;;;;:33;15331:12;:10;:12::i;:::-;15311:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;15280:8;:121::i;:::-;15419:4;15412:11;;15127:304;;;;;:::o;12266:339::-;3973:30;3990:12;:10;:12::i;:::-;3973:16;:30::i;:::-;3965:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12360:5;12350:15;;:6;:15;;;12342:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12452:6;12438:11;;:20;;;;;;;;;;;;;;;;;;12527:70;12553:4;12568:1;12572:24;12590:4;12572:9;:24::i;:::-;12527:17;:70::i;:::-;12266:339;:::o;12175:83::-;12216:5;12241:9;;;;;;;;;;;12234:16;;12175:83;:::o;12976:133::-;3973:30;3990:12;:10;:12::i;:::-;3973:16;:30::i;:::-;3965:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13085:16;13067:15;;:34;;;;;;;;;;;;;;;;;;12976:133;:::o;15439:210::-;15519:4;15536:83;15545:12;:10;:12::i;:::-;15559:7;15568:50;15607:10;15568:11;:25;15580:12;:10;:12::i;:::-;15568:25;;;;;;;;;;;;;;;:34;15594:7;15568:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;15536:8;:83::i;:::-;15637:4;15630:11;;15439:210;;;;:::o;19136:265::-;3973:30;3990:12;:10;:12::i;:::-;3973:16;:30::i;:::-;3965:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19259:13;19275:1;19259:17;;19254:140;19286:11;;:18;;19278:5;:26;19254:140;;;19368:7;;19376:5;19368:14;;;;;;;;;;;;;19330:15;:35;19346:11;;19358:5;19346:18;;;;;;;;;;;;;;;19330:35;;;;;;;;;;;;;;;:52;;;;19306:7;;;;;;;19254:140;;;;19136:265;;;;:::o;19409:282::-;19452:14;19469:15;:29;19485:12;:10;:12::i;:::-;19469:29;;;;;;;;;;;;;;;;19452:46;;19526:1;19517:6;:10;19509:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19617:1;19585:15;:29;19601:12;:10;:12::i;:::-;19585:29;;;;;;;;;;;;;;;:33;;;;19629:54;19655:4;19662:12;:10;:12::i;:::-;19676:6;19629:17;:54::i;:::-;19409:282;:::o;4357:95::-;4409:35;4431:12;:10;:12::i;:::-;4409:21;:35::i;:::-;4357:95::o;12613:209::-;3973:30;3990:12;:10;:12::i;:::-;3973:16;:30::i;:::-;3965:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12717:1;12702:11;:16;:37;;;;12737:2;12722:11;:17;;12702:37;12694:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12803:11;12790:10;:24;;;;12613:209;:::o;10960:30::-;;;;:::o;11219:51::-;;;;;;;;;;;;;;;;;:::o;11117:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;14395:256::-;14452:7;14500;;14480;:16;14488:7;14480:16;;;;;;;;;;;;;;;;:27;;14472:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14559:19;14582:10;:8;:10::i;:::-;14559:33;;14610;14631:11;14610:7;:16;14618:7;14610:16;;;;;;;;;;;;;;;;:20;;:33;;;;:::i;:::-;14603:40;;;14395:256;;;:::o;4233:116::-;3973:30;3990:12;:10;:12::i;:::-;3973:16;:30::i;:::-;3965:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4314:27;4333:7;4314:18;:27::i;:::-;4233:116;:::o;10843:30::-;;;;;;;;;;;;;:::o;11087:23::-;;;;;;;;;;;;;:::o;12080:87::-;12119:13;12152:7;12145:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12080:87;:::o;2911:92::-;2691:22;2700:12;:10;:12::i;:::-;2691:8;:22::i;:::-;2683:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2976:19;2987:7;2976:10;:19::i;:::-;2911:92;:::o;3011:79::-;3055:27;3069:12;:10;:12::i;:::-;3055:13;:27::i;:::-;3011:79::o;15657:261::-;15742:4;15759:129;15768:12;:10;:12::i;:::-;15782:7;15791:96;15830:15;15791:96;;;;;;;;;;;;;;;;;:11;:25;15803:12;:10;:12::i;:::-;15791:25;;;;;;;;;;;;;;;:34;15817:7;15791:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;15759:8;:129::i;:::-;15906:4;15899:11;;15657:261;;;;:::o;14659:158::-;14728:4;14745:42;14755:12;:10;:12::i;:::-;14769:9;14780:6;14745:9;:42::i;:::-;14805:4;14798:11;;14659:158;;;;:::o;2794:109::-;2850:4;2874:21;2887:7;2874:8;:12;;:21;;;;:::i;:::-;2867:28;;2794:109;;;:::o;4100:125::-;4164:4;4188:29;4209:7;4188:16;:20;;:29;;;;:::i;:::-;4181:36;;4100:125;;;:::o;10880:33::-;;;;;;;;;;;;;:::o;12830:138::-;3973:30;3990:12;:10;:12::i;:::-;3973:16;:30::i;:::-;3965:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12941:19;12920:18;;:40;;;;;;;;;;;;;;;;;;12830:138;:::o;13117:962::-;13208:1;13181:24;13199:4;13181:9;:24::i;:::-;:28;13173:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13309:1;13274:32;13292:12;:10;:12::i;:::-;13274:9;:32::i;:::-;:36;13266:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13379:23;13405:24;13423:4;13405:9;:24::i;:::-;13379:50;;13442:25;13470:33;13499:3;13470:24;13490:3;13470:15;:19;;:24;;;;:::i;:::-;:28;;:33;;;;:::i;:::-;13442:61;;13522:26;13551:32;13579:3;13551:23;13571:2;13551:15;:19;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;13522:61;;13602:24;13629:32;13657:3;13629:23;13649:2;13629:15;:19;;:23;;;;:::i;:::-;:27;;:32;;;;:::i;:::-;13602:59;;13681:71;13707:4;13714:18;;;;;;;;;;;13734:17;13681;:71::i;:::-;13778:18;;;;;;;;;;;13763:39;;;:41;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13763:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13763:41:0;;;;13817:69;13843:4;13850:15;;;;;;;;;;;13867:18;13817:17;:69::i;:::-;13912:15;;;;;;;;;;;13897:36;;;:38;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13897:38:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13897:38:0;;;;13948:64;13974:4;13981:12;:10;:12::i;:::-;13995:16;13948:17;:64::i;:::-;14030:41;14055:15;14030:41;;;;;;;;;;;;;;;;;;13117:962;;;;:::o;14825:134::-;14897:7;14924:11;:18;14936:5;14924:18;;;;;;;;;;;;;;;:27;14943:7;14924:27;;;;;;;;;;;;;;;;14917:34;;14825:134;;;;:::o;858:98::-;903:15;938:10;931:17;;858:98;:::o;18791:337::-;18901:1;18884:19;;:5;:19;;;;18876:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18982:1;18963:21;;:7;:21;;;;18955:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19066:6;19036:11;:18;19048:5;19036:18;;;;;;;;;;;;;;;:27;19055:7;19036:27;;;;;;;;;;;;;;;:36;;;;19104:7;19088:32;;19097:5;19088:32;;;19113:6;19088:32;;;;;;;;;;;;;;;;;;18791:337;;;:::o;6144:136::-;6202:7;6229:43;6233:1;6236;6229:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;6222:50;;6144:136;;;;:::o;15926:1524::-;16031:1;16015:18;;:4;:18;;;;16007:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16108:1;16094:16;;:2;:16;;;;16086:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16178:1;16169:6;:10;16161:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16270:6;16251:15;16261:4;16251:9;:15::i;:::-;:25;;16243:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16362:4;16338:28;;:14;:20;16353:4;16338:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;:52;;;;16385:5;16370:20;;:11;;;;;;;;;;;:20;;;16338:52;16330:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16524:1;16510:10;;:15;;:48;;;;;16553:5;16529:29;;:14;:20;16544:4;16529:20;;;;;;;;;;;;;;;;;;;;;;;;;:29;;;16510:48;16506:937;;;16575:17;16595:22;16606:10;;16595:6;:10;;:22;;;;:::i;:::-;16575:42;;16634:25;16662:28;16685:4;16662:18;16676:3;16662:9;:13;;:18;;;;:::i;:::-;:22;;:28;;;;:::i;:::-;16634:56;;16712:22;16737:27;16759:4;16737:17;16751:2;16737:9;:13;;:17;;;;:::i;:::-;:21;;:27;;;;:::i;:::-;16712:52;;16787:20;16810:28;16833:4;16810:18;16824:3;16810:9;:13;;:18;;;;:::i;:::-;:22;;:28;;;;:::i;:::-;16787:51;;16861:21;16885:28;16908:4;16885:18;16899:3;16885:9;:13;;:18;;;;:::i;:::-;:22;;:28;;;;:::i;:::-;16861:52;;17025:9;16947:74;17007:13;16947:55;16989:12;16947:37;16966:17;16947:14;:18;;:37;;;;:::i;:::-;:41;;:55;;;;:::i;:::-;:59;;:74;;;;:::i;:::-;:87;;16939:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17096:77;17114:4;17128;17135:37;17157:14;17135:17;:21;;:37;;;;:::i;:::-;17096:17;:77::i;:::-;17188:49;17206:4;17220:1;17224:12;17188:17;:49::i;:::-;17252:50;17270:4;17276:2;17280:21;17291:9;17280:6;:10;;:21;;;;:::i;:::-;17252:17;:50::i;:::-;17319:35;17334:4;17340:13;17319:14;:35::i;:::-;16506:937;;;;;;;;17396:35;17414:4;17420:2;17424:6;17396:17;:35::i;:::-;16506:937;15926:1524;;;:::o;6617:192::-;6703:7;6736:1;6731;:6;;6739:12;6723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6723:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6763:9;6779:1;6775;:5;6763:17;;6800:1;6793:8;;;6617:192;;;;;:::o;17458:365::-;17555:19;17578:10;:8;:10::i;:::-;17555:33;;17601:15;17619:23;17630:11;17619:6;:10;;:23;;;;:::i;:::-;17601:41;;17671:28;17691:7;17671;:15;17679:6;17671:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;17653:7;:15;17661:6;17653:15;;;;;;;;;;;;;;;:46;;;;17731:31;17754:7;17731;:18;17739:9;17731:18;;;;;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;17710:7;:18;17718:9;17710:18;;;;;;;;;;;;;;;:52;;;;17797:9;17780:35;;17789:6;17780:35;;;17808:6;17780:35;;;;;;;;;;;;;;;;;;17458:365;;;;;:::o;5688:181::-;5746:7;5766:9;5782:1;5778;:5;5766:17;;5807:1;5802;:6;;5794:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5860:1;5853:8;;;5688:181;;;;:::o;4614:154::-;4682:32;4706:7;4682:16;:23;;:32;;;;:::i;:::-;4752:7;4730:30;;;;;;;;;;;;4614:154;:::o;18192:96::-;18233:7;18260:20;18272:7;;18260;;:11;;:20;;;;:::i;:::-;18253:27;;18192:96;:::o;7999:132::-;8057:7;8084:39;8088:1;8091;8084:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;8077:46;;7999:132;;;;:::o;4460:146::-;4525:29;4546:7;4525:16;:20;;:29;;;;:::i;:::-;4590:7;4570:28;;;;;;;;;;;;4460:146;:::o;3098:122::-;3155:21;3168:7;3155:8;:12;;:21;;;;:::i;:::-;3204:7;3192:20;;;;;;;;;;;;3098:122;:::o;3228:130::-;3288:24;3304:7;3288:8;:15;;:24;;;;:::i;:::-;3342:7;3328:22;;;;;;;;;;;;3228:130;:::o;2059:203::-;2131:4;2175:1;2156:21;;:7;:21;;;;2148:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2234:4;:11;;:20;2246:7;2234:20;;;;;;;;;;;;;;;;;;;;;;;;;2227:27;;2059:203;;;;:::o;7060:471::-;7118:7;7368:1;7363;:6;7359:47;;;7393:1;7386:8;;;;7359:47;7418:9;7434:1;7430;:5;7418:17;;7463:1;7458;7454;:5;;;;;;:10;7446:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7522:1;7515:8;;;7060:471;;;;;:::o;17831:353::-;17904:19;17927:10;:8;:10::i;:::-;17904:33;;17950:12;17965:21;17974:11;17965:4;:8;;:21;;;;:::i;:::-;17950:36;;18015:25;18035:4;18015:7;:15;18023:6;18015:15;;;;;;;;;;;;;;;;:19;;:25;;;;:::i;:::-;17997:7;:15;18005:6;17997:15;;;;;;;;;;;;;;;:43;;;;18063:17;18075:4;18063:7;;:11;;:17;;;;:::i;:::-;18053:7;:27;;;;18104:20;18119:4;18104:10;;:14;;:20;;;;:::i;:::-;18091:10;:33;;;;18167:1;18142:34;;18151:6;18142:34;;;18171:4;18142:34;;;;;;;;;;;;;;;;;;17831:353;;;;:::o;1781:183::-;1861:18;1865:4;1871:7;1861:3;:18::i;:::-;1853:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1951:5;1928:4;:11;;:20;1940:7;1928:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;1781:183;;:::o;8661:345::-;8747:7;8846:1;8842;:5;8849:12;8834:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8834:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8873:9;8889:1;8885;:5;;;;;;8873:17;;8997:1;8990:8;;;8661:345;;;;;:::o;1523:178::-;1601:18;1605:4;1611:7;1601:3;:18::i;:::-;1600:19;1592:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1689:4;1666;:11;;:20;1678:7;1666:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;1523:178;;:::o
Swarm Source
bzzr://f10c35d98d583cedb15ed2b3f447c953f46a02145f3eebcb6c4a001fa68fdf7a
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.