APE Price: $1.04 (-12.02%)

Token

MACACO (MACACO)

Overview

Max Total Supply

100,000,000 MACACO

Holders

66

Market

Price

$0.00 @ 0.000000 APE

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
557,627.724139900890969897 MACACO

Value
$0.00
0x57c39f5496a33C1EaE579310142620a34936C35d
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
MACACO

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at apescan.io on 2024-10-29
*/

// República dos Macacos - A Primeira Criptomoeda Oficial do Brasil na Apechain

// Um projeto 100% BR que traz aquela zoeira raiz pro mundo cripto! 🐒 💸
// É meme coin, é comunidade, é selva! é Brasil!

// Aqui, o espírito é de macaco pra macaco, com muita parceria e humor no sangue. 
// Se você curte zoeira com um toque de brasilidade e uma pitada de caos, é só chegar. 
// MACACO VÊ MACACO FAZ - HUEHUEHUE BRRRRRR BRR BRR #BrazilianCore 🐵 🇧🇷

// SPDX-License-Identifier: MIT

pragma solidity 0.8.18;

contract MACACO {
    string public name = "MACACO";
    string public symbol = "MACACO";
    uint256 public totalSupply = 100000000000000000000000000;
    uint8 public decimals = 18;
    
    address public owner;
    address public constant teamWallet = 0x38960Dd14D797e010B3038Ad18EBa4c6811455fc;

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;

    constructor() {
        owner = msg.sender;
        balanceOf[msg.sender] = totalSupply;
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "Caller is not the owner");
        _;
    }

    function transfer(address _to, uint256 _value) public returns (bool success) {
        require(balanceOf[msg.sender] >= _value, "Insufficient balance");

        uint256 burnAmount = _value / 100; // 1% burn
        uint256 transferAmount = _value - burnAmount;

        balanceOf[msg.sender] -= _value;
        balanceOf[_to] += transferAmount;
        balanceOf[address(0x000000000000000000000000000000000000dEaD)] += burnAmount;
        
        emit Transfer(msg.sender, _to, transferAmount);
        emit Transfer(msg.sender, address(0x000000000000000000000000000000000000dEaD), burnAmount);

        uint256 bnbToTeam = (7 * address(this).balance) / 100;
        payable(teamWallet).transfer(bnbToTeam);

        return true;
    }
    
    function approve(address _spender, uint256 _value) public returns (bool success) {
        allowance[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(_value <= balanceOf[_from], "Insufficient balance");
        require(_value <= allowance[_from][msg.sender], "Allowance exceeded");

        uint256 burnAmount = _value / 100; // 1% burn
        uint256 transferAmount = _value - burnAmount;

        balanceOf[_from] -= _value;
        balanceOf[_to] += transferAmount;
        balanceOf[address(0x000000000000000000000000000000000000dEaD)] += burnAmount;
        allowance[_from][msg.sender] -= _value;

        emit Transfer(_from, _to, transferAmount);
        emit Transfer(_from, address(0x000000000000000000000000000000000000dEaD), burnAmount);

        uint256 bnbToTeam = (7 * address(this).balance) / 100;
        payable(teamWallet).transfer(bnbToTeam);

        return true;
    }

    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(owner, address(0x000000000000000000000000000000000000dEaD));
        owner = address(0x000000000000000000000000000000000000dEaD);
    }
    
    receive() external payable {}
}

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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","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":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","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":[],"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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040518060400160405280600681526020017f4d414341434f0000000000000000000000000000000000000000000000000000815250600090816200004a9190620003d2565b506040518060400160405280600681526020017f4d414341434f000000000000000000000000000000000000000000000000000081525060019081620000919190620003d2565b506a52b7d2dcc80cd2e40000006002556012600360006101000a81548160ff021916908360ff160217905550348015620000ca57600080fd5b5033600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600254600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620004b9565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620001da57607f821691505b602082108103620001f057620001ef62000192565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200025a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200021b565b6200026686836200021b565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620002b3620002ad620002a7846200027e565b62000288565b6200027e565b9050919050565b6000819050919050565b620002cf8362000292565b620002e7620002de82620002ba565b84845462000228565b825550505050565b600090565b620002fe620002ef565b6200030b818484620002c4565b505050565b5b81811015620003335762000327600082620002f4565b60018101905062000311565b5050565b601f82111562000382576200034c81620001f6565b62000357846200020b565b8101602085101562000367578190505b6200037f62000376856200020b565b83018262000310565b50505b505050565b600082821c905092915050565b6000620003a76000198460080262000387565b1980831691505092915050565b6000620003c2838362000394565b9150826002028217905092915050565b620003dd8262000158565b67ffffffffffffffff811115620003f957620003f862000163565b5b620004058254620001c1565b6200041282828562000337565b600060209050601f8311600181146200044a576000841562000435578287015190505b620004418582620003b4565b865550620004b1565b601f1984166200045a86620001f6565b60005b8281101562000484578489015182556001820191506020850194506020810190506200045d565b86831015620004a45784890151620004a0601f89168262000394565b8355505b6001600288020188555050505b505050505050565b61145c80620004c96000396000f3fe6080604052600436106100ab5760003560e01c806370a082311161006457806370a08231146101dd578063715018a61461021a5780638da5cb5b1461023157806395d89b411461025c578063a9059cbb14610287578063dd62ed3e146102c4576100b2565b806306fdde03146100b7578063095ea7b3146100e257806318160ddd1461011f57806323b872dd1461014a578063313ce5671461018757806359927044146101b2576100b2565b366100b257005b600080fd5b3480156100c357600080fd5b506100cc610301565b6040516100d99190610ecd565b60405180910390f35b3480156100ee57600080fd5b5061010960048036038101906101049190610f88565b61038f565b6040516101169190610fe3565b60405180910390f35b34801561012b57600080fd5b50610134610481565b604051610141919061100d565b60405180910390f35b34801561015657600080fd5b50610171600480360381019061016c9190611028565b610487565b60405161017e9190610fe3565b60405180910390f35b34801561019357600080fd5b5061019c6108d4565b6040516101a99190611097565b60405180910390f35b3480156101be57600080fd5b506101c76108e7565b6040516101d491906110c1565b60405180910390f35b3480156101e957600080fd5b5061020460048036038101906101ff91906110dc565b6108ff565b604051610211919061100d565b60405180910390f35b34801561022657600080fd5b5061022f610917565b005b34801561023d57600080fd5b50610246610a6a565b60405161025391906110c1565b60405180910390f35b34801561026857600080fd5b50610271610a90565b60405161027e9190610ecd565b60405180910390f35b34801561029357600080fd5b506102ae60048036038101906102a99190610f88565b610b1e565b6040516102bb9190610fe3565b60405180910390f35b3480156102d057600080fd5b506102eb60048036038101906102e69190611109565b610e18565b6040516102f8919061100d565b60405180910390f35b6000805461030e90611178565b80601f016020809104026020016040519081016040528092919081815260200182805461033a90611178565b80156103875780601f1061035c57610100808354040283529160200191610387565b820191906000526020600020905b81548152906001019060200180831161036a57829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161046f919061100d565b60405180910390a36001905092915050565b60025481565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561050b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610502906111f5565b60405180910390fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156105ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c190611261565b60405180910390fd5b60006064836105d991906112df565b9050600081846105e99190611310565b905083600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461063a9190611310565b9250508190555080600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106909190611344565b92505081905550816004600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106e89190611344565b9250508190555083600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461077b9190611310565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107df919061100d565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610846919061100d565b60405180910390a36000606447600761085f9190611378565b61086991906112df565b90507338960dd14d797e010b3038ad18eba4c6811455fc73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156108c5573d6000803e3d6000fd5b50600193505050509392505050565b600360009054906101000a900460ff1681565b7338960dd14d797e010b3038ad18eba4c6811455fc81565b60046020528060005260406000206000915090505481565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099e90611406565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054610a9d90611178565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac990611178565b8015610b165780601f10610aeb57610100808354040283529160200191610b16565b820191906000526020600020905b815481529060010190602001808311610af957829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610ba2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b99906111f5565b60405180910390fd5b6000606483610bb191906112df565b905060008184610bc19190611310565b905083600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c129190611310565b9250508190555080600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c689190611344565b92505081905550816004600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610cc09190611344565b925050819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d24919061100d565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d8b919061100d565b60405180910390a360006064476007610da49190611378565b610dae91906112df565b90507338960dd14d797e010b3038ad18eba4c6811455fc73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610e0a573d6000803e3d6000fd5b506001935050505092915050565b6005602052816000526040600020602052806000526040600020600091509150505481565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e77578082015181840152602081019050610e5c565b60008484015250505050565b6000601f19601f8301169050919050565b6000610e9f82610e3d565b610ea98185610e48565b9350610eb9818560208601610e59565b610ec281610e83565b840191505092915050565b60006020820190508181036000830152610ee78184610e94565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f1f82610ef4565b9050919050565b610f2f81610f14565b8114610f3a57600080fd5b50565b600081359050610f4c81610f26565b92915050565b6000819050919050565b610f6581610f52565b8114610f7057600080fd5b50565b600081359050610f8281610f5c565b92915050565b60008060408385031215610f9f57610f9e610eef565b5b6000610fad85828601610f3d565b9250506020610fbe85828601610f73565b9150509250929050565b60008115159050919050565b610fdd81610fc8565b82525050565b6000602082019050610ff86000830184610fd4565b92915050565b61100781610f52565b82525050565b60006020820190506110226000830184610ffe565b92915050565b60008060006060848603121561104157611040610eef565b5b600061104f86828701610f3d565b935050602061106086828701610f3d565b925050604061107186828701610f73565b9150509250925092565b600060ff82169050919050565b6110918161107b565b82525050565b60006020820190506110ac6000830184611088565b92915050565b6110bb81610f14565b82525050565b60006020820190506110d660008301846110b2565b92915050565b6000602082840312156110f2576110f1610eef565b5b600061110084828501610f3d565b91505092915050565b600080604083850312156111205761111f610eef565b5b600061112e85828601610f3d565b925050602061113f85828601610f3d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061119057607f821691505b6020821081036111a3576111a2611149565b5b50919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b60006111df601483610e48565b91506111ea826111a9565b602082019050919050565b6000602082019050818103600083015261120e816111d2565b9050919050565b7f416c6c6f77616e63652065786365656465640000000000000000000000000000600082015250565b600061124b601283610e48565b915061125682611215565b602082019050919050565b6000602082019050818103600083015261127a8161123e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006112ea82610f52565b91506112f583610f52565b92508261130557611304611281565b5b828204905092915050565b600061131b82610f52565b915061132683610f52565b925082820390508181111561133e5761133d6112b0565b5b92915050565b600061134f82610f52565b915061135a83610f52565b9250828201905080821115611372576113716112b0565b5b92915050565b600061138382610f52565b915061138e83610f52565b925082820261139c81610f52565b915082820484148315176113b3576113b26112b0565b5b5092915050565b7f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b60006113f0601783610e48565b91506113fb826113ba565b602082019050919050565b6000602082019050818103600083015261141f816113e3565b905091905056fea2646970667358221220309b191614f64f1feca021e7702463257807b82e3f5c19ed4a6d2c0a4c659f4164736f6c63430008120033

Deployed Bytecode

0x6080604052600436106100ab5760003560e01c806370a082311161006457806370a08231146101dd578063715018a61461021a5780638da5cb5b1461023157806395d89b411461025c578063a9059cbb14610287578063dd62ed3e146102c4576100b2565b806306fdde03146100b7578063095ea7b3146100e257806318160ddd1461011f57806323b872dd1461014a578063313ce5671461018757806359927044146101b2576100b2565b366100b257005b600080fd5b3480156100c357600080fd5b506100cc610301565b6040516100d99190610ecd565b60405180910390f35b3480156100ee57600080fd5b5061010960048036038101906101049190610f88565b61038f565b6040516101169190610fe3565b60405180910390f35b34801561012b57600080fd5b50610134610481565b604051610141919061100d565b60405180910390f35b34801561015657600080fd5b50610171600480360381019061016c9190611028565b610487565b60405161017e9190610fe3565b60405180910390f35b34801561019357600080fd5b5061019c6108d4565b6040516101a99190611097565b60405180910390f35b3480156101be57600080fd5b506101c76108e7565b6040516101d491906110c1565b60405180910390f35b3480156101e957600080fd5b5061020460048036038101906101ff91906110dc565b6108ff565b604051610211919061100d565b60405180910390f35b34801561022657600080fd5b5061022f610917565b005b34801561023d57600080fd5b50610246610a6a565b60405161025391906110c1565b60405180910390f35b34801561026857600080fd5b50610271610a90565b60405161027e9190610ecd565b60405180910390f35b34801561029357600080fd5b506102ae60048036038101906102a99190610f88565b610b1e565b6040516102bb9190610fe3565b60405180910390f35b3480156102d057600080fd5b506102eb60048036038101906102e69190611109565b610e18565b6040516102f8919061100d565b60405180910390f35b6000805461030e90611178565b80601f016020809104026020016040519081016040528092919081815260200182805461033a90611178565b80156103875780601f1061035c57610100808354040283529160200191610387565b820191906000526020600020905b81548152906001019060200180831161036a57829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161046f919061100d565b60405180910390a36001905092915050565b60025481565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561050b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610502906111f5565b60405180910390fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156105ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105c190611261565b60405180910390fd5b60006064836105d991906112df565b9050600081846105e99190611310565b905083600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461063a9190611310565b9250508190555080600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106909190611344565b92505081905550816004600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106e89190611344565b9250508190555083600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461077b9190611310565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107df919061100d565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610846919061100d565b60405180910390a36000606447600761085f9190611378565b61086991906112df565b90507338960dd14d797e010b3038ad18eba4c6811455fc73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156108c5573d6000803e3d6000fd5b50600193505050509392505050565b600360009054906101000a900460ff1681565b7338960dd14d797e010b3038ad18eba4c6811455fc81565b60046020528060005260406000206000915090505481565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099e90611406565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff16600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054610a9d90611178565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac990611178565b8015610b165780601f10610aeb57610100808354040283529160200191610b16565b820191906000526020600020905b815481529060010190602001808311610af957829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610ba2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b99906111f5565b60405180910390fd5b6000606483610bb191906112df565b905060008184610bc19190611310565b905083600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c129190611310565b9250508190555080600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c689190611344565b92505081905550816004600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610cc09190611344565b925050819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d24919061100d565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d8b919061100d565b60405180910390a360006064476007610da49190611378565b610dae91906112df565b90507338960dd14d797e010b3038ad18eba4c6811455fc73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610e0a573d6000803e3d6000fd5b506001935050505092915050565b6005602052816000526040600020602052806000526040600020600091509150505481565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e77578082015181840152602081019050610e5c565b60008484015250505050565b6000601f19601f8301169050919050565b6000610e9f82610e3d565b610ea98185610e48565b9350610eb9818560208601610e59565b610ec281610e83565b840191505092915050565b60006020820190508181036000830152610ee78184610e94565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f1f82610ef4565b9050919050565b610f2f81610f14565b8114610f3a57600080fd5b50565b600081359050610f4c81610f26565b92915050565b6000819050919050565b610f6581610f52565b8114610f7057600080fd5b50565b600081359050610f8281610f5c565b92915050565b60008060408385031215610f9f57610f9e610eef565b5b6000610fad85828601610f3d565b9250506020610fbe85828601610f73565b9150509250929050565b60008115159050919050565b610fdd81610fc8565b82525050565b6000602082019050610ff86000830184610fd4565b92915050565b61100781610f52565b82525050565b60006020820190506110226000830184610ffe565b92915050565b60008060006060848603121561104157611040610eef565b5b600061104f86828701610f3d565b935050602061106086828701610f3d565b925050604061107186828701610f73565b9150509250925092565b600060ff82169050919050565b6110918161107b565b82525050565b60006020820190506110ac6000830184611088565b92915050565b6110bb81610f14565b82525050565b60006020820190506110d660008301846110b2565b92915050565b6000602082840312156110f2576110f1610eef565b5b600061110084828501610f3d565b91505092915050565b600080604083850312156111205761111f610eef565b5b600061112e85828601610f3d565b925050602061113f85828601610f3d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061119057607f821691505b6020821081036111a3576111a2611149565b5b50919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b60006111df601483610e48565b91506111ea826111a9565b602082019050919050565b6000602082019050818103600083015261120e816111d2565b9050919050565b7f416c6c6f77616e63652065786365656465640000000000000000000000000000600082015250565b600061124b601283610e48565b915061125682611215565b602082019050919050565b6000602082019050818103600083015261127a8161123e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006112ea82610f52565b91506112f583610f52565b92508261130557611304611281565b5b828204905092915050565b600061131b82610f52565b915061132683610f52565b925082820390508181111561133e5761133d6112b0565b5b92915050565b600061134f82610f52565b915061135a83610f52565b9250828201905080821115611372576113716112b0565b5b92915050565b600061138382610f52565b915061138e83610f52565b925082820261139c81610f52565b915082820484148315176113b3576113b26112b0565b5b5092915050565b7f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000600082015250565b60006113f0601783610e48565b91506113fb826113ba565b602082019050919050565b6000602082019050818103600083015261141f816113e3565b905091905056fea2646970667358221220309b191614f64f1feca021e7702463257807b82e3f5c19ed4a6d2c0a4c659f4164736f6c63430008120033

Deployed Bytecode Sourcemap

544:3054:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;567:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2228:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;641:56;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2452:874;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;704:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;770:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1118:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3334:220;;;;;;;;;;;;;:::i;:::-;;743:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;603:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1462:754;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1169:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;567:29;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2228:216::-;2295:12;2354:6;2320:9;:21;2330:10;2320:21;;;;;;;;;;;;;;;:31;2342:8;2320:31;;;;;;;;;;;;;;;:40;;;;2397:8;2376:38;;2385:10;2376:38;;;2407:6;2376:38;;;;;;:::i;:::-;;;;;;;;2432:4;2425:11;;2228:216;;;;:::o;641:56::-;;;;:::o;2452:874::-;2534:12;2577:9;:16;2587:5;2577:16;;;;;;;;;;;;;;;;2567:6;:26;;2559:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;2647:9;:16;2657:5;2647:16;;;;;;;;;;;;;;;:28;2664:10;2647:28;;;;;;;;;;;;;;;;2637:6;:38;;2629:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;2711:18;2741:3;2732:6;:12;;;;:::i;:::-;2711:33;;2766:22;2800:10;2791:6;:19;;;;:::i;:::-;2766:44;;2843:6;2823:9;:16;2833:5;2823:16;;;;;;;;;;;;;;;;:26;;;;;;;:::i;:::-;;;;;;;;2878:14;2860:9;:14;2870:3;2860:14;;;;;;;;;;;;;;;;:32;;;;;;;:::i;:::-;;;;;;;;2969:10;2903:9;:62;2921:42;2903:62;;;;;;;;;;;;;;;;:76;;;;;;;:::i;:::-;;;;;;;;3022:6;2990:9;:16;3000:5;2990:16;;;;;;;;;;;;;;;:28;3007:10;2990:28;;;;;;;;;;;;;;;;:38;;;;;;;:::i;:::-;;;;;;;;3062:3;3046:36;;3055:5;3046:36;;;3067:14;3046:36;;;;;;:::i;:::-;;;;;;;;3122:42;3098:80;;3107:5;3098:80;;;3167:10;3098:80;;;;;;:::i;:::-;;;;;;;;3191:17;3241:3;3216:21;3212:1;:25;;;;:::i;:::-;3211:33;;;;:::i;:::-;3191:53;;807:42;3255:28;;:39;3284:9;3255:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3314:4;3307:11;;;;;2452:874;;;;;:::o;704:26::-;;;;;;;;;;;;;:::o;770:79::-;807:42;770:79;:::o;1118:44::-;;;;;;;;;;;;;;;;;:::o;3334:220::-;1401:5;;;;;;;;;;;1387:19;;:10;:19;;;1379:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;3432:42:::1;3396:80;;3417:5;;;;;;;;;;;3396:80;;;;;;;;;;;;3503:42;3487:5;;:59;;;;;;;;;;;;;;;;;;3334:220::o:0;743:20::-;;;;;;;;;;;;;:::o;603:31::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1462:754::-;1525:12;1583:6;1558:9;:21;1568:10;1558:21;;;;;;;;;;;;;;;;:31;;1550:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;1627:18;1657:3;1648:6;:12;;;;:::i;:::-;1627:33;;1682:22;1716:10;1707:6;:19;;;;:::i;:::-;1682:44;;1764:6;1739:9;:21;1749:10;1739:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;1799:14;1781:9;:14;1791:3;1781:14;;;;;;;;;;;;;;;;:32;;;;;;;:::i;:::-;;;;;;;;1890:10;1824:9;:62;1842:42;1824:62;;;;;;;;;;;;;;;;:76;;;;;;;:::i;:::-;;;;;;;;1947:3;1926:41;;1935:10;1926:41;;;1952:14;1926:41;;;;;;:::i;:::-;;;;;;;;2012:42;1983:85;;1992:10;1983:85;;;2057:10;1983:85;;;;;;:::i;:::-;;;;;;;;2081:17;2131:3;2106:21;2102:1;:25;;;;:::i;:::-;2101:33;;;;:::i;:::-;2081:53;;807:42;2145:28;;:39;2174:9;2145:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2204:4;2197:11;;;;;1462:754;;;;:::o;1169:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:118::-;4940:24;4958:5;4940:24;:::i;:::-;4935:3;4928:37;4853:118;;:::o;4977:222::-;5070:4;5108:2;5097:9;5093:18;5085:26;;5121:71;5189:1;5178:9;5174:17;5165:6;5121:71;:::i;:::-;4977:222;;;;:::o;5205:329::-;5264:6;5313:2;5301:9;5292:7;5288:23;5284:32;5281:119;;;5319:79;;:::i;:::-;5281:119;5439:1;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5410:117;5205:329;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:180::-;6068:77;6065:1;6058:88;6165:4;6162:1;6155:15;6189:4;6186:1;6179:15;6206:320;6250:6;6287:1;6281:4;6277:12;6267:22;;6334:1;6328:4;6324:12;6355:18;6345:81;;6411:4;6403:6;6399:17;6389:27;;6345:81;6473:2;6465:6;6462:14;6442:18;6439:38;6436:84;;6492:18;;:::i;:::-;6436:84;6257:269;6206:320;;;:::o;6532:170::-;6672:22;6668:1;6660:6;6656:14;6649:46;6532:170;:::o;6708:366::-;6850:3;6871:67;6935:2;6930:3;6871:67;:::i;:::-;6864:74;;6947:93;7036:3;6947:93;:::i;:::-;7065:2;7060:3;7056:12;7049:19;;6708:366;;;:::o;7080:419::-;7246:4;7284:2;7273:9;7269:18;7261:26;;7333:9;7327:4;7323:20;7319:1;7308:9;7304:17;7297:47;7361:131;7487:4;7361:131;:::i;:::-;7353:139;;7080:419;;;:::o;7505:168::-;7645:20;7641:1;7633:6;7629:14;7622:44;7505:168;:::o;7679:366::-;7821:3;7842:67;7906:2;7901:3;7842:67;:::i;:::-;7835:74;;7918:93;8007:3;7918:93;:::i;:::-;8036:2;8031:3;8027:12;8020:19;;7679:366;;;:::o;8051:419::-;8217:4;8255:2;8244:9;8240:18;8232:26;;8304:9;8298:4;8294:20;8290:1;8279:9;8275:17;8268:47;8332:131;8458:4;8332:131;:::i;:::-;8324:139;;8051:419;;;:::o;8476:180::-;8524:77;8521:1;8514:88;8621:4;8618:1;8611:15;8645:4;8642:1;8635:15;8662:180;8710:77;8707:1;8700:88;8807:4;8804:1;8797:15;8831:4;8828:1;8821:15;8848:185;8888:1;8905:20;8923:1;8905:20;:::i;:::-;8900:25;;8939:20;8957:1;8939:20;:::i;:::-;8934:25;;8978:1;8968:35;;8983:18;;:::i;:::-;8968:35;9025:1;9022;9018:9;9013:14;;8848:185;;;;:::o;9039:194::-;9079:4;9099:20;9117:1;9099:20;:::i;:::-;9094:25;;9133:20;9151:1;9133:20;:::i;:::-;9128:25;;9177:1;9174;9170:9;9162:17;;9201:1;9195:4;9192:11;9189:37;;;9206:18;;:::i;:::-;9189:37;9039:194;;;;:::o;9239:191::-;9279:3;9298:20;9316:1;9298:20;:::i;:::-;9293:25;;9332:20;9350:1;9332:20;:::i;:::-;9327:25;;9375:1;9372;9368:9;9361:16;;9396:3;9393:1;9390:10;9387:36;;;9403:18;;:::i;:::-;9387:36;9239:191;;;;:::o;9436:410::-;9476:7;9499:20;9517:1;9499:20;:::i;:::-;9494:25;;9533:20;9551:1;9533:20;:::i;:::-;9528:25;;9588:1;9585;9581:9;9610:30;9628:11;9610:30;:::i;:::-;9599:41;;9789:1;9780:7;9776:15;9773:1;9770:22;9750:1;9743:9;9723:83;9700:139;;9819:18;;:::i;:::-;9700:139;9484:362;9436:410;;;;:::o;9852:173::-;9992:25;9988:1;9980:6;9976:14;9969:49;9852:173;:::o;10031:366::-;10173:3;10194:67;10258:2;10253:3;10194:67;:::i;:::-;10187:74;;10270:93;10359:3;10270:93;:::i;:::-;10388:2;10383:3;10379:12;10372:19;;10031:366;;;:::o;10403:419::-;10569:4;10607:2;10596:9;10592:18;10584:26;;10656:9;10650:4;10646:20;10642:1;10631:9;10627:17;10620:47;10684:131;10810:4;10684:131;:::i;:::-;10676:139;;10403:419;;;:::o

Swarm Source

ipfs://309b191614f64f1feca021e7702463257807b82e3f5c19ed4a6d2c0a4c659f41
[ 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.