ERC-20
Overview
Max Total Supply
100,000,000,000,000,000 BabyKekiusMaximus
Holders
5
Market
Price
-
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
0 BabyKekiusMaximusValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
BabyKekiusMaximus
Compiler Version
v0.8.26+commit.8a97fa7a
Contract Source Code (Solidity)
/** *Submitted for verification at SonicScan.org on 2024-12-31 */ /* 🎇🚨 New Gem Alert " BabyKekiusMaximus is the King "🚨🎇 🎇 we present a bullish name and unique☀️ BabyKekiusMaximus ☀️ $BabyKekiusMaximus token☀️ ☄️Rewards 2% $BabyKekiusMaximus 💥 ☄️huge burn 💥 ☄️Nanocap 💥 ☄️MicroLp 💥 🟢 Safe Green 🟢Liquidty will be locked 12 months 🟢Renounced 🟢 https://t.me/BabyKekiusMaximus */ // SPDX-License-Identifier: Unlicensed pragma solidity ^0.8.23; abstract contract ContextBep20 { function _msgSender() internal view virtual returns (address ) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } } interface Bep20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } } library Address { function isContract(address account) internal view returns (bool) { uint256 size; // solhint-disable-next-line no-inline-assembly assembly { size := extcodesize(account) } return size > 0; } function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); // solhint-disable-next-line avoid-low-level-calls, avoid-call-value (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) { return _functionCallWithValue(target, data, 0, errorMessage); } function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); return _functionCallWithValue(target, data, value, errorMessage); } function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) { require(isContract(target), "Address: call to non-contract"); // solhint-disable-next-line avoid-low-level-calls (bool success, bytes memory returndata) = target.call{ value: weiValue }(data); if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly // solhint-disable-next-line no-inline-assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } contract OwnableBep20 is ContextBep20 { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } /** * @dev Returns the address of the current owner. */ function owner() public view returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(_owner == _msgSender(), "OwnableBep20: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "OwnableBep20: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract BabyKekiusMaximus is ContextBep20, Bep20, OwnableBep20 { using SafeMath for uint256; using Address for address; mapping (address => uint256) private _rOwned; mapping (address => uint256) private _tOwned; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) private _isExcluded; address[] private _excluded; uint256 private constant MAX = ~uint256(0); uint256 private constant _allTotalSupply = 100000000000 * 10**6 * 10**9; uint256 private _rTotalSupply = (MAX - (MAX % _allTotalSupply)); uint256 private _tFeeTotal; string private _name = 'BabyKekiusMaximus'; string private _symbol = 'BabyKekiusMaximus'; uint8 private _decimals = 9; //Contract Update Information string public constant Contract_Version = "0.8.23"; string public constant Contract_Dev = "Team BabyKekiusMaximus SAFU DEV || NFA,DYOR"; string public constant Contract_Edition = "Contract For 1M"; string public constant BabyKekiusMaximusTGNEWS = "https://t.me/BabyKekiusMaximus"; address public constant deadWallet = 0x000000000000000000000000000000000000dEaD; address public constant MarketingAddress = 0xcef8b76b76e22D40903590793AcCce3002908dc4; string public constant BabyKekiusMaximusaudited = "BabyKekiusMaximus will be audited by: https://www.certik.com/"; string public constant BabyKekiusMaximusListed = "BabyKekiusMaximus will be Listed here https://coinmarketcap.com/currencies/BabyKekiusMaximus/"; constructor () { _rOwned[_msgSender()] = _rTotalSupply; emit Transfer(address(0), _msgSender(), _allTotalSupply); } 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 totalSupply() public pure override returns (uint256) { return _allTotalSupply; } function balanceOf(address account) public view override returns (uint256) { if (_isExcluded[account]) return _tOwned[account]; return tokenFromReflection(_rOwned[account]); } function transfer(address recipient, uint256 amount) public override returns (bool) { _transfer(_msgSender(), recipient, amount); return true; } function allowance(address owner, address spender) public view override returns (uint256) { return _allowances[owner][spender]; } function approve(address spender, uint256 amount) public override returns (bool) { _approve(_msgSender(), spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue)); return true; } function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) { _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero")); return true; } function isExcluded(address account) public view returns (bool) { return _isExcluded[account]; } function totalFees() public view returns (uint256) { return _tFeeTotal; } function reflect(uint256 tAmount) public { address sender = _msgSender(); require(!_isExcluded[sender], "Excluded addresses cannot call this function"); (uint256 rAmount,,,,) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rTotalSupply = _rTotalSupply.sub(rAmount); _tFeeTotal = _tFeeTotal.add(tAmount); } function reflectionFromToken(uint256 tAmount, bool deductTransferFee) public view returns(uint256) { require(tAmount <= _allTotalSupply, "Amount must be less than supply"); if (!deductTransferFee) { (uint256 rAmount,,,,) = _getValues(tAmount); return rAmount; } else { (,uint256 rTransferAmount,,,) = _getValues(tAmount); return rTransferAmount; } } function tokenFromReflection(uint256 rAmount) public view returns(uint256) { require(rAmount <= _rTotalSupply, "Amount must be less than total reflections"); uint256 currentRate = _getRate(); return rAmount.div(currentRate); } function excludeAccount(address account) external onlyOwner() { require(!_isExcluded[account], "Account is not excluded"); if(_rOwned[account] > 0) { _tOwned[account] = tokenFromReflection(_rOwned[account]); } _isExcluded[account] = true; _excluded.push(account); } function includeAccount(address account) external onlyOwner() { require(_isExcluded[account], "Account is not excluded"); for (uint256 i = 0; i < _excluded.length; i++) { if (_excluded[i] == account) { _excluded[i] = _excluded[_excluded.length - 1]; _tOwned[account] = 0; _isExcluded[account] = false; _excluded.pop(); break; } } } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); if (_isExcluded[sender] && !_isExcluded[recipient]) { _transferFromExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && _isExcluded[recipient]) { _transferToExcluded(sender, recipient, amount); } else if (!_isExcluded[sender] && !_isExcluded[recipient]) { _transferStandard(sender, recipient, amount); } else { _transferStandard(sender, recipient, amount); } } function _transferStandard(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferToExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferFromExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _transferBothExcluded(address sender, address recipient, uint256 tAmount) private { (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee) = _getValues(tAmount); _tOwned[sender] = _tOwned[sender].sub(tAmount); _rOwned[sender] = _rOwned[sender].sub(rAmount); _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount); _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); _reflectFee(rFee, tFee); emit Transfer(sender, recipient, tTransferAmount); } function _reflectFee(uint256 rFee, uint256 tFee) private { _rTotalSupply = _rTotalSupply.sub(rFee); _tFeeTotal = _tFeeTotal.add(tFee); } function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256) { (uint256 tTransferAmount, uint256 tFee) = _getTValues(tAmount); uint256 currentRate = _getRate(); (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, currentRate); return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee); } function _getTValues(uint256 tAmount) private pure returns (uint256, uint256) { uint256 tFee = tAmount.div(100).mul(2); uint256 tTransferAmount = tAmount.sub(tFee); return (tTransferAmount, tFee); } function _getRValues(uint256 tAmount, uint256 tFee, uint256 currentRate) private pure returns (uint256, uint256, uint256) { uint256 rAmount = tAmount.mul(currentRate); uint256 rFee = tFee.mul(currentRate); uint256 rTransferAmount = rAmount.sub(rFee); return (rAmount, rTransferAmount, rFee); } function _getRate() private view returns(uint256) { (uint256 rSupply, uint256 tSupply) = _getCurrentSupply(); return rSupply.div(tSupply); } function _getCurrentSupply() private view returns(uint256, uint256) { uint256 rSupply = _rTotalSupply; uint256 tSupply = _allTotalSupply; for (uint256 i = 0; i < _excluded.length; i++) { if (_rOwned[_excluded[i]] > rSupply || _tOwned[_excluded[i]] > tSupply) return (_rTotalSupply, _allTotalSupply); rSupply = rSupply.sub(_rOwned[_excluded[i]]); tSupply = tSupply.sub(_tOwned[_excluded[i]]); } if (rSupply < _rTotalSupply.div(_allTotalSupply)) return (_rTotalSupply, _allTotalSupply); return (rSupply, tSupply); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"BabyKekiusMaximusListed","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BabyKekiusMaximusTGNEWS","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"BabyKekiusMaximusaudited","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Contract_Dev","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Contract_Edition","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Contract_Version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MarketingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"}],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tAmount","type":"uint256"},{"internalType":"bool","name":"deductTransferFee","type":"bool"}],"name":"reflectionFromToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"rAmount","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405261001a6a52b7d2dcc80cd2e40000005f19610149565b610025905f19610168565b600655604080518082019091526011815270426162794b656b6975734d6178696d757360781b602082015260089061005d9082610225565b50604080518082019091526011815270426162794b656b6975734d6178696d757360781b60208201526009906100939082610225565b50600a805460ff191660091790553480156100ac575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600654335f8181526001602090815260408083209490945592516a52b7d2dcc80cd2e40000008152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36102df565b5f8261016357634e487b7160e01b5f52601260045260245ffd5b500690565b8181038181111561018757634e487b7160e01b5f52601160045260245ffd5b92915050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806101b557607f821691505b6020821081036101d357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561022057805f5260205f20601f840160051c810160208510156101fe5750805b601f840160051c820191505b8181101561021d575f815560010161020a565b50505b505050565b81516001600160401b0381111561023e5761023e61018d565b6102528161024c84546101a1565b846101d9565b6020601f821160018114610284575f831561026d5750848201515b5f19600385901b1c1916600184901b17845561021d565b5f84815260208120601f198516915b828110156102b35787850151825560209485019460019092019101610293565b50848210156102d057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b611a34806102ec5f395ff3fe608060405234801561000f575f80fd5b50600436106101c6575f3560e01c806370a08231116100fe578063a9059cbb1161009e578063f2cc0c181161006e578063f2cc0c1814610407578063f2fde38b1461041a578063f4cd48f31461042d578063f84354f114610469575f80fd5b8063a9059cbb14610363578063c0ab60ea14610376578063cba0e996146103a4578063dd62ed3e146103cf575f80fd5b80638da5cb5b116100d95780638da5cb5b14610313578063929e928a1461032357806395d89b4114610348578063a457c2d714610350575f80fd5b806370a08231146102ef578063715018a61461030257806385141a771461030a575f80fd5b806323b872dd11610169578063344cdedf11610144578063344cdedf1461028e5780633936e8b91461029657806339509351146102c95780634549b039146102dc575f80fd5b806323b872dd146102535780632d83811914610266578063313ce56714610279575f80fd5b806313114a9d116101a457806313114a9d1461022057806318160ddd1461023257806318412035146102435780631fdafcc51461024b575f80fd5b8063053ab182146101ca57806306fdde03146101df578063095ea7b3146101fd575b5f80fd5b6101dd6101d8366004611692565b61047c565b005b6101e7610565565b6040516101f491906116a9565b60405180910390f35b61021061020b3660046116f9565b6105f5565b60405190151581526020016101f4565b6007545b6040519081526020016101f4565b6a52b7d2dcc80cd2e4000000610224565b6101e761060b565b6101e7610627565b610210610261366004611721565b610643565b610224610274366004611692565b6106aa565b600a5460405160ff90911681526020016101f4565b6101e761072c565b6102b173cef8b76b76e22d40903590793accce3002908dc481565b6040516001600160a01b0390911681526020016101f4565b6102106102d73660046116f9565b610748565b6102246102ea36600461175b565b61077d565b6102246102fd36600461178d565b61080e565b6101dd61086a565b6102b161dead81565b5f546001600160a01b03166102b1565b6101e760405180604001604052806006815260200165302e382e323360d01b81525081565b6101e76108db565b61021061035e3660046116f9565b6108ea565b6102106103713660046116f9565b610937565b6101e76040518060400160405280600f81526020016e436f6e747261637420466f7220314d60881b81525081565b6102106103b236600461178d565b6001600160a01b03165f9081526004602052604090205460ff1690565b6102246103dd3660046117a6565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b6101dd61041536600461178d565b610943565b6101dd61042836600461178d565b610a8a565b6101e76040518060400160405280601e81526020017f68747470733a2f2f742e6d652f426162794b656b6975734d6178696d7573000081525081565b6101dd61047736600461178d565b610b76565b335f8181526004602052604090205460ff16156104f55760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b60648201526084015b60405180910390fd5b5f6104ff83610d14565b505050506001600160a01b0383165f908152600160205260409020549091506105289082610d59565b6001600160a01b0383165f9081526001602052604090205560065461054d9082610d59565b60065560075461055d9084610d9a565b600755505050565b606060088054610574906117d7565b80601f01602080910402602001604051908101604052809291908181526020018280546105a0906117d7565b80156105eb5780601f106105c2576101008083540402835291602001916105eb565b820191905f5260205f20905b8154815290600101906020018083116105ce57829003601f168201915b5050505050905090565b5f610601338484610df8565b5060015b92915050565b6040518060600160405280603d8152602001611972603d913981565b6040518060600160405280602b81526020016119d4602b913981565b5f61064f848484610f1b565b6106a0843361069b856040518060600160405280602881526020016118ed602891396001600160a01b038a165f9081526003602090815260408083203384529091529020549190611140565b610df8565b5060019392505050565b5f6006548211156107105760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016104ec565b5f610719611178565b90506107258382611199565b9392505050565b6040518060800160405280605d8152602001611915605d913981565b335f8181526003602090815260408083206001600160a01b0387168452909152812054909161060191859061069b9086610d9a565b5f6a52b7d2dcc80cd2e40000008311156107d95760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c790060448201526064016104ec565b816107f6575f6107e884610d14565b509294506106059350505050565b5f61080084610d14565b509194506106059350505050565b6001600160a01b0381165f9081526004602052604081205460ff161561084957506001600160a01b03165f9081526002602052604090205490565b6001600160a01b0382165f90815260016020526040902054610605906106aa565b5f546001600160a01b031633146108935760405162461bcd60e51b81526004016104ec9061180f565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b606060098054610574906117d7565b5f610601338461069b856040518060600160405280602581526020016119af60259139335f9081526003602090815260408083206001600160a01b038d1684529091529020549190611140565b5f610601338484610f1b565b5f546001600160a01b0316331461096c5760405162461bcd60e51b81526004016104ec9061180f565b6001600160a01b0381165f9081526004602052604090205460ff16156109ce5760405162461bcd60e51b81526020600482015260176024820152761058d8dbdd5b9d081a5cc81b9bdd08195e18db1d591959604a1b60448201526064016104ec565b6001600160a01b0381165f9081526001602052604090205415610a25576001600160a01b0381165f90815260016020526040902054610a0c906106aa565b6001600160a01b0382165f908152600260205260409020555b6001600160a01b03165f818152600460205260408120805460ff191660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319169091179055565b5f546001600160a01b03163314610ab35760405162461bcd60e51b81526004016104ec9061180f565b6001600160a01b038116610b1d5760405162461bcd60e51b815260206004820152602b60248201527f4f776e61626c6542657032303a206e6577206f776e657220697320746865207a60448201526a65726f206164647265737360a81b60648201526084016104ec565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610b9f5760405162461bcd60e51b81526004016104ec9061180f565b6001600160a01b0381165f9081526004602052604090205460ff16610c005760405162461bcd60e51b81526020600482015260176024820152761058d8dbdd5b9d081a5cc81b9bdd08195e18db1d591959604a1b60448201526064016104ec565b5f5b600554811015610d1057816001600160a01b031660058281548110610c2957610c29611854565b5f918252602090912001546001600160a01b031603610d085760058054610c529060019061187c565b81548110610c6257610c62611854565b5f91825260209091200154600580546001600160a01b039092169183908110610c8d57610c8d611854565b5f91825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600490925220805460ff191690556005805480610ce457610ce461188f565b5f8281526020902081015f1990810180546001600160a01b03191690550190555050565b600101610c02565b5050565b5f805f805f805f610d24886111da565b915091505f610d31611178565b90505f805f610d418c868661120b565b919e909d50909b509599509397509395505050505050565b5f61072583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611140565b5f80610da683856118a3565b9050838110156107255760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ec565b6001600160a01b038316610e5a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ec565b6001600160a01b038216610ebb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ec565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f7f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ec565b6001600160a01b038216610fe15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ec565b5f81116110425760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ec565b6001600160a01b0383165f9081526004602052604090205460ff16801561108157506001600160a01b0382165f9081526004602052604090205460ff16155b1561109657611091838383611244565b505050565b6001600160a01b0383165f9081526004602052604090205460ff161580156110d557506001600160a01b0382165f9081526004602052604090205460ff165b156110e557611091838383611356565b6001600160a01b0383165f9081526004602052604090205460ff1615801561112557506001600160a01b0382165f9081526004602052604090205460ff16155b15611135576110918383836113f6565b6110918383836113f6565b5f81848411156111635760405162461bcd60e51b81526004016104ec91906116a9565b505f61116f848661187c565b95945050505050565b5f805f611183611433565b90925090506111928282611199565b9250505090565b5f61072583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115c4565b5f80806111f360026111ed866064611199565b906115f0565b90505f6112008583610d59565b959194509092505050565b5f80808061121987866115f0565b90505f61122687876115f0565b90505f6112338383610d59565b929992985090965090945050505050565b5f805f805f61125286610d14565b6001600160a01b038d165f90815260026020526040902054949950929750909550935091506112819087610d59565b6001600160a01b0389165f908152600260209081526040808320939093556001905220546112af9086610d59565b6001600160a01b03808a165f9081526001602052604080822093909355908916815220546112dd9085610d9a565b6001600160a01b0388165f908152600160205260409020556112ff838261166e565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161134491815260200190565b60405180910390a35050505050505050565b5f805f805f61136486610d14565b6001600160a01b038d165f90815260016020526040902054949950929750909550935091506113939086610d59565b6001600160a01b03808a165f90815260016020908152604080832094909455918a168152600290915220546113c89083610d9a565b6001600160a01b0388165f908152600260209081526040808320939093556001905220546112dd9085610d9a565b5f805f805f61140486610d14565b6001600160a01b038d165f90815260016020526040902054949950929750909550935091506112af9086610d59565b6006545f9081906a52b7d2dcc80cd2e4000000825b600554811015611583578260015f6005848154811061146957611469611854565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205411806114d157508160025f600584815481106114ab576114ab611854565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054115b156114ef575050600654936a52b7d2dcc80cd2e40000009350915050565b61153360015f6005848154811061150857611508611854565b5f9182526020808320909101546001600160a01b031683528201929092526040019020548490610d59565b925061157960025f6005848154811061154e5761154e611854565b5f9182526020808320909101546001600160a01b031683528201929092526040019020548390610d59565b9150600101611448565b5060065461159c906a52b7d2dcc80cd2e4000000611199565b8210156115bb575050600654926a52b7d2dcc80cd2e400000092509050565b90939092509050565b5f81836115e45760405162461bcd60e51b81526004016104ec91906116a9565b505f61116f84866118b6565b5f825f036115ff57505f610605565b5f61160a83856118d5565b90508261161785836118b6565b146107255760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ec565b60065461167b9083610d59565b60065560075461168b9082610d9a565b6007555050565b5f602082840312156116a2575f80fd5b5035919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146116f4575f80fd5b919050565b5f806040838503121561170a575f80fd5b611713836116de565b946020939093013593505050565b5f805f60608486031215611733575f80fd5b61173c846116de565b925061174a602085016116de565b929592945050506040919091013590565b5f806040838503121561176c575f80fd5b8235915060208301358015158114611782575f80fd5b809150509250929050565b5f6020828403121561179d575f80fd5b610725826116de565b5f80604083850312156117b7575f80fd5b6117c0836116de565b91506117ce602084016116de565b90509250929050565b600181811c908216806117eb57607f821691505b60208210810361180957634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526025908201527f4f776e61626c6542657032303a2063616c6c6572206973206e6f74207468652060408201526437bbb732b960d91b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561060557610605611868565b634e487b7160e01b5f52603160045260245ffd5b8082018082111561060557610605611868565b5f826118d057634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176106055761060561186856fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365426162794b656b6975734d6178696d75732077696c6c206265204c697374656420686572652068747470733a2f2f636f696e6d61726b65746361702e636f6d2f63757272656e636965732f426162794b656b6975734d6178696d75732f426162794b656b6975734d6178696d75732077696c6c20626520617564697465642062793a2068747470733a2f2f7777772e63657274696b2e636f6d2f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f5465616d20426162794b656b6975734d6178696d7573205341465520444556207c7c204e46412c44594f52a2646970667358221220480c09af7df01e3e3c080ccf6a2a97f600a8db433a3701f1b63bf805cb6d2c8a64736f6c634300081a0033
Deployed Bytecode
0x608060405234801561000f575f80fd5b50600436106101c6575f3560e01c806370a08231116100fe578063a9059cbb1161009e578063f2cc0c181161006e578063f2cc0c1814610407578063f2fde38b1461041a578063f4cd48f31461042d578063f84354f114610469575f80fd5b8063a9059cbb14610363578063c0ab60ea14610376578063cba0e996146103a4578063dd62ed3e146103cf575f80fd5b80638da5cb5b116100d95780638da5cb5b14610313578063929e928a1461032357806395d89b4114610348578063a457c2d714610350575f80fd5b806370a08231146102ef578063715018a61461030257806385141a771461030a575f80fd5b806323b872dd11610169578063344cdedf11610144578063344cdedf1461028e5780633936e8b91461029657806339509351146102c95780634549b039146102dc575f80fd5b806323b872dd146102535780632d83811914610266578063313ce56714610279575f80fd5b806313114a9d116101a457806313114a9d1461022057806318160ddd1461023257806318412035146102435780631fdafcc51461024b575f80fd5b8063053ab182146101ca57806306fdde03146101df578063095ea7b3146101fd575b5f80fd5b6101dd6101d8366004611692565b61047c565b005b6101e7610565565b6040516101f491906116a9565b60405180910390f35b61021061020b3660046116f9565b6105f5565b60405190151581526020016101f4565b6007545b6040519081526020016101f4565b6a52b7d2dcc80cd2e4000000610224565b6101e761060b565b6101e7610627565b610210610261366004611721565b610643565b610224610274366004611692565b6106aa565b600a5460405160ff90911681526020016101f4565b6101e761072c565b6102b173cef8b76b76e22d40903590793accce3002908dc481565b6040516001600160a01b0390911681526020016101f4565b6102106102d73660046116f9565b610748565b6102246102ea36600461175b565b61077d565b6102246102fd36600461178d565b61080e565b6101dd61086a565b6102b161dead81565b5f546001600160a01b03166102b1565b6101e760405180604001604052806006815260200165302e382e323360d01b81525081565b6101e76108db565b61021061035e3660046116f9565b6108ea565b6102106103713660046116f9565b610937565b6101e76040518060400160405280600f81526020016e436f6e747261637420466f7220314d60881b81525081565b6102106103b236600461178d565b6001600160a01b03165f9081526004602052604090205460ff1690565b6102246103dd3660046117a6565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b6101dd61041536600461178d565b610943565b6101dd61042836600461178d565b610a8a565b6101e76040518060400160405280601e81526020017f68747470733a2f2f742e6d652f426162794b656b6975734d6178696d7573000081525081565b6101dd61047736600461178d565b610b76565b335f8181526004602052604090205460ff16156104f55760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b60648201526084015b60405180910390fd5b5f6104ff83610d14565b505050506001600160a01b0383165f908152600160205260409020549091506105289082610d59565b6001600160a01b0383165f9081526001602052604090205560065461054d9082610d59565b60065560075461055d9084610d9a565b600755505050565b606060088054610574906117d7565b80601f01602080910402602001604051908101604052809291908181526020018280546105a0906117d7565b80156105eb5780601f106105c2576101008083540402835291602001916105eb565b820191905f5260205f20905b8154815290600101906020018083116105ce57829003601f168201915b5050505050905090565b5f610601338484610df8565b5060015b92915050565b6040518060600160405280603d8152602001611972603d913981565b6040518060600160405280602b81526020016119d4602b913981565b5f61064f848484610f1b565b6106a0843361069b856040518060600160405280602881526020016118ed602891396001600160a01b038a165f9081526003602090815260408083203384529091529020549190611140565b610df8565b5060019392505050565b5f6006548211156107105760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016104ec565b5f610719611178565b90506107258382611199565b9392505050565b6040518060800160405280605d8152602001611915605d913981565b335f8181526003602090815260408083206001600160a01b0387168452909152812054909161060191859061069b9086610d9a565b5f6a52b7d2dcc80cd2e40000008311156107d95760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c790060448201526064016104ec565b816107f6575f6107e884610d14565b509294506106059350505050565b5f61080084610d14565b509194506106059350505050565b6001600160a01b0381165f9081526004602052604081205460ff161561084957506001600160a01b03165f9081526002602052604090205490565b6001600160a01b0382165f90815260016020526040902054610605906106aa565b5f546001600160a01b031633146108935760405162461bcd60e51b81526004016104ec9061180f565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b606060098054610574906117d7565b5f610601338461069b856040518060600160405280602581526020016119af60259139335f9081526003602090815260408083206001600160a01b038d1684529091529020549190611140565b5f610601338484610f1b565b5f546001600160a01b0316331461096c5760405162461bcd60e51b81526004016104ec9061180f565b6001600160a01b0381165f9081526004602052604090205460ff16156109ce5760405162461bcd60e51b81526020600482015260176024820152761058d8dbdd5b9d081a5cc81b9bdd08195e18db1d591959604a1b60448201526064016104ec565b6001600160a01b0381165f9081526001602052604090205415610a25576001600160a01b0381165f90815260016020526040902054610a0c906106aa565b6001600160a01b0382165f908152600260205260409020555b6001600160a01b03165f818152600460205260408120805460ff191660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319169091179055565b5f546001600160a01b03163314610ab35760405162461bcd60e51b81526004016104ec9061180f565b6001600160a01b038116610b1d5760405162461bcd60e51b815260206004820152602b60248201527f4f776e61626c6542657032303a206e6577206f776e657220697320746865207a60448201526a65726f206164647265737360a81b60648201526084016104ec565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610b9f5760405162461bcd60e51b81526004016104ec9061180f565b6001600160a01b0381165f9081526004602052604090205460ff16610c005760405162461bcd60e51b81526020600482015260176024820152761058d8dbdd5b9d081a5cc81b9bdd08195e18db1d591959604a1b60448201526064016104ec565b5f5b600554811015610d1057816001600160a01b031660058281548110610c2957610c29611854565b5f918252602090912001546001600160a01b031603610d085760058054610c529060019061187c565b81548110610c6257610c62611854565b5f91825260209091200154600580546001600160a01b039092169183908110610c8d57610c8d611854565b5f91825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600490925220805460ff191690556005805480610ce457610ce461188f565b5f8281526020902081015f1990810180546001600160a01b03191690550190555050565b600101610c02565b5050565b5f805f805f805f610d24886111da565b915091505f610d31611178565b90505f805f610d418c868661120b565b919e909d50909b509599509397509395505050505050565b5f61072583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611140565b5f80610da683856118a3565b9050838110156107255760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ec565b6001600160a01b038316610e5a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ec565b6001600160a01b038216610ebb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ec565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f7f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ec565b6001600160a01b038216610fe15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ec565b5f81116110425760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ec565b6001600160a01b0383165f9081526004602052604090205460ff16801561108157506001600160a01b0382165f9081526004602052604090205460ff16155b1561109657611091838383611244565b505050565b6001600160a01b0383165f9081526004602052604090205460ff161580156110d557506001600160a01b0382165f9081526004602052604090205460ff165b156110e557611091838383611356565b6001600160a01b0383165f9081526004602052604090205460ff1615801561112557506001600160a01b0382165f9081526004602052604090205460ff16155b15611135576110918383836113f6565b6110918383836113f6565b5f81848411156111635760405162461bcd60e51b81526004016104ec91906116a9565b505f61116f848661187c565b95945050505050565b5f805f611183611433565b90925090506111928282611199565b9250505090565b5f61072583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115c4565b5f80806111f360026111ed866064611199565b906115f0565b90505f6112008583610d59565b959194509092505050565b5f80808061121987866115f0565b90505f61122687876115f0565b90505f6112338383610d59565b929992985090965090945050505050565b5f805f805f61125286610d14565b6001600160a01b038d165f90815260026020526040902054949950929750909550935091506112819087610d59565b6001600160a01b0389165f908152600260209081526040808320939093556001905220546112af9086610d59565b6001600160a01b03808a165f9081526001602052604080822093909355908916815220546112dd9085610d9a565b6001600160a01b0388165f908152600160205260409020556112ff838261166e565b866001600160a01b0316886001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161134491815260200190565b60405180910390a35050505050505050565b5f805f805f61136486610d14565b6001600160a01b038d165f90815260016020526040902054949950929750909550935091506113939086610d59565b6001600160a01b03808a165f90815260016020908152604080832094909455918a168152600290915220546113c89083610d9a565b6001600160a01b0388165f908152600260209081526040808320939093556001905220546112dd9085610d9a565b5f805f805f61140486610d14565b6001600160a01b038d165f90815260016020526040902054949950929750909550935091506112af9086610d59565b6006545f9081906a52b7d2dcc80cd2e4000000825b600554811015611583578260015f6005848154811061146957611469611854565b5f9182526020808320909101546001600160a01b0316835282019290925260400190205411806114d157508160025f600584815481106114ab576114ab611854565b5f9182526020808320909101546001600160a01b03168352820192909252604001902054115b156114ef575050600654936a52b7d2dcc80cd2e40000009350915050565b61153360015f6005848154811061150857611508611854565b5f9182526020808320909101546001600160a01b031683528201929092526040019020548490610d59565b925061157960025f6005848154811061154e5761154e611854565b5f9182526020808320909101546001600160a01b031683528201929092526040019020548390610d59565b9150600101611448565b5060065461159c906a52b7d2dcc80cd2e4000000611199565b8210156115bb575050600654926a52b7d2dcc80cd2e400000092509050565b90939092509050565b5f81836115e45760405162461bcd60e51b81526004016104ec91906116a9565b505f61116f84866118b6565b5f825f036115ff57505f610605565b5f61160a83856118d5565b90508261161785836118b6565b146107255760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ec565b60065461167b9083610d59565b60065560075461168b9082610d9a565b6007555050565b5f602082840312156116a2575f80fd5b5035919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146116f4575f80fd5b919050565b5f806040838503121561170a575f80fd5b611713836116de565b946020939093013593505050565b5f805f60608486031215611733575f80fd5b61173c846116de565b925061174a602085016116de565b929592945050506040919091013590565b5f806040838503121561176c575f80fd5b8235915060208301358015158114611782575f80fd5b809150509250929050565b5f6020828403121561179d575f80fd5b610725826116de565b5f80604083850312156117b7575f80fd5b6117c0836116de565b91506117ce602084016116de565b90509250929050565b600181811c908216806117eb57607f821691505b60208210810361180957634e487b7160e01b5f52602260045260245ffd5b50919050565b60208082526025908201527f4f776e61626c6542657032303a2063616c6c6572206973206e6f74207468652060408201526437bbb732b960d91b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561060557610605611868565b634e487b7160e01b5f52603160045260245ffd5b8082018082111561060557610605611868565b5f826118d057634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176106055761060561186856fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365426162794b656b6975734d6178696d75732077696c6c206265204c697374656420686572652068747470733a2f2f636f696e6d61726b65746361702e636f6d2f63757272656e636965732f426162794b656b6975734d6178696d75732f426162794b656b6975734d6178696d75732077696c6c20626520617564697465642062793a2068747470733a2f2f7777772e63657274696b2e636f6d2f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f5465616d20426162794b656b6975734d6178696d7573205341465520444556207c7c204e46412c44594f52a2646970667358221220480c09af7df01e3e3c080ccf6a2a97f600a8db433a3701f1b63bf805cb6d2c8a64736f6c634300081a0033
Deployed Bytecode Sourcemap
9016:10984:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12853:388;;;;;;:::i;:::-;;:::i;:::-;;10727:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11647:161;;;;;;:::i;:::-;;:::i;:::-;;;1316:14:1;;1309:22;1291:41;;1279:2;1264:18;11647:161:0;1151:187:1;12758:87:0;12827:10;;12758:87;;;1489:25:1;;;1477:2;1462:18;12758:87:0;1343:177:1;11004:103:0;9517:28;11004:103;;10308:113;;;:::i;9886:83::-;;;:::i;11816:313::-;;;;;;:::i;:::-;;:::i;13699:259::-;;;;;;:::i;:::-;;:::i;10913:83::-;10979:9;;10913:83;;10979:9;;;;2046:36:1;;2034:2;2019:18;10913:83:0;1904:184:1;10428:144:0;;;:::i;10216:85::-;;10259:42;10216:85;;;;;-1:-1:-1;;;;;2257:32:1;;;2239:51;;2227:2;2212:18;10216:85:0;2093:203:1;12137:218:0;;;;;;:::i;:::-;;:::i;13249:442::-;;;;;;:::i;:::-;;:::i;11115:198::-;;;;;;:::i;:::-;;:::i;8457:148::-;;;:::i;10130:79::-;;10167:42;10130:79;;8150;8188:7;8215:6;-1:-1:-1;;;;;8215:6:0;8150:79;;9829:50;;;;;;;;;;;;;;;-1:-1:-1;;;9829:50:0;;;;;10818:87;;;:::i;12363:269::-;;;;;;:::i;:::-;;:::i;11321:167::-;;;;;;:::i;:::-;;:::i;9976:59::-;;;;;;;;;;;;;;;-1:-1:-1;;;9976:59:0;;;;;12640:110;;;;;;:::i;:::-;-1:-1:-1;;;;;12722:20:0;12698:4;12722:20;;;:11;:20;;;;;;;;;12640:110;11496:143;;;;;;:::i;:::-;-1:-1:-1;;;;;11604:18:0;;;11577:7;11604:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11496:143;13966:328;;;;;;:::i;:::-;;:::i;8760:249::-;;;;;;:::i;:::-;;:::i;10042:81::-;;;;;;;;;;;;;;;;;;;;;14302:474;;;;;;:::i;:::-;;:::i;12853:388::-;596:10;12905:14;12954:19;;;:11;:19;;;;;;;;12953:20;12945:77;;;;-1:-1:-1;;;12945:77:0;;3359:2:1;12945:77:0;;;3341:21:1;3398:2;3378:18;;;3371:30;3437:34;3417:18;;;3410:62;-1:-1:-1;;;3488:18:1;;;3481:42;3540:19;;12945:77:0;;;;;;;;;13034:15;13057:19;13068:7;13057:10;:19::i;:::-;-1:-1:-1;;;;;;;;;13105:15:0;;;;;;:7;:15;;;;;;13033:43;;-1:-1:-1;13105:28:0;;13033:43;13105:19;:28::i;:::-;-1:-1:-1;;;;;13087:15:0;;;;;;:7;:15;;;;;:46;13160:13;;:26;;13178:7;13160:17;:26::i;:::-;13144:13;:42;13210:10;;:23;;13225:7;13210:14;:23::i;:::-;13197:10;:36;-1:-1:-1;;;12853:388:0:o;10727:83::-;10764:13;10797:5;10790:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10727:83;:::o;11647:161::-;11722:4;11739:39;596:10;11762:7;11771:6;11739:8;:39::i;:::-;-1:-1:-1;11796:4:0;11647:161;;;;;:::o;10308:113::-;;;;;;;;;;;;;;;;;;;:::o;9886:83::-;;;;;;;;;;;;;;;;;;;:::o;11816:313::-;11914:4;11931:36;11941:6;11949:9;11960:6;11931:9;:36::i;:::-;11978:121;11987:6;596:10;12009:89;12047:6;12009:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12009:19:0;;;;;;:11;:19;;;;;;;;596:10;12009:33;;;;;;;;;;:37;:89::i;:::-;11978:8;:121::i;:::-;-1:-1:-1;12117:4:0;11816:313;;;;;:::o;13699:259::-;13765:7;13804:13;;13793:7;:24;;13785:79;;;;-1:-1:-1;;;13785:79:0;;4157:2:1;13785:79:0;;;4139:21:1;4196:2;4176:18;;;4169:30;4235:34;4215:18;;;4208:62;-1:-1:-1;;;4286:18:1;;;4279:40;4336:19;;13785:79:0;3955:406:1;13785:79:0;13875:19;13898:10;:8;:10::i;:::-;13875:33;-1:-1:-1;13926:24:0;:7;13875:33;13926:11;:24::i;:::-;13919:31;13699:259;-1:-1:-1;;;13699:259:0:o;10428:144::-;;;;;;;;;;;;;;;;;;;:::o;12137:218::-;596:10;12225:4;12274:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12274:34:0;;;;;;;;;;12225:4;;12242:83;;12265:7;;12274:50;;12313:10;12274:38;:50::i;13249:442::-;13339:7;9517:28;13367:7;:26;;13359:70;;;;-1:-1:-1;;;13359:70:0;;4568:2:1;13359:70:0;;;4550:21:1;4607:2;4587:18;;;4580:30;4646:33;4626:18;;;4619:61;4697:18;;13359:70:0;4366:355:1;13359:70:0;13445:17;13440:244;;13480:15;13503:19;13514:7;13503:10;:19::i;:::-;-1:-1:-1;13479:43:0;;-1:-1:-1;13537:14:0;;-1:-1:-1;;;;13537:14:0;13440:244;13586:23;13616:19;13627:7;13616:10;:19::i;:::-;-1:-1:-1;13584:51:0;;-1:-1:-1;13650:22:0;;-1:-1:-1;;;;13650:22:0;11115:198;-1:-1:-1;;;;;11205:20:0;;11181:7;11205:20;;;:11;:20;;;;;;;;11201:49;;;-1:-1:-1;;;;;;11234:16:0;;;;;:7;:16;;;;;;;11115:198::o;11201:49::-;-1:-1:-1;;;;;11288:16:0;;;;;;:7;:16;;;;;;11268:37;;:19;:37::i;8457:148::-;8362:6;;-1:-1:-1;;;;;8362:6:0;596:10;8362:22;8354:72;;;;-1:-1:-1;;;8354:72:0;;;;;;;:::i;:::-;8564:1:::1;8548:6:::0;;8527:40:::1;::::0;-1:-1:-1;;;;;8548:6:0;;::::1;::::0;8527:40:::1;::::0;8564:1;;8527:40:::1;8595:1;8578:19:::0;;-1:-1:-1;;;;;;8578:19:0::1;::::0;;8457:148::o;10818:87::-;10857:13;10890:7;10883:14;;;;;:::i;12363:269::-;12456:4;12473:129;596:10;12496:7;12505:96;12544:15;12505:96;;;;;;;;;;;;;;;;;596:10;12505:25;;;;:11;:25;;;;;;;;-1:-1:-1;;;;;12505:34:0;;;;;;;;;;;;:38;:96::i;11321:167::-;11399:4;11416:42;596:10;11440:9;11451:6;11416:9;:42::i;13966:328::-;8362:6;;-1:-1:-1;;;;;8362:6:0;596:10;8362:22;8354:72;;;;-1:-1:-1;;;8354:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14048:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;14047:21;14039:57;;;::::0;-1:-1:-1;;;14039:57:0;;5334:2:1;14039:57:0::1;::::0;::::1;5316:21:1::0;5373:2;5353:18;;;5346:30;-1:-1:-1;;;5392:18:1;;;5385:53;5455:18;;14039:57:0::1;5132:347:1::0;14039:57:0::1;-1:-1:-1::0;;;;;14110:16:0;::::1;14129:1;14110:16:::0;;;:7:::1;:16;::::0;;;;;:20;14107:108:::1;;-1:-1:-1::0;;;;;14186:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;;14166:37:::1;::::0;:19:::1;:37::i;:::-;-1:-1:-1::0;;;;;14147:16:0;::::1;;::::0;;;:7:::1;:16;::::0;;;;:56;14107:108:::1;-1:-1:-1::0;;;;;14225:20:0::1;;::::0;;;:11:::1;:20;::::0;;;;:27;;-1:-1:-1;;14225:27:0::1;14248:4;14225:27:::0;;::::1;::::0;;;14263:9:::1;:23:::0;;;;::::1;::::0;;;;;;::::1;::::0;;-1:-1:-1;;;;;;14263:23:0::1;::::0;;::::1;::::0;;13966:328::o;8760:249::-;8362:6;;-1:-1:-1;;;;;8362:6:0;596:10;8362:22;8354:72;;;;-1:-1:-1;;;8354:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8849:22:0;::::1;8841:78;;;::::0;-1:-1:-1;;;8841:78:0;;5686:2:1;8841:78:0::1;::::0;::::1;5668:21:1::0;5725:2;5705:18;;;5698:30;5764:34;5744:18;;;5737:62;-1:-1:-1;;;5815:18:1;;;5808:41;5866:19;;8841:78:0::1;5484:407:1::0;8841:78:0::1;8956:6;::::0;;8935:38:::1;::::0;-1:-1:-1;;;;;8935:38:0;;::::1;::::0;8956:6;::::1;::::0;8935:38:::1;::::0;::::1;8984:6;:17:::0;;-1:-1:-1;;;;;;8984:17:0::1;-1:-1:-1::0;;;;;8984:17:0;;;::::1;::::0;;;::::1;::::0;;8760:249::o;14302:474::-;8362:6;;-1:-1:-1;;;;;8362:6:0;596:10;8362:22;8354:72;;;;-1:-1:-1;;;8354:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;14383:20:0;::::1;;::::0;;;:11:::1;:20;::::0;;;;;::::1;;14375:56;;;::::0;-1:-1:-1;;;14375:56:0;;5334:2:1;14375:56:0::1;::::0;::::1;5316:21:1::0;5373:2;5353:18;;;5346:30;-1:-1:-1;;;5392:18:1;;;5385:53;5455:18;;14375:56:0::1;5132:347:1::0;14375:56:0::1;14447:9;14442:327;14466:9;:16:::0;14462:20;::::1;14442:327;;;14524:7;-1:-1:-1::0;;;;;14508:23:0::1;:9;14518:1;14508:12;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;14508:12:0::1;:23:::0;14504:254:::1;;14567:9;14577:16:::0;;:20:::1;::::0;14596:1:::1;::::0;14577:20:::1;:::i;:::-;14567:31;;;;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;::::1;::::0;14552:9:::1;:12:::0;;-1:-1:-1;;;;;14567:31:0;;::::1;::::0;14562:1;;14552:12;::::1;;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;;;::::1;:46:::0;;-1:-1:-1;;;;;;14552:46:0::1;-1:-1:-1::0;;;;;14552:46:0;;::::1;;::::0;;14617:16;;::::1;::::0;;:7:::1;:16:::0;;;;;;:20;;;14656:11:::1;:20:::0;;;;:28;;-1:-1:-1;;14656:28:0::1;::::0;;14703:9:::1;:15:::0;;;::::1;;;;:::i;:::-;;::::0;;;::::1;::::0;;;;-1:-1:-1;;14703:15:0;;;;;-1:-1:-1;;;;;;14703:15:0::1;::::0;;;;;14442:327:::1;14302:474:::0;:::o;14504:254::-:1;14484:3;;14442:327;;;;14302:474:::0;:::o;18210:411::-;18269:7;18278;18287;18296;18305;18326:23;18351:12;18367:20;18379:7;18367:11;:20::i;:::-;18325:62;;;;18398:19;18421:10;:8;:10::i;:::-;18398:33;;18443:15;18460:23;18485:12;18501:39;18513:7;18522:4;18528:11;18501;:39::i;:::-;18442:98;;;;-1:-1:-1;18442:98:0;;-1:-1:-1;18591:15:0;;-1:-1:-1;18608:4:0;;-1:-1:-1;18210:411:0;;-1:-1:-1;;;;;;18210:411:0:o;3713:136::-;3771:7;3798:43;3802:1;3805;3798:43;;;;;;;;;;;;;;;;;:3;:43::i;3524:181::-;3582:7;;3614:5;3618:1;3614;:5;:::i;:::-;3602:17;;3643:1;3638;:6;;3630:46;;;;-1:-1:-1;;;3630:46:0;;6757:2:1;3630:46:0;;;6739:21:1;6796:2;6776:18;;;6769:30;6835:29;6815:18;;;6808:57;6882:18;;3630:46:0;6555:351:1;14784:337:0;-1:-1:-1;;;;;14877:19:0;;14869:68;;;;-1:-1:-1;;;14869:68:0;;7113:2:1;14869:68:0;;;7095:21:1;7152:2;7132:18;;;7125:30;7191:34;7171:18;;;7164:62;-1:-1:-1;;;7242:18:1;;;7235:34;7286:19;;14869:68:0;6911:400:1;14869:68:0;-1:-1:-1;;;;;14956:21:0;;14948:68;;;;-1:-1:-1;;;14948:68:0;;7518:2:1;14948:68:0;;;7500:21:1;7557:2;7537:18;;;7530:30;7596:34;7576:18;;;7569:62;-1:-1:-1;;;7647:18:1;;;7640:32;7689:19;;14948:68:0;7316:398:1;14948:68:0;-1:-1:-1;;;;;15029:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;15081:32;;1489:25:1;;;15081:32:0;;1462:18:1;15081:32:0;;;;;;;14784:337;;;:::o;15129:799::-;-1:-1:-1;;;;;15226:20:0;;15218:70;;;;-1:-1:-1;;;15218:70:0;;7921:2:1;15218:70:0;;;7903:21:1;7960:2;7940:18;;;7933:30;7999:34;7979:18;;;7972:62;-1:-1:-1;;;8050:18:1;;;8043:35;8095:19;;15218:70:0;7719:401:1;15218:70:0;-1:-1:-1;;;;;15307:23:0;;15299:71;;;;-1:-1:-1;;;15299:71:0;;8327:2:1;15299:71:0;;;8309:21:1;8366:2;8346:18;;;8339:30;8405:34;8385:18;;;8378:62;-1:-1:-1;;;8456:18:1;;;8449:33;8499:19;;15299:71:0;8125:399:1;15299:71:0;15398:1;15389:6;:10;15381:64;;;;-1:-1:-1;;;15381:64:0;;8731:2:1;15381:64:0;;;8713:21:1;8770:2;8750:18;;;8743:30;8809:34;8789:18;;;8782:62;-1:-1:-1;;;8860:18:1;;;8853:39;8909:19;;15381:64:0;8529:405:1;15381:64:0;-1:-1:-1;;;;;15460:19:0;;;;;;:11;:19;;;;;;;;:46;;;;-1:-1:-1;;;;;;15484:22:0;;;;;;:11;:22;;;;;;;;15483:23;15460:46;15456:465;;;15523:48;15545:6;15553:9;15564:6;15523:21;:48::i;:::-;15129:799;;;:::o;15456:465::-;-1:-1:-1;;;;;15594:19:0;;;;;;:11;:19;;;;;;;;15593:20;:46;;;;-1:-1:-1;;;;;;15617:22:0;;;;;;:11;:22;;;;;;;;15593:46;15589:332;;;15656:46;15676:6;15684:9;15695:6;15656:19;:46::i;15589:332::-;-1:-1:-1;;;;;15725:19:0;;;;;;:11;:19;;;;;;;;15724:20;:47;;;;-1:-1:-1;;;;;;15749:22:0;;;;;;:11;:22;;;;;;;;15748:23;15724:47;15720:201;;;15788:44;15806:6;15814:9;15825:6;15788:17;:44::i;15720:201::-;15865:44;15883:6;15891:9;15902:6;15865:17;:44::i;3857:192::-;3943:7;3979:12;3971:6;;;;3963:29;;;;-1:-1:-1;;;3963:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4003:9:0;4015:5;4019:1;4015;:5;:::i;:::-;4003:17;3857:192;-1:-1:-1;;;;;3857:192:0:o;19209:163::-;19250:7;19271:15;19288;19307:19;:17;:19::i;:::-;19270:56;;-1:-1:-1;19270:56:0;-1:-1:-1;19344:20:0;19270:56;;19344:11;:20::i;:::-;19337:27;;;;19209:163;:::o;4315:132::-;4373:7;4400:39;4404:1;4407;4400:39;;;;;;;;;;;;;;;;;:3;:39::i;18629:230::-;18689:7;;;18733:23;18754:1;18733:16;:7;18745:3;18733:11;:16::i;:::-;:20;;:23::i;:::-;18718:38;-1:-1:-1;18767:23:0;18793:17;:7;18718:38;18793:11;:17::i;:::-;18767:43;18846:4;;-1:-1:-1;18629:230:0;;-1:-1:-1;;;18629:230:0:o;18867:334::-;18962:7;;;;19018:24;:7;19030:11;19018;:24::i;:::-;19000:42;-1:-1:-1;19053:12:0;19068:21;:4;19077:11;19068:8;:21::i;:::-;19053:36;-1:-1:-1;19100:23:0;19126:17;:7;19053:36;19126:11;:17::i;:::-;19162:7;;;;-1:-1:-1;19188:4:0;;-1:-1:-1;18867:334:0;;-1:-1:-1;;;;;18867:334:0:o;16933:509::-;17036:15;17053:23;17078:12;17092:23;17117:12;17133:19;17144:7;17133:10;:19::i;:::-;-1:-1:-1;;;;;17181:15:0;;;;;;:7;:15;;;;;;17035:117;;-1:-1:-1;17035:117:0;;-1:-1:-1;17035:117:0;;-1:-1:-1;17035:117:0;-1:-1:-1;17035:117:0;-1:-1:-1;17181:28:0;;17201:7;17181:19;:28::i;:::-;-1:-1:-1;;;;;17163:15:0;;;;;;:7;:15;;;;;;;;:46;;;;17238:7;:15;;;;:28;;17258:7;17238:19;:28::i;:::-;-1:-1:-1;;;;;17220:15:0;;;;;;;:7;:15;;;;;;:46;;;;17298:18;;;;;;;:39;;17321:15;17298:22;:39::i;:::-;-1:-1:-1;;;;;17277:18:0;;;;;;:7;:18;;;;;:60;17351:23;17363:4;17369;17351:11;:23::i;:::-;17407:9;-1:-1:-1;;;;;17390:44:0;17399:6;-1:-1:-1;;;;;17390:44:0;;17418:15;17390:44;;;;1489:25:1;;1477:2;1462:18;;1343:177;17390:44:0;;;;;;;;17024:418;;;;;16933:509;;;:::o;16396:529::-;16497:15;16514:23;16539:12;16553:23;16578:12;16594:19;16605:7;16594:10;:19::i;:::-;-1:-1:-1;;;;;16642:15:0;;;;;;:7;:15;;;;;;16496:117;;-1:-1:-1;16496:117:0;;-1:-1:-1;16496:117:0;;-1:-1:-1;16496:117:0;-1:-1:-1;16496:117:0;-1:-1:-1;16642:28:0;;16496:117;16642:19;:28::i;:::-;-1:-1:-1;;;;;16624:15:0;;;;;;;:7;:15;;;;;;;;:46;;;;16702:18;;;;;:7;:18;;;;;:39;;16725:15;16702:22;:39::i;:::-;-1:-1:-1;;;;;16681:18:0;;;;;;:7;:18;;;;;;;;:60;;;;16773:7;:18;;;;:39;;16796:15;16773:22;:39::i;15936:452::-;16035:15;16052:23;16077:12;16091:23;16116:12;16132:19;16143:7;16132:10;:19::i;:::-;-1:-1:-1;;;;;16180:15:0;;;;;;:7;:15;;;;;;16034:117;;-1:-1:-1;16034:117:0;;-1:-1:-1;16034:117:0;;-1:-1:-1;16034:117:0;-1:-1:-1;16034:117:0;-1:-1:-1;16180:28:0;;16034:117;16180:19;:28::i;19380:617::-;19477:13;;19430:7;;;;9517:28;19430:7;19551:303;19575:9;:16;19571:20;;19551:303;;;19641:7;19617;:21;19625:9;19635:1;19625:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;19625:12:0;19617:21;;;;;;;;;;;;;:31;;:66;;;19676:7;19652;:21;19660:9;19670:1;19660:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;19660:12:0;19652:21;;;;;;;;;;;;;:31;19617:66;19613:111;;;-1:-1:-1;;19693:13:0;;;9517:28;;-1:-1:-1;19380:617:0;-1:-1:-1;;19380:617:0:o;19613:111::-;19749:34;19761:7;:21;19769:9;19779:1;19769:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;19769:12:0;19761:21;;;;;;;;;;;;;19749:7;;:11;:34::i;:::-;19739:44;;19808:34;19820:7;:21;19828:9;19838:1;19828:12;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;19828:12:0;19820:21;;;;;;;;;;;;;19808:7;;:11;:34::i;:::-;19798:44;-1:-1:-1;19593:3:0;;19551:303;;;-1:-1:-1;19878:13:0;;:34;;9517:28;19878:17;:34::i;:::-;19868:7;:44;19864:89;;;-1:-1:-1;;19922:13:0;;;9517:28;;-1:-1:-1;19380:617:0;-1:-1:-1;19380:617:0:o;19864:89::-;19972:7;;19981;;-1:-1:-1;19380:617:0;-1:-1:-1;19380:617:0:o;4455:278::-;4541:7;4576:12;4569:5;4561:28;;;;-1:-1:-1;;;4561:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4600:9:0;4612:5;4616:1;4612;:5;:::i;4057:250::-;4115:7;4139:1;4144;4139:6;4135:47;;-1:-1:-1;4169:1:0;4162:8;;4135:47;4194:9;4206:5;4210:1;4206;:5;:::i;:::-;4194:17;-1:-1:-1;4239:1:0;4230:5;4234:1;4194:17;4230:5;:::i;:::-;:10;4222:56;;;;-1:-1:-1;;;4222:56:0;;9536:2:1;4222:56:0;;;9518:21:1;9575:2;9555:18;;;9548:30;9614:34;9594:18;;;9587:62;-1:-1:-1;;;9665:18:1;;;9658:31;9706:19;;4222:56:0;9334:397:1;18043:159:0;18127:13;;:23;;18145:4;18127:17;:23::i;:::-;18111:13;:39;18174:10;;:20;;18189:4;18174:14;:20::i;:::-;18161:10;:33;-1:-1:-1;;18043:159:0:o;14:226:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;187:23:1;;14:226;-1:-1:-1;14:226:1:o;245:418::-;394:2;383:9;376:21;357:4;426:6;420:13;469:6;464:2;453:9;449:18;442:34;528:6;523:2;515:6;511:15;506:2;495:9;491:18;485:50;584:1;579:2;570:6;559:9;555:22;551:31;544:42;654:2;647;643:7;638:2;630:6;626:15;622:29;611:9;607:45;603:54;595:62;;;245:418;;;;:::o;668:173::-;736:20;;-1:-1:-1;;;;;785:31:1;;775:42;;765:70;;831:1;828;821:12;765:70;668:173;;;:::o;846:300::-;914:6;922;975:2;963:9;954:7;950:23;946:32;943:52;;;991:1;988;981:12;943:52;1014:29;1033:9;1014:29;:::i;:::-;1004:39;1112:2;1097:18;;;;1084:32;;-1:-1:-1;;;846:300:1:o;1525:374::-;1602:6;1610;1618;1671:2;1659:9;1650:7;1646:23;1642:32;1639:52;;;1687:1;1684;1677:12;1639:52;1710:29;1729:9;1710:29;:::i;:::-;1700:39;;1758:38;1792:2;1781:9;1777:18;1758:38;:::i;:::-;1525:374;;1748:48;;-1:-1:-1;;;1865:2:1;1850:18;;;;1837:32;;1525:374::o;2301:395::-;2366:6;2374;2427:2;2415:9;2406:7;2402:23;2398:32;2395:52;;;2443:1;2440;2433:12;2395:52;2488:23;;;-1:-1:-1;2587:2:1;2572:18;;2559:32;2629:15;;2622:23;2610:36;;2600:64;;2660:1;2657;2650:12;2600:64;2683:7;2673:17;;;2301:395;;;;;:::o;2701:186::-;2760:6;2813:2;2801:9;2792:7;2788:23;2784:32;2781:52;;;2829:1;2826;2819:12;2781:52;2852:29;2871:9;2852:29;:::i;2892:260::-;2960:6;2968;3021:2;3009:9;3000:7;2996:23;2992:32;2989:52;;;3037:1;3034;3027:12;2989:52;3060:29;3079:9;3060:29;:::i;:::-;3050:39;;3108:38;3142:2;3131:9;3127:18;3108:38;:::i;:::-;3098:48;;2892:260;;;;;:::o;3570:380::-;3649:1;3645:12;;;;3692;;;3713:61;;3767:4;3759:6;3755:17;3745:27;;3713:61;3820:2;3812:6;3809:14;3789:18;3786:38;3783:161;;3866:10;3861:3;3857:20;3854:1;3847:31;3901:4;3898:1;3891:15;3929:4;3926:1;3919:15;3783:161;;3570:380;;;:::o;4726:401::-;4928:2;4910:21;;;4967:2;4947:18;;;4940:30;5006:34;5001:2;4986:18;;4979:62;-1:-1:-1;;;5072:2:1;5057:18;;5050:35;5117:3;5102:19;;4726:401::o;5896:127::-;5957:10;5952:3;5948:20;5945:1;5938:31;5988:4;5985:1;5978:15;6012:4;6009:1;6002:15;6028:127;6089:10;6084:3;6080:20;6077:1;6070:31;6120:4;6117:1;6110:15;6144:4;6141:1;6134:15;6160:128;6227:9;;;6248:11;;;6245:37;;;6262:18;;:::i;6293:127::-;6354:10;6349:3;6345:20;6342:1;6335:31;6385:4;6382:1;6375:15;6409:4;6406:1;6399:15;6425:125;6490:9;;;6511:10;;;6508:36;;;6524:18;;:::i;8939:217::-;8979:1;9005;8995:132;;9049:10;9044:3;9040:20;9037:1;9030:31;9084:4;9081:1;9074:15;9112:4;9109:1;9102:15;8995:132;-1:-1:-1;9141:9:1;;8939:217::o;9161:168::-;9234:9;;;9265;;9282:15;;;9276:22;;9262:37;9252:71;;9303:18;;:::i
Swarm Source
ipfs://480c09af7df01e3e3c080ccf6a2a97f600a8db433a3701f1b63bf805cb6d2c8a
[ 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.