BNB Price: $695.44 (-2.04%)
Gas: 1 GWei
 

Overview

Max Total Supply

191,289,421.262177BHET

Holders

5,606

Market

Price

$0.00 @ 0.000000 BNB

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.890898161099924736 BHET

Value
$0.00
0x199e3bfb54f4aaa9d67d1bb56429c5ef9d1a2a91
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
BHETToken

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at BscScan.com on 2024-09-16
*/

//SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;

abstract contract Owner {

    address public owner;

    constructor () {
        owner = msg.sender;
    }

    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    function isOwner() internal view returns (bool) {
        return owner == msg.sender;
    }

    function setOwner(address _newOwner) public onlyOwner {
        owner = _newOwner;
    }
}

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) {
        require(b <= a, "SafeMath: subtraction overflow");
        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) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0, "SafeMath: modulo by zero");
        return a % b;
    }
}

interface IERC20 {

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract ERC20 is IERC20, Owner {

    using SafeMath for uint256;
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply = 0;
    uint256 private _totalBurn = 0;
    uint256 public _initialSupply = 200000000 * 10 ** 18;    

    mapping(address => bool) private swapMainAddresses;

    address private poolAddress = address(0x8894E0a0c962CB723c1976a4421c95949bE2D4E3);

    address[] private winners;
    uint256 private capacity = 10;

    uint256 private startTime = 0;
    uint256 private endTime = 0;
    uint256 private countDownTime = 24 hours;
    uint256 private timeToAddOnJoin = 1 hours;
    bool private distributeFlag = false;

    event Start();
    event Buy(address indexed account, uint256 value);
    event Sell(address indexed account, uint256 value);
    event JoinSuccess(address indexed winner);
    event DistributeReward(address indexed winner, uint256 value);

    function start() internal {
        if(endTime == 0 || distributeFlag){
            startTime = block.timestamp;
            endTime = startTime.add(countDownTime);
            distributeFlag = false;
            winners = new address[](capacity);
            emit Start();
        }
    }

    function addAddress(address _winner) internal {
        if (winners.length == capacity) {
            address[] memory tempAddresses = new address[](capacity - 1);
            for (uint256 i = 1; i < winners.length; i++) {
                tempAddresses[i - 1] = winners[i];
            }
            winners = tempAddresses;
        }
        winners.push(_winner);
        emit JoinSuccess(_winner);
    }

    function getInfo() public view returns (uint256 _poolAmount, uint256 _startTime, uint256 _endTime, uint256 _remainTime, bool _distributeFlag, address[] memory _winners){
        _poolAmount = _balances[poolAddress];
        _startTime = startTime;
        _endTime = endTime;
        _distributeFlag = distributeFlag;
        _winners = winners;
        _remainTime = endTime > block.timestamp ? endTime - block.timestamp : 0;
    }

    function distributeRewards() internal {
        require(endTime > 0 && block.timestamp >= endTime, "Countdown not ended yet");
        uint256 totalRewards = _balances[poolAddress];
        for (uint256 i = winners.length; i > 0; i--) {
            address recipient = winners[i - 1];
            if (i == winners.length) {
                _transfer(poolAddress, recipient, totalRewards * 50 / 100);
                emit DistributeReward(recipient, totalRewards * 50 / 100);
            } else if (i == winners.length - 1) {
                _transfer(poolAddress, recipient, totalRewards * 10 / 100);
                emit DistributeReward(recipient, totalRewards * 10 / 100);
            } else {
                _transfer(poolAddress, recipient, totalRewards * 5 / 100);
                emit DistributeReward(recipient, totalRewards * 5 / 100);
            }
        }
        distributeFlag = true;
        start();
    }

    function setSwapMainAddress(address account) public onlyOwner returns (bool success) {
        swapMainAddresses[account] = true;
        start();
        return true;
    }

    function removeSwapMainAddress(address account) public onlyOwner returns (bool success) {
        delete swapMainAddresses[account];
        return true;
    }

    function isSwapMainAddress(address account) public view returns (bool){
        return swapMainAddresses[account];
    }

    constructor (string memory tokenName, string memory tokenSymbol, uint8 tokenDecimals) {
        _name = tokenName;
        _symbol = tokenSymbol;
        _decimals = tokenDecimals;
    }

    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 override view returns (uint256) {
        return _totalSupply;
    }

    function totalBurn() public view returns (uint256) {
        return _totalBurn;
    }

    function balanceOf(address account) public override view returns (uint256) {
        return _balances[account];
    }


    function transfer(address recipient, uint256 amount) public override returns (bool) {
        require(msg.sender != poolAddress);
        if (recipient == address(0)) {
            _burn(msg.sender, amount);
        } else {
            _transfer(msg.sender, recipient, amount);
        }
        return true;
    }

    function allowance(address owner, address spender) public override view returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 value) public override returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        require(sender != poolAddress);
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue));
        return true;
    }

    function _approve(address owner, address spender, uint256 value) internal {
        require(owner != address(0) && spender != address(0));
        _allowances[owner][spender] = value;
        emit Approval(owner, spender, value);
    }

    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(_balances[sender] >= amount, "Insufficient balance...");
        if (isSwapMainAddress(recipient)) {
            emit Sell(sender, amount);
            require(amount >= 100, "Transfer amount must be at least 100");
            uint256 amountToRecipient = amount.mul(95).div(100);
            uint256 amountToDestroy = amount.mul(3).div(100);
            uint256 amountToPool = amount.mul(2).div(100);
            _burn(sender, amountToDestroy);
            _balances[sender] = _balances[sender].sub(amount - amountToDestroy);
            _balances[recipient] = _balances[recipient].add(amountToRecipient);
            emit Transfer(sender, recipient, amountToRecipient);
            _balances[poolAddress] = _balances[poolAddress].add(amountToPool);
            emit Transfer(sender, poolAddress, amountToPool);
            if (!distributeFlag && endTime > 0 && block.timestamp >= endTime) {
                distributeRewards();
            }
        } else if (isSwapMainAddress(sender)) {
            emit Buy(recipient, amount);
            uint256 amountToRecipient = amount.mul(95).div(100);
            uint256 amountToDestroy = amount.mul(3).div(100);
            uint256 amountToPool = amount.mul(2).div(100);
             _burn(sender, amountToDestroy);
            _balances[sender] = _balances[sender].sub(amount - amountToDestroy);
            _balances[recipient] = _balances[recipient].add(amountToRecipient);
            emit Transfer(sender, recipient, amountToRecipient);
            _balances[poolAddress] = _balances[poolAddress].add(amountToPool);
            emit Transfer(sender, poolAddress, amountToPool);
            if (endTime > 0 && block.timestamp < endTime) {
                if (amount >= 1000 * 10 ** 18) {
                    addAddress(recipient);
                    endTime = endTime.add(timeToAddOnJoin);
                    if(endTime > block.timestamp.add(countDownTime)){
                        endTime = block.timestamp.add(countDownTime);
                    }
                }
            }
        } else {
            _balances[sender] = _balances[sender].sub(amount);
            _balances[recipient] = _balances[recipient].add(amount);
            emit Transfer(sender, recipient, amount);
        }
    }

    function _burn(address account, uint256 value) internal {
        _totalSupply = _totalSupply.sub(value);
        _totalBurn = _totalBurn.add(value);
        _balances[account] = _balances[account].sub(value);
        emit Transfer(account, address(0), value);
    }


    function _mint(address account, uint256 amount) internal returns (bool){
        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
        return true;
    }

}

contract BHETToken is ERC20 {

    
    
    address private supplyAddress = address(0x0e020c55e8cD3F30b0fd3842118b788b51167589);

    constructor ()
        ERC20("Big Healthy ecological token", "BHET", 18) {
        _mint(supplyAddress, _initialSupply);
    }
}

Contract Security Audit

Contract ABI

[{"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":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Buy","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"winner","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"DistributeReward","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"winner","type":"address"}],"name":"JoinSuccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Sell","type":"event"},{"anonymous":false,"inputs":[],"name":"Start","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":"_initialSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":[],"name":"getInfo","outputs":[{"internalType":"uint256","name":"_poolAmount","type":"uint256"},{"internalType":"uint256","name":"_startTime","type":"uint256"},{"internalType":"uint256","name":"_endTime","type":"uint256"},{"internalType":"uint256","name":"_remainTime","type":"uint256"},{"internalType":"bool","name":"_distributeFlag","type":"bool"},{"internalType":"address[]","name":"_winners","type":"address[]"}],"stateMutability":"view","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":"isSwapMainAddress","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":"address","name":"account","type":"address"}],"name":"removeSwapMainAddress","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"setOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setSwapMainAddress","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040526000600681905560078190556aa56fa5b99019a5c8000000600855600a80546001600160a01b031916738894e0a0c962cb723c1976a4421c95949be2d4e3178155600c55600d819055600e5562015180600f55610e1060105560118054740e020c55e8cd3f30b0fd3842118b788b51167589006001600160a81b03199091161790553480156200009357600080fd5b50604080518082018252601c81527f426967204865616c7468792065636f6c6f676963616c20746f6b656e000000006020808301918252835180850190945260048452631092115560e21b90840152600080546001600160a01b0319163317905581519192916012916200010b916001919062000282565b5081516200012190600290602085019062000282565b506003805460ff191660ff929092169190911790555050601154600854620001589161010090046001600160a01b0316906200015f565b506200038c565b60006200017d826006546200021560201b6200064d1790919060201c565b6006556001600160a01b038316600090815260046020908152604090912054620001b29184906200064d62000215821b17901c565b6001600160a01b0384166000818152600460205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620002049086815260200190565b60405180910390a350600192915050565b60008062000224838562000328565b9050838110156200027b5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b9392505050565b82805462000290906200034f565b90600052602060002090601f016020900481019282620002b45760008555620002ff565b82601f10620002cf57805160ff1916838001178555620002ff565b82800160010185558215620002ff579182015b82811115620002ff578251825591602001919060010190620002e2565b506200030d92915062000311565b5090565b5b808211156200030d576000815560010162000312565b600082198211156200034a57634e487b7160e01b600052601160045260246000fd5b500190565b600181811c908216806200036457607f821691505b602082108114156200038657634e487b7160e01b600052602260045260246000fd5b50919050565b611684806200039c6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806366598098116100ad578063a9059cbb11610071578063a9059cbb1461026d578063b0d1aff214610280578063b781fdf414610293578063c3b2d337146102bf578063dd62ed3e146102c857600080fd5b806366598098146101eb57806370a08231146101fe5780638da5cb5b1461022757806395d89b4114610252578063a457c2d71461025a57600080fd5b806323b872dd116100f457806323b872dd1461018e578063313ce567146101a157806339509351146101b65780633c9f861d146101c95780635a9b0b89146101d157600080fd5b806306fdde0314610126578063095ea7b31461014457806313af40351461016757806318160ddd1461017c575b600080fd5b61012e610301565b60405161013b919061137a565b60405180910390f35b6101576101523660046113e6565b610393565b604051901515815260200161013b565b61017a610175366004611410565b6103aa565b005b6006545b60405190815260200161013b565b61015761019c36600461142b565b6103e3565b60035460405160ff909116815260200161013b565b6101576101c43660046113e6565b610450565b600754610180565b6101d9610486565b60405161013b96959493929190611467565b6101576101f9366004611410565b61053c565b61018061020c366004611410565b6001600160a01b031660009081526004602052604090205490565b60005461023a906001600160a01b031681565b6040516001600160a01b03909116815260200161013b565b61012e610588565b6101576102683660046113e6565b610597565b61015761027b3660046113e6565b6105cd565b61015761028e366004611410565b610610565b6101576102a1366004611410565b6001600160a01b031660009081526009602052604090205460ff1690565b61018060085481565b6101806102d63660046114dc565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6060600180546103109061150f565b80601f016020809104026020016040519081016040528092919081815260200182805461033c9061150f565b80156103895780601f1061035e57610100808354040283529160200191610389565b820191906000526020600020905b81548152906001019060200180831161036c57829003601f168201915b5050505050905090565b60006103a03384846106b8565b5060015b92915050565b6000546001600160a01b031633146103c157600080fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600a546000906001600160a01b038581169116141561040157600080fd5b61040c848484610743565b6001600160a01b0384166000908152600560209081526040808320338085529252909120546104469186916104419086610cb0565b6106b8565b5060019392505050565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916103a0918590610441908661064d565b600a546001600160a01b0316600090815260046020908152604080832054600d54600e54601154600b8054865181890281018901909752808752949793969295939460ff9092169360609390929083018282801561050d57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116104ef575b5050505050905042600e5411610524576000610532565b42600e546105329190611560565b9250909192939495565b600080546001600160a01b0316331461055457600080fd5b6001600160a01b0382166000908152600960205260409020805460ff1916600117905561057f610d16565b5060015b919050565b6060600280546103109061150f565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916103a09185906104419086610cb0565b600a546000906001600160a01b03163314156105e857600080fd5b6001600160a01b038316610605576106003383610dd2565b6103a0565b6103a0338484610743565b600080546001600160a01b0316331461062857600080fd5b506001600160a01b03166000908152600960205260409020805460ff19169055600190565b60008061065a8385611577565b9050838110156106b15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064015b60405180910390fd5b9392505050565b6001600160a01b038316158015906106d857506001600160a01b03821615155b6106e157600080fd5b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166000908152600460205260409020548111156107ab5760405162461bcd60e51b815260206004820152601760248201527f496e73756666696369656e742062616c616e63652e2e2e00000000000000000060448201526064016106a8565b6001600160a01b03821660009081526009602052604090205460ff1615610a0757826001600160a01b03167f5e5e995ce3133561afceaa51a9a154d5db228cd7525d34df5185582c18d3df098260405161080791815260200190565b60405180910390a2606481101561086c5760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657220616d6f756e74206d757374206265206174206c656173746044820152630203130360e41b60648201526084016106a8565b6000610884606461087e84605f610e5d565b90610edc565b90506000610898606461087e856003610e5d565b905060006108ac606461087e866002610e5d565b90506108b88683610dd2565b6108e46108c58386611560565b6001600160a01b03881660009081526004602052604090205490610cb0565b6001600160a01b038088166000908152600460205260408082209390935590871681522054610913908461064d565b6001600160a01b03808716600081815260046020526040908190209390935591519088169060008051602061162f833981519152906109559087815260200190565b60405180910390a3600a546001600160a01b0316600090815260046020526040902054610982908261064d565b600a80546001600160a01b039081166000908152600460209081526040918290209490945591549151848152918116929089169160008051602061162f833981519152910160405180910390a360115460ff161580156109e457506000600e54115b80156109f25750600e544210155b156109ff576109ff610f39565b505050505050565b6001600160a01b03831660009081526009602052604090205460ff1615610c1c57816001600160a01b03167fe3d4187f6ca4248660cc0ac8b8056515bac4a8132be2eca31d6d0cc170722a7e82604051610a6391815260200190565b60405180910390a26000610a7d606461087e84605f610e5d565b90506000610a91606461087e856003610e5d565b90506000610aa5606461087e866002610e5d565b9050610ab18683610dd2565b610abe6108c58386611560565b6001600160a01b038088166000908152600460205260408082209390935590871681522054610aed908461064d565b6001600160a01b03808716600081815260046020526040908190209390935591519088169060008051602061162f83398151915290610b2f9087815260200190565b60405180910390a3600a546001600160a01b0316600090815260046020526040902054610b5c908261064d565b600a80546001600160a01b039081166000908152600460209081526040918290209490945591549151848152918116929089169160008051602061162f833981519152910160405180910390a36000600e54118015610bbc5750600e5442105b156109ff57683635c9adc5dea0000084106109ff57610bda85611195565b601054600e54610be99161064d565b600e55600f54610bfa90429061064d565b600e5411156109ff57600f54610c1190429061064d565b600e55505050505050565b6001600160a01b038316600090815260046020526040902054610c3f9082610cb0565b6001600160a01b038085166000908152600460205260408082209390935590841681522054610c6e908261064d565b6001600160a01b03808416600081815260046020526040908190209390935591519085169060008051602061162f833981519152906107369085815260200190565b600082821115610d025760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016106a8565b6000610d0e8385611560565b949350505050565b600e541580610d27575060115460ff165b15610dd05742600d819055600f54610d3f919061064d565b600e556011805460ff19169055600c5467ffffffffffffffff811115610d6757610d6761158f565b604051908082528060200260200182016040528015610d90578160200160208202803683370190505b508051610da591600b91602090910190611300565b506040517f1b55ba3aa851a46be3b365aee5b5c140edd620d578922f3e8466d2cbd96f954b90600090a15b565b600654610ddf9082610cb0565b600655600754610def908261064d565b6007556001600160a01b038216600090815260046020526040902054610e159082610cb0565b6001600160a01b03831660008181526004602052604080822093909355915160008051602061162f83398151915290610e519085815260200190565b60405180910390a35050565b600082610e6c575060006103a4565b6000610e7883856115a5565b905082610e8585836115c4565b146106b15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106a8565b6000808211610f2d5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f00000000000060448201526064016106a8565b6000610d0e83856115c4565b6000600e54118015610f4d5750600e544210155b610f995760405162461bcd60e51b815260206004820152601760248201527f436f756e74646f776e206e6f7420656e6465642079657400000000000000000060448201526064016106a8565b600a546001600160a01b0316600090815260046020526040902054600b545b801561117c576000600b610fcd600184611560565b81548110610fdd57610fdd6115e6565b600091825260209091200154600b546001600160a01b03909116915082141561108557600a5461102d906001600160a01b031682606461101e8760326115a5565b61102891906115c4565b610743565b6001600160a01b0381167fe8b160e373db99a103e0a2abfa029b9c3fc8b328984a1ead8a65ae68ae646db760646110658660326115a5565b61106f91906115c4565b60405190815260200160405180910390a2611169565b600b5461109490600190611560565b8214156110f757600a80546110bf916001600160a01b0390911690839060649061101e9088906115a5565b6001600160a01b0381167fe8b160e373db99a103e0a2abfa029b9c3fc8b328984a1ead8a65ae68ae646db7606461106586600a6115a5565b600a54611115906001600160a01b031682606461101e8760056115a5565b6001600160a01b0381167fe8b160e373db99a103e0a2abfa029b9c3fc8b328984a1ead8a65ae68ae646db7606461114d8660056115a5565b61115791906115c4565b60405190815260200160405180910390a25b5080611174816115fc565b915050610fb8565b506011805460ff19166001179055611192610d16565b50565b600c54600b5414156112885760006001600c546111b29190611560565b67ffffffffffffffff8111156111ca576111ca61158f565b6040519080825280602002602001820160405280156111f3578160200160208202803683370190505b50905060015b600b5481101561127157600b8181548110611216576112166115e6565b6000918252602090912001546001600160a01b031682611237600184611560565b81518110611247576112476115e6565b6001600160a01b03909216602092830291909101909101528061126981611613565b9150506111f9565b50805161128590600b906020840190611300565b50505b600b805460018101825560009182527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319166001600160a01b03841690811790915560405190917f49b628a727a909471e7c6bcba2122134da6a8e649acce3b2cd8df34ffb98c86c91a250565b828054828255906000526020600020908101928215611355579160200282015b8281111561135557825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190611320565b50611361929150611365565b5090565b5b808211156113615760008155600101611366565b600060208083528351808285015260005b818110156113a75785810183015185820160400152820161138b565b818111156113b9576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461058357600080fd5b600080604083850312156113f957600080fd5b611402836113cf565b946020939093013593505050565b60006020828403121561142257600080fd5b6106b1826113cf565b60008060006060848603121561144057600080fd5b611449846113cf565b9250611457602085016113cf565b9150604084013590509250925092565b600060c0820188835260208881850152876040850152866060850152851515608085015260c060a085015281855180845260e086019150828701935060005b818110156114cb5784516001600160a01b0316835293830193918301916001016114a6565b50909b9a5050505050505050505050565b600080604083850312156114ef57600080fd5b6114f8836113cf565b9150611506602084016113cf565b90509250929050565b600181811c9082168061152357607f821691505b6020821081141561154457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156115725761157261154a565b500390565b6000821982111561158a5761158a61154a565b500190565b634e487b7160e01b600052604160045260246000fd5b60008160001904831182151516156115bf576115bf61154a565b500290565b6000826115e157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60008161160b5761160b61154a565b506000190190565b60006000198214156116275761162761154a565b506001019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212206e4007902c4a0139a999a60662229730a02bfc78b3a3e38fdd9ac71e553e793d64736f6c63430008090033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c806366598098116100ad578063a9059cbb11610071578063a9059cbb1461026d578063b0d1aff214610280578063b781fdf414610293578063c3b2d337146102bf578063dd62ed3e146102c857600080fd5b806366598098146101eb57806370a08231146101fe5780638da5cb5b1461022757806395d89b4114610252578063a457c2d71461025a57600080fd5b806323b872dd116100f457806323b872dd1461018e578063313ce567146101a157806339509351146101b65780633c9f861d146101c95780635a9b0b89146101d157600080fd5b806306fdde0314610126578063095ea7b31461014457806313af40351461016757806318160ddd1461017c575b600080fd5b61012e610301565b60405161013b919061137a565b60405180910390f35b6101576101523660046113e6565b610393565b604051901515815260200161013b565b61017a610175366004611410565b6103aa565b005b6006545b60405190815260200161013b565b61015761019c36600461142b565b6103e3565b60035460405160ff909116815260200161013b565b6101576101c43660046113e6565b610450565b600754610180565b6101d9610486565b60405161013b96959493929190611467565b6101576101f9366004611410565b61053c565b61018061020c366004611410565b6001600160a01b031660009081526004602052604090205490565b60005461023a906001600160a01b031681565b6040516001600160a01b03909116815260200161013b565b61012e610588565b6101576102683660046113e6565b610597565b61015761027b3660046113e6565b6105cd565b61015761028e366004611410565b610610565b6101576102a1366004611410565b6001600160a01b031660009081526009602052604090205460ff1690565b61018060085481565b6101806102d63660046114dc565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6060600180546103109061150f565b80601f016020809104026020016040519081016040528092919081815260200182805461033c9061150f565b80156103895780601f1061035e57610100808354040283529160200191610389565b820191906000526020600020905b81548152906001019060200180831161036c57829003601f168201915b5050505050905090565b60006103a03384846106b8565b5060015b92915050565b6000546001600160a01b031633146103c157600080fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600a546000906001600160a01b038581169116141561040157600080fd5b61040c848484610743565b6001600160a01b0384166000908152600560209081526040808320338085529252909120546104469186916104419086610cb0565b6106b8565b5060019392505050565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916103a0918590610441908661064d565b600a546001600160a01b0316600090815260046020908152604080832054600d54600e54601154600b8054865181890281018901909752808752949793969295939460ff9092169360609390929083018282801561050d57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116104ef575b5050505050905042600e5411610524576000610532565b42600e546105329190611560565b9250909192939495565b600080546001600160a01b0316331461055457600080fd5b6001600160a01b0382166000908152600960205260409020805460ff1916600117905561057f610d16565b5060015b919050565b6060600280546103109061150f565b3360008181526005602090815260408083206001600160a01b038716845290915281205490916103a09185906104419086610cb0565b600a546000906001600160a01b03163314156105e857600080fd5b6001600160a01b038316610605576106003383610dd2565b6103a0565b6103a0338484610743565b600080546001600160a01b0316331461062857600080fd5b506001600160a01b03166000908152600960205260409020805460ff19169055600190565b60008061065a8385611577565b9050838110156106b15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064015b60405180910390fd5b9392505050565b6001600160a01b038316158015906106d857506001600160a01b03821615155b6106e157600080fd5b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166000908152600460205260409020548111156107ab5760405162461bcd60e51b815260206004820152601760248201527f496e73756666696369656e742062616c616e63652e2e2e00000000000000000060448201526064016106a8565b6001600160a01b03821660009081526009602052604090205460ff1615610a0757826001600160a01b03167f5e5e995ce3133561afceaa51a9a154d5db228cd7525d34df5185582c18d3df098260405161080791815260200190565b60405180910390a2606481101561086c5760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657220616d6f756e74206d757374206265206174206c656173746044820152630203130360e41b60648201526084016106a8565b6000610884606461087e84605f610e5d565b90610edc565b90506000610898606461087e856003610e5d565b905060006108ac606461087e866002610e5d565b90506108b88683610dd2565b6108e46108c58386611560565b6001600160a01b03881660009081526004602052604090205490610cb0565b6001600160a01b038088166000908152600460205260408082209390935590871681522054610913908461064d565b6001600160a01b03808716600081815260046020526040908190209390935591519088169060008051602061162f833981519152906109559087815260200190565b60405180910390a3600a546001600160a01b0316600090815260046020526040902054610982908261064d565b600a80546001600160a01b039081166000908152600460209081526040918290209490945591549151848152918116929089169160008051602061162f833981519152910160405180910390a360115460ff161580156109e457506000600e54115b80156109f25750600e544210155b156109ff576109ff610f39565b505050505050565b6001600160a01b03831660009081526009602052604090205460ff1615610c1c57816001600160a01b03167fe3d4187f6ca4248660cc0ac8b8056515bac4a8132be2eca31d6d0cc170722a7e82604051610a6391815260200190565b60405180910390a26000610a7d606461087e84605f610e5d565b90506000610a91606461087e856003610e5d565b90506000610aa5606461087e866002610e5d565b9050610ab18683610dd2565b610abe6108c58386611560565b6001600160a01b038088166000908152600460205260408082209390935590871681522054610aed908461064d565b6001600160a01b03808716600081815260046020526040908190209390935591519088169060008051602061162f83398151915290610b2f9087815260200190565b60405180910390a3600a546001600160a01b0316600090815260046020526040902054610b5c908261064d565b600a80546001600160a01b039081166000908152600460209081526040918290209490945591549151848152918116929089169160008051602061162f833981519152910160405180910390a36000600e54118015610bbc5750600e5442105b156109ff57683635c9adc5dea0000084106109ff57610bda85611195565b601054600e54610be99161064d565b600e55600f54610bfa90429061064d565b600e5411156109ff57600f54610c1190429061064d565b600e55505050505050565b6001600160a01b038316600090815260046020526040902054610c3f9082610cb0565b6001600160a01b038085166000908152600460205260408082209390935590841681522054610c6e908261064d565b6001600160a01b03808416600081815260046020526040908190209390935591519085169060008051602061162f833981519152906107369085815260200190565b600082821115610d025760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016106a8565b6000610d0e8385611560565b949350505050565b600e541580610d27575060115460ff165b15610dd05742600d819055600f54610d3f919061064d565b600e556011805460ff19169055600c5467ffffffffffffffff811115610d6757610d6761158f565b604051908082528060200260200182016040528015610d90578160200160208202803683370190505b508051610da591600b91602090910190611300565b506040517f1b55ba3aa851a46be3b365aee5b5c140edd620d578922f3e8466d2cbd96f954b90600090a15b565b600654610ddf9082610cb0565b600655600754610def908261064d565b6007556001600160a01b038216600090815260046020526040902054610e159082610cb0565b6001600160a01b03831660008181526004602052604080822093909355915160008051602061162f83398151915290610e519085815260200190565b60405180910390a35050565b600082610e6c575060006103a4565b6000610e7883856115a5565b905082610e8585836115c4565b146106b15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106a8565b6000808211610f2d5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f00000000000060448201526064016106a8565b6000610d0e83856115c4565b6000600e54118015610f4d5750600e544210155b610f995760405162461bcd60e51b815260206004820152601760248201527f436f756e74646f776e206e6f7420656e6465642079657400000000000000000060448201526064016106a8565b600a546001600160a01b0316600090815260046020526040902054600b545b801561117c576000600b610fcd600184611560565b81548110610fdd57610fdd6115e6565b600091825260209091200154600b546001600160a01b03909116915082141561108557600a5461102d906001600160a01b031682606461101e8760326115a5565b61102891906115c4565b610743565b6001600160a01b0381167fe8b160e373db99a103e0a2abfa029b9c3fc8b328984a1ead8a65ae68ae646db760646110658660326115a5565b61106f91906115c4565b60405190815260200160405180910390a2611169565b600b5461109490600190611560565b8214156110f757600a80546110bf916001600160a01b0390911690839060649061101e9088906115a5565b6001600160a01b0381167fe8b160e373db99a103e0a2abfa029b9c3fc8b328984a1ead8a65ae68ae646db7606461106586600a6115a5565b600a54611115906001600160a01b031682606461101e8760056115a5565b6001600160a01b0381167fe8b160e373db99a103e0a2abfa029b9c3fc8b328984a1ead8a65ae68ae646db7606461114d8660056115a5565b61115791906115c4565b60405190815260200160405180910390a25b5080611174816115fc565b915050610fb8565b506011805460ff19166001179055611192610d16565b50565b600c54600b5414156112885760006001600c546111b29190611560565b67ffffffffffffffff8111156111ca576111ca61158f565b6040519080825280602002602001820160405280156111f3578160200160208202803683370190505b50905060015b600b5481101561127157600b8181548110611216576112166115e6565b6000918252602090912001546001600160a01b031682611237600184611560565b81518110611247576112476115e6565b6001600160a01b03909216602092830291909101909101528061126981611613565b9150506111f9565b50805161128590600b906020840190611300565b50505b600b805460018101825560009182527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319166001600160a01b03841690811790915560405190917f49b628a727a909471e7c6bcba2122134da6a8e649acce3b2cd8df34ffb98c86c91a250565b828054828255906000526020600020908101928215611355579160200282015b8281111561135557825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190611320565b50611361929150611365565b5090565b5b808211156113615760008155600101611366565b600060208083528351808285015260005b818110156113a75785810183015185820160400152820161138b565b818111156113b9576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461058357600080fd5b600080604083850312156113f957600080fd5b611402836113cf565b946020939093013593505050565b60006020828403121561142257600080fd5b6106b1826113cf565b60008060006060848603121561144057600080fd5b611449846113cf565b9250611457602085016113cf565b9150604084013590509250925092565b600060c0820188835260208881850152876040850152866060850152851515608085015260c060a085015281855180845260e086019150828701935060005b818110156114cb5784516001600160a01b0316835293830193918301916001016114a6565b50909b9a5050505050505050505050565b600080604083850312156114ef57600080fd5b6114f8836113cf565b9150611506602084016113cf565b90509250929050565b600181811c9082168061152357607f821691505b6020821081141561154457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156115725761157261154a565b500390565b6000821982111561158a5761158a61154a565b500190565b634e487b7160e01b600052604160045260246000fd5b60008160001904831182151516156115bf576115bf61154a565b500290565b6000826115e157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60008161160b5761160b61154a565b506000190190565b60006000198214156116275761162761154a565b506001019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212206e4007902c4a0139a999a60662229730a02bfc78b3a3e38fdd9ac71e553e793d64736f6c63430008090033

Deployed Bytecode Sourcemap

11292:273:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6079:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7170:157;;;;;;:::i;:::-;;:::i;:::-;;;1218:14:1;;1211:22;1193:41;;1181:2;1166:18;7170:157:0;1053:187:1;374:90:0;;;;;;:::i;:::-;;:::i;:::-;;6356:100;6436:12;;6356:100;;;1582:25:1;;;1570:2;1555:18;6356:100:0;1436:177:1;7335:306:0;;;;;;:::i;:::-;;:::i;6265:83::-;6331:9;;6265:83;;6331:9;;;;2093:36:1;;2081:2;2066:18;6265:83:0;1951:184:1;7649:206:0;;;;;;:::i;:::-;;:::i;6464:87::-;6533:10;;6464:87;;4000:439;;;:::i;:::-;;;;;;;;;;;;:::i;5396:177::-;;;;;;:::i;:::-;;:::i;6559:119::-;;;;;;:::i;:::-;-1:-1:-1;;;;;6652:18:0;6625:7;6652:18;;;:9;:18;;;;;;;6559:119;96:20;;;;;-1:-1:-1;;;;;96:20:0;;;;;;-1:-1:-1;;;;;3337:32:1;;;3319:51;;3307:2;3292:18;96:20:0;3173:203:1;6170:87:0;;;:::i;7863:216::-;;;;;;:::i;:::-;;:::i;6688:323::-;;;;;;:::i;:::-;;:::i;5581:162::-;;;;;;:::i;:::-;;:::i;5751:122::-;;;;;;:::i;:::-;-1:-1:-1;;;;;5839:26:0;5816:4;5839:26;;;:17;:26;;;;;;;;;5751:122;2527:52;;;;;;7019:143;;;;;;:::i;:::-;-1:-1:-1;;;;;7127:18:0;;;7100:7;7127:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7019:143;6079:83;6116:13;6149:5;6142:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6079:83;:::o;7170:157::-;7244:4;7261:36;7270:10;7282:7;7291:5;7261:8;:36::i;:::-;-1:-1:-1;7315:4:0;7170:157;;;;;:::o;374:90::-;239:5;;-1:-1:-1;;;;;239:5:0;225:10;:19;217:28;;;;;;439:5:::1;:17:::0;;-1:-1:-1;;;;;;439:17:0::1;-1:-1:-1::0;;;;;439:17:0;;;::::1;::::0;;;::::1;::::0;;374:90::o;7335:306::-;7468:11;;7433:4;;-1:-1:-1;;;;;7458:21:0;;;7468:11;;7458:21;;7450:30;;;;;;7491:36;7501:6;7509:9;7520:6;7491:9;:36::i;:::-;-1:-1:-1;;;;;7567:19:0;;;;;;:11;:19;;;;;;;;7555:10;7567:31;;;;;;;;;7538:73;;7547:6;;7567:43;;7603:6;7567:35;:43::i;:::-;7538:8;:73::i;:::-;-1:-1:-1;7629:4:0;7335:306;;;;;:::o;7649:206::-;7755:10;7729:4;7776:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7776:32:0;;;;;;;;;;7729:4;;7746:79;;7767:7;;7776:48;;7813:10;7776:36;:48::i;4000:439::-;4203:11;;-1:-1:-1;;;;;4203:11:0;4040:19;4193:22;;;:9;:22;;;;;;;;;4239:9;;4270:7;;4306:14;;4342:7;4331:18;;;;;;;;;;;;;;;;;4193:22;;4239:9;;4270:7;;4040:19;;4306:14;;;;;4142:25;;4331:18;;;;;4342:7;4331:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4331:18:0;;;;;;;;;;;;;;;;;;;;;;;4384:15;4374:7;;:25;:57;;4430:1;4374:57;;;4412:15;4402:7;;:25;;;;:::i;:::-;4360:71;;4000:439;;;;;;:::o;5396:177::-;5467:12;239:5;;-1:-1:-1;;;;;239:5:0;225:10;:19;217:28;;;;;;-1:-1:-1;;;;;5492:26:0;::::1;;::::0;;;:17:::1;:26;::::0;;;;:33;;-1:-1:-1;;5492:33:0::1;5521:4;5492:33;::::0;;5536:7:::1;:5;:7::i;:::-;-1:-1:-1::0;5561:4:0::1;256:1;5396:177:::0;;;:::o;6170:87::-;6209:13;6242:7;6235:14;;;;;:::i;7863:216::-;7974:10;7948:4;7995:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;7995:32:0;;;;;;;;;;7948:4;;7965:84;;7986:7;;7995:53;;8032:15;7995:36;:53::i;6688:323::-;6805:11;;6766:4;;-1:-1:-1;;;;;6805:11:0;6791:10;:25;;6783:34;;;;;;-1:-1:-1;;;;;6832:23:0;;6828:154;;6872:25;6878:10;6890:6;6872:5;:25::i;:::-;6828:154;;;6930:40;6940:10;6952:9;6963:6;6930:9;:40::i;5581:162::-;5655:12;239:5;;-1:-1:-1;;;;;239:5:0;225:10;:19;217:28;;;;;;-1:-1:-1;;;;;;5687:26:0::1;;::::0;;;:17:::1;:26;::::0;;;;5680:33;;-1:-1:-1;;5680:33:0::1;::::0;;-1:-1:-1;;5581:162:0:o;497:179::-;555:7;;587:5;591:1;587;:5;:::i;:::-;575:17;;616:1;611;:6;;603:46;;;;-1:-1:-1;;;603:46:0;;4628:2:1;603:46:0;;;4610:21:1;4667:2;4647:18;;;4640:30;4706:29;4686:18;;;4679:57;4753:18;;603:46:0;;;;;;;;;667:1;497:179;-1:-1:-1;;;497:179:0:o;8087:239::-;-1:-1:-1;;;;;8180:19:0;;;;;;:44;;-1:-1:-1;;;;;;8203:21:0;;;;8180:44;8172:53;;;;;;-1:-1:-1;;;;;8236:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:35;;;8287:31;;1582:25:1;;;8287:31:0;;1555:18:1;8287:31:0;;;;;;;;8087:239;;;:::o;8334:2394::-;-1:-1:-1;;;;;8432:17:0;;;;;;:9;:17;;;;;;:27;-1:-1:-1;8432:27:0;8424:63;;;;-1:-1:-1;;;8424:63:0;;4984:2:1;8424:63:0;;;4966:21:1;5023:2;5003:18;;;4996:30;5062:25;5042:18;;;5035:53;5105:18;;8424:63:0;4782:347:1;8424:63:0;-1:-1:-1;;;;;5839:26:0;;5816:4;5839:26;;;:17;:26;;;;;;;;8498:2223;;;8557:6;-1:-1:-1;;;;;8552:20:0;;8565:6;8552:20;;;;1582:25:1;;1570:2;1555:18;;1436:177;8552:20:0;;;;;;;;8605:3;8595:6;:13;;8587:62;;;;-1:-1:-1;;;8587:62:0;;5336:2:1;8587:62:0;;;5318:21:1;5375:2;5355:18;;;5348:30;5414:34;5394:18;;;5387:62;-1:-1:-1;;;5465:18:1;;;5458:34;5509:19;;8587:62:0;5134:400:1;8587:62:0;8664:25;8692:23;8711:3;8692:14;:6;8703:2;8692:10;:14::i;:::-;:18;;:23::i;:::-;8664:51;-1:-1:-1;8730:23:0;8756:22;8774:3;8756:13;:6;8767:1;8756:10;:13::i;:22::-;8730:48;-1:-1:-1;8793:20:0;8816:22;8834:3;8816:13;:6;8827:1;8816:10;:13::i;:22::-;8793:45;;8853:30;8859:6;8867:15;8853:5;:30::i;:::-;8918:47;8940:24;8949:15;8940:6;:24;:::i;:::-;-1:-1:-1;;;;;8918:17:0;;;;;;:9;:17;;;;;;;:21;:47::i;:::-;-1:-1:-1;;;;;8898:17:0;;;;;;;:9;:17;;;;;;:67;;;;9003:20;;;;;;;:43;;9028:17;9003:24;:43::i;:::-;-1:-1:-1;;;;;8980:20:0;;;;;;;:9;:20;;;;;;;:66;;;;9066:46;;;;;;-1:-1:-1;;;;;;;;;;;9066:46:0;;;9094:17;1582:25:1;;1570:2;1555:18;;1436:177;9066:46:0;;;;;;;;9162:11;;-1:-1:-1;;;;;9162:11:0;9152:22;;;;:9;:22;;;;;;:40;;9179:12;9152:26;:40::i;:::-;9137:11;;;-1:-1:-1;;;;;9137:11:0;;;9127:22;;;;:9;:22;;;;;;;;;:65;;;;9229:11;;9212:43;;1582:25:1;;;9229:11:0;;;;9212:43;;;;-1:-1:-1;;;;;;;;;;;9212:43:0;1555:18:1;9212:43:0;;;;;;;9275:14;;;;9274:15;:30;;;;;9303:1;9293:7;;:11;9274:30;:60;;;;;9327:7;;9308:15;:26;;9274:60;9270:120;;;9355:19;:17;:19::i;:::-;8532:869;;;8334:2394;;;:::o;8498:2223::-;-1:-1:-1;;;;;5839:26:0;;5816:4;5839:26;;;:17;:26;;;;;;;;9407:1314;;;9462:9;-1:-1:-1;;;;;9458:22:0;;9473:6;9458:22;;;;1582:25:1;;1570:2;1555:18;;1436:177;9458:22:0;;;;;;;;9495:25;9523:23;9542:3;9523:14;:6;9534:2;9523:10;:14::i;:23::-;9495:51;-1:-1:-1;9561:23:0;9587:22;9605:3;9587:13;:6;9598:1;9587:10;:13::i;:22::-;9561:48;-1:-1:-1;9624:20:0;9647:22;9665:3;9647:13;:6;9658:1;9647:10;:13::i;:22::-;9624:45;;9685:30;9691:6;9699:15;9685:5;:30::i;:::-;9750:47;9772:24;9781:15;9772:6;:24;:::i;9750:47::-;-1:-1:-1;;;;;9730:17:0;;;;;;;:9;:17;;;;;;:67;;;;9835:20;;;;;;;:43;;9860:17;9835:24;:43::i;:::-;-1:-1:-1;;;;;9812:20:0;;;;;;;:9;:20;;;;;;;:66;;;;9898:46;;;;;;-1:-1:-1;;;;;;;;;;;9898:46:0;;;9926:17;1582:25:1;;1570:2;1555:18;;1436:177;9898:46:0;;;;;;;;9994:11;;-1:-1:-1;;;;;9994:11:0;9984:22;;;;:9;:22;;;;;;:40;;10011:12;9984:26;:40::i;:::-;9969:11;;;-1:-1:-1;;;;;9969:11:0;;;9959:22;;;;:9;:22;;;;;;;;;:65;;;;10061:11;;10044:43;;1582:25:1;;;10061:11:0;;;;10044:43;;;;-1:-1:-1;;;;;;;;;;;10044:43:0;1555:18:1;10044:43:0;;;;;;;10116:1;10106:7;;:11;:40;;;;;10139:7;;10121:15;:25;10106:40;10102:401;;;10181:15;10171:6;:25;10167:321;;10221:21;10232:9;10221:10;:21::i;:::-;10287:15;;10275:7;;:28;;:11;:28::i;:::-;10265:7;:38;10359:13;;10339:34;;:15;;:19;:34::i;:::-;10329:7;;:44;10326:143;;;10431:13;;10411:34;;:15;;:19;:34::i;:::-;10401:7;:44;9438:1076;;;8334:2394;;;:::o;9407:1314::-;-1:-1:-1;;;;;10555:17:0;;;;;;:9;:17;;;;;;:29;;10577:6;10555:21;:29::i;:::-;-1:-1:-1;;;;;10535:17:0;;;;;;;:9;:17;;;;;;:49;;;;10622:20;;;;;;;:32;;10647:6;10622:24;:32::i;:::-;-1:-1:-1;;;;;10599:20:0;;;;;;;:9;:20;;;;;;;:55;;;;10674:35;;;;;;-1:-1:-1;;;;;;;;;;;10674:35:0;;;10702:6;1582:25:1;;1570:2;1555:18;;1436:177;684:182:0;742:7;775:1;770;:6;;762:49;;;;-1:-1:-1;;;762:49:0;;5741:2:1;762:49:0;;;5723:21:1;5780:2;5760:18;;;5753:30;5819:32;5799:18;;;5792:60;5869:18;;762:49:0;5539:354:1;762:49:0;822:9;834:5;838:1;834;:5;:::i;:::-;822:17;684:182;-1:-1:-1;;;;684:182:0:o;3271:297::-;3311:7;;:12;;:30;;-1:-1:-1;3327:14:0;;;;3311:30;3308:253;;;3369:15;3357:9;:27;;;3423:13;;3409:28;;3369:15;3409:13;:28::i;:::-;3399:7;:38;3452:14;:22;;-1:-1:-1;;3452:22:0;;;3513:8;;3499:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3499:23:0;-1:-1:-1;3489:33:0;;;;:7;;:33;;;;;;:::i;:::-;-1:-1:-1;3542:7:0;;;;;;;3308:253;3271:297::o;10736:271::-;10818:12;;:23;;10835:5;10818:16;:23::i;:::-;10803:12;:38;10865:10;;:21;;10880:5;10865:14;:21::i;:::-;10852:10;:34;-1:-1:-1;;;;;10918:18:0;;;;;;:9;:18;;;;;;:29;;10941:5;10918:22;:29::i;:::-;-1:-1:-1;;;;;10897:18:0;;;;;;:9;:18;;;;;;:50;;;;10963:36;;-1:-1:-1;;;;;;;;;;;10963:36:0;;;10993:5;1582:25:1;;1570:2;1555:18;;1436:177;10963:36:0;;;;;;;;10736:271;;:::o;874:246::-;932:7;956:6;952:47;;-1:-1:-1;986:1:0;979:8;;952:47;1009:9;1021:5;1025:1;1021;:5;:::i;:::-;1009:17;-1:-1:-1;1054:1:0;1045:5;1049:1;1009:17;1045:5;:::i;:::-;:10;1037:56;;;;-1:-1:-1;;;1037:56:0;;6627:2:1;1037:56:0;;;6609:21:1;6666:2;6646:18;;;6639:30;6705:34;6685:18;;;6678:62;-1:-1:-1;;;6756:18:1;;;6749:31;6797:19;;1037:56:0;6425:397:1;1128:177:0;1186:7;1218:1;1214;:5;1206:44;;;;-1:-1:-1;;;1206:44:0;;7029:2:1;1206:44:0;;;7011:21:1;7068:2;7048:18;;;7041:30;7107:28;7087:18;;;7080:56;7153:18;;1206:44:0;6827:350:1;1206:44:0;1261:9;1273:5;1277:1;1273;:5;:::i;4447:941::-;4514:1;4504:7;;:11;:41;;;;;4538:7;;4519:15;:26;;4504:41;4496:77;;;;-1:-1:-1;;;4496:77:0;;7384:2:1;4496:77:0;;;7366:21:1;7423:2;7403:18;;;7396:30;7462:25;7442:18;;;7435:53;7505:18;;4496:77:0;7182:347:1;4496:77:0;4617:11;;-1:-1:-1;;;;;4617:11:0;4584:20;4607:22;;;:9;:22;;;;;;4657:7;:14;4640:691;4673:5;;4640:691;;4700:17;4720:7;4728:5;4732:1;4728;:5;:::i;:::-;4720:14;;;;;;;;:::i;:::-;;;;;;;;;;;4758:7;:14;-1:-1:-1;;;;;4720:14:0;;;;-1:-1:-1;4753:19:0;;4749:571;;;4803:11;;4793:58;;-1:-1:-1;;;;;4803:11:0;4816:9;4847:3;4827:17;:12;4842:2;4827:17;:::i;:::-;:23;;;;:::i;:::-;4793:9;:58::i;:::-;-1:-1:-1;;;;;4875:52:0;;;4923:3;4903:17;:12;4918:2;4903:17;:::i;:::-;:23;;;;:::i;:::-;4875:52;;1582:25:1;;;1570:2;1555:18;4875:52:0;;;;;;;4749:571;;;4958:7;:14;:18;;4975:1;;4958:18;:::i;:::-;4953:1;:23;4949:371;;;5007:11;;;4997:58;;-1:-1:-1;;;;;5007:11:0;;;;5020:9;;5051:3;;5031:17;;:12;;:17;:::i;4997:58::-;-1:-1:-1;;;;;5079:52:0;;;5127:3;5107:17;:12;5122:2;5107:17;:::i;4949:371::-;5182:11;;5172:57;;-1:-1:-1;;;;;5182:11:0;5195:9;5225:3;5206:16;:12;5221:1;5206:16;:::i;5172:57::-;-1:-1:-1;;;;;5253:51:0;;;5300:3;5281:16;:12;5296:1;5281:16;:::i;:::-;:22;;;;:::i;:::-;5253:51;;1582:25:1;;;1570:2;1555:18;5253:51:0;;;;;;;4949:371;-1:-1:-1;4680:3:0;;;;:::i;:::-;;;;4640:691;;;-1:-1:-1;5341:14:0;:21;;-1:-1:-1;;5341:21:0;5358:4;5341:21;;;5373:7;:5;:7::i;:::-;4485:903;4447:941::o;3576:416::-;3655:8;;3637:7;:14;:26;3633:284;;;3680:30;3738:1;3727:8;;:12;;;;:::i;:::-;3713:27;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3713:27:0;-1:-1:-1;3680:60:0;-1:-1:-1;3772:1:0;3755:113;3779:7;:14;3775:18;;3755:113;;;3842:7;3850:1;3842:10;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;3842:10:0;3819:13;3833:5;3842:10;3833:1;:5;:::i;:::-;3819:20;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3819:33:0;;;:20;;;;;;;;;;;:33;3795:3;;;;:::i;:::-;;;;3755:113;;;-1:-1:-1;3882:23:0;;;;:7;;:23;;;;;:::i;:::-;;3665:252;3633:284;3927:7;:21;;;;;;;-1:-1:-1;3927:21:0;;;;;;;-1:-1:-1;;;;;;3927:21:0;-1:-1:-1;;;;;3927:21:0;;;;;;;;3964:20;;3927:21;;3964:20;;;3576:416;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:597:1;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:173::-;684:20;;-1:-1:-1;;;;;733:31:1;;723:42;;713:70;;779:1;776;769:12;794:254;862:6;870;923:2;911:9;902:7;898:23;894:32;891:52;;;939:1;936;929:12;891:52;962:29;981:9;962:29;:::i;:::-;952:39;1038:2;1023:18;;;;1010:32;;-1:-1:-1;;;794:254:1:o;1245:186::-;1304:6;1357:2;1345:9;1336:7;1332:23;1328:32;1325:52;;;1373:1;1370;1363:12;1325:52;1396:29;1415:9;1396:29;:::i;1618:328::-;1695:6;1703;1711;1764:2;1752:9;1743:7;1739:23;1735:32;1732:52;;;1780:1;1777;1770:12;1732:52;1803:29;1822:9;1803:29;:::i;:::-;1793:39;;1851:38;1885:2;1874:9;1870:18;1851:38;:::i;:::-;1841:48;;1936:2;1925:9;1921:18;1908:32;1898:42;;1618:328;;;;;:::o;2140:1028::-;2416:4;2464:3;2453:9;2449:19;2495:6;2484:9;2477:25;2521:2;2559:6;2554:2;2543:9;2539:18;2532:34;2602:6;2597:2;2586:9;2582:18;2575:34;2645:6;2640:2;2629:9;2625:18;2618:34;2703:6;2696:14;2689:22;2683:3;2672:9;2668:19;2661:51;2749:3;2743;2732:9;2728:19;2721:32;2773:6;2808;2802:13;2839:6;2831;2824:22;2877:3;2866:9;2862:19;2855:26;;2916:2;2908:6;2904:15;2890:29;;2937:1;2947:195;2961:6;2958:1;2955:13;2947:195;;;3026:13;;-1:-1:-1;;;;;3022:39:1;3010:52;;3117:15;;;;3082:12;;;;3058:1;2976:9;2947:195;;;-1:-1:-1;3159:3:1;;2140:1028;-1:-1:-1;;;;;;;;;;;2140:1028:1:o;3381:260::-;3449:6;3457;3510:2;3498:9;3489:7;3485:23;3481:32;3478:52;;;3526:1;3523;3516:12;3478:52;3549:29;3568:9;3549:29;:::i;:::-;3539:39;;3597:38;3631:2;3620:9;3616:18;3597:38;:::i;:::-;3587:48;;3381:260;;;;;:::o;3646:380::-;3725:1;3721:12;;;;3768;;;3789:61;;3843:4;3835:6;3831:17;3821:27;;3789:61;3896:2;3888:6;3885:14;3865:18;3862:38;3859:161;;;3942:10;3937:3;3933:20;3930:1;3923:31;3977:4;3974:1;3967:15;4005:4;4002:1;3995:15;3859:161;;3646:380;;;:::o;4031:127::-;4092:10;4087:3;4083:20;4080:1;4073:31;4123:4;4120:1;4113:15;4147:4;4144:1;4137:15;4163:125;4203:4;4231:1;4228;4225:8;4222:34;;;4236:18;;:::i;:::-;-1:-1:-1;4273:9:1;;4163:125::o;4293:128::-;4333:3;4364:1;4360:6;4357:1;4354:13;4351:39;;;4370:18;;:::i;:::-;-1:-1:-1;4406:9:1;;4293:128::o;5898:127::-;5959:10;5954:3;5950:20;5947:1;5940:31;5990:4;5987:1;5980:15;6014:4;6011:1;6004:15;6030:168;6070:7;6136:1;6132;6128:6;6124:14;6121:1;6118:21;6113:1;6106:9;6099:17;6095:45;6092:71;;;6143:18;;:::i;:::-;-1:-1:-1;6183:9:1;;6030:168::o;6203:217::-;6243:1;6269;6259:132;;6313:10;6308:3;6304:20;6301:1;6294:31;6348:4;6345:1;6338:15;6376:4;6373:1;6366:15;6259:132;-1:-1:-1;6405:9:1;;6203:217::o;7534:127::-;7595:10;7590:3;7586:20;7583:1;7576:31;7626:4;7623:1;7616:15;7650:4;7647:1;7640:15;7666:136;7705:3;7733:5;7723:39;;7742:18;;:::i;:::-;-1:-1:-1;;;7778:18:1;;7666:136::o;7807:135::-;7846:3;-1:-1:-1;;7867:17:1;;7864:43;;;7887:18;;:::i;:::-;-1:-1:-1;7934:1:1;7923:13;;7807:135::o

Swarm Source

ipfs://6e4007902c4a0139a999a60662229730a02bfc78b3a3e38fdd9ac71e553e793d
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.