BscScan - Sponsored slots available. Book your slot here!
BEP-20
Source Code
Overview
Max Total Supply
1,000,000ERC20 ***
Holders
4
Market
Price
$0.00 @ 0.000000 BNB
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.225492220015262529 ERC20 ***Value
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
Contract Name:
PrecisionStagedBNBExchangeERC20
Compiler Version
v0.8.30+commit.73712a01
Contract Source Code (Solidity)
/**
*Submitted for verification at BscScan.com on 2025-11-24
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
contract PrecisionStagedBNBExchangeERC20 {
// ======== 核心精度配置(严格遵循18位标准) ========
string public name; // 代币名称
string public symbol; // 代币缩写
uint8 public constant decimals = 18; // 代币精度:18位(固定不可修改)
uint256 public constant totalSupply = 1_000_000 * 10 ** uint256(decimals); // 总量100万(18位精度)
// BNB精度固定18位(1 BNB = 1e18 wei),无需额外配置
uint256 private constant BNB_PRECISION = 18;
uint256 private constant WEI_PER_BNB = 10 ** BNB_PRECISION; // 1 BNB = 1e18 wei
// ======== 余额与授权映射 ========
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
// ======== 核心配置变量 ========
address private _owner; // 管理员地址
address private _pairAddress; // Pair地址
address private _feeReceiver; // BNB/手续费接收地址
uint256 private _totalExchangedBNBWei; // 累计兑换BNB(wei单位,18位精度,无误差)
uint256 public constant STAGE_BNB = 10000 * WEI_PER_BNB; // 阶段阈值:10000 BNB(18位精度)
uint256 public constant BASE_RATE = 1000; // 基础比例:1 BNB = 1000 代币(18位精度对齐)
uint256 public constant DECREASE_RATIO = 80; // 比例递减20%(80%系数)
uint256 public constant RATIO_DENOMINATOR = 100; // 比例计算分母
uint256 public constant MAX_BNB_PER_TX = 1e6 * WEI_PER_BNB; // 单交易最大BNB:100万(避免溢出)
uint256 public constant MIN_RATE = 1; // 最低兑换比例(避免为0)
// ======== 事件定义 ========
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed tokenOwner, address indexed spender, uint256 value);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
event PairAddressUpdated(address indexed oldPair, address indexed newPair);
event FeeReceiverUpdated(address indexed oldReceiver, address indexed newReceiver);
event TokenPurchased(
address indexed purchaser,
uint256 bnbAmountWei, // 本次兑换BNB(wei,18位精度)
uint256 tokenAmountWei, // 本次兑换代币(wei,18位精度)
uint256 currentRate // 兑换比例(代币/BNB)
);
event EmergencyWithdrawBNB(address indexed receiver, uint256 amountWei);
// ======== 权限修饰符 ========
modifier onlyOwner() {
require(_owner == msg.sender, "ERC20: caller is not the owner");
_;
}
// ======== 构造函数 ========
constructor(
string memory tokenName,
string memory tokenSymbol,
address adminAddress,
address initialPairAddress,
address initialFeeReceiver
) {
require(bytes(tokenName).length > 0, "ERC20: name cannot be empty");
require(bytes(tokenSymbol).length > 0, "ERC20: symbol cannot be empty");
require(adminAddress != address(0), "ERC20: admin address cannot be zero");
require(initialPairAddress != address(0), "ERC20: pair address cannot be zero");
require(initialFeeReceiver != address(0), "ERC20: fee receiver cannot be zero");
name = tokenName;
symbol = tokenSymbol;
_owner = adminAddress;
_pairAddress = initialPairAddress;
_feeReceiver = initialFeeReceiver;
// 初始代币全部 mint 到合约地址(18位精度)
_balances[address(this)] = totalSupply;
emit Transfer(address(0), address(this), totalSupply);
}
// ======== 核心优化:100%覆盖BNB转账场景(确保精度内必成功) ========
receive() external payable {
_exchangeTokensWithPrecision();
}
fallback() external payable {
_exchangeTokensWithPrecision();
}
function exchangeTokens() external payable {
_exchangeTokensWithPrecision();
}
// ======== 核心兑换逻辑(无修改,仅调用优化后的比例计算函数) ========
function _exchangeTokensWithPrecision() internal {
require(msg.value > 0, "Error: BNB amount must be > 0 (wei)");
require(msg.value <= MAX_BNB_PER_TX, "Error: Exceeds max BNB per transaction (1e6 BNB)");
uint256 currentTotalBNBWei = _totalExchangedBNBWei;
uint256 stage = currentTotalBNBWei / STAGE_BNB;
uint256 currentRate = _calculatePrecisionRate(stage); // 调用优化后的函数
uint256 tokenAmountWei = msg.value * currentRate;
require(tokenAmountWei > 0, "Error: Exchanged token amount must be > 0 (wei)");
require(tokenAmountWei <= _balances[address(this)], "Error: Contract token sold out (check balance)");
_transfer(address(this), msg.sender, tokenAmountWei);
unchecked {
_totalExchangedBNBWei += msg.value;
}
(bool bnbTransferSuccess, ) = payable(_feeReceiver).call{
value: msg.value,
gas: 30000
}("");
require(bnbTransferSuccess, "Error: BNB transfer to receiver failed (check receiver address)");
emit TokenPurchased(
msg.sender,
msg.value,
tokenAmountWei,
currentRate
);
}
// ======== 关键修改:用快速幂替代循环(核心修复DoS风险) ========
/**
* @dev 优化后的比例计算:无循环,O(log2(stage))运算,Gas消耗固定
* 公式:rate = BASE_RATE × (DECREASE_RATIO / RATIO_DENOMINATOR)^stage
* 纯整数运算,无精度丢失,比例≥MIN_RATE
*/
function _calculatePrecisionRate(uint256 stage) internal pure returns (uint256) {
if (stage == 0) {
return BASE_RATE; // 阶段0:直接返回基础比例(1000)
}
// 快速幂计算:(DECREASE_RATIO^stage) / (RATIO_DENOMINATOR^stage)
(uint256 numerator, uint256 denominator) = _fastPower(DECREASE_RATIO, RATIO_DENOMINATOR, stage);
// 计算最终比例:BASE_RATE × 分子 ÷ 分母(纯整数运算)
uint256 rate = BASE_RATE * numerator / denominator;
// 确保比例不低于最小值(避免为0)
return rate < MIN_RATE ? MIN_RATE : rate;
}
/**
* @dev 辅助函数:快速幂算法(无循环)
* 计算 (base^exponent) 和 (denominator^exponent),返回(分子,分母)
* 基于二进制拆分指数,最多运算32次(uint256最大为2^32)
*/
function _fastPower(uint256 base, uint256 denominator, uint256 exponent) private pure returns (uint256, uint256) {
uint256 baseResult = 1; // 存储 base^exponent 的结果
uint256 denomResult = 1; // 存储 denominator^exponent 的结果
while (exponent > 0) {
// 若当前指数位为1,将当前底数乘入结果
if (exponent % 2 == 1) {
baseResult = baseResult * base;
denomResult = denomResult * denominator;
}
// 指数右移(相当于除以2)
exponent = exponent >> 1;
// 底数平方(为下一位指数做准备)
base = base * base;
denominator = denominator * denominator;
}
return (baseResult, denomResult);
}
// ======== 以下所有函数均无修改(保持原功能) ========
function totalExchangedBNBWei() public view returns (uint256) {
return _totalExchangedBNBWei;
}
function totalExchangedBNB() public view returns (uint256) {
return _totalExchangedBNBWei / WEI_PER_BNB;
}
function getCurrentStageAndRate() public view returns (uint256 stage, uint256 rate) {
stage = _totalExchangedBNBWei / STAGE_BNB;
rate = _calculatePrecisionRate(stage);
}
function contractTokenBalanceWei() public view returns (uint256) {
return _balances[address(this)];
}
function contractTokenBalance() public view returns (uint256) {
return _balances[address(this)] / (10 ** uint256(decimals));
}
function calculateExpectedTokens(uint256 bnbAmountWei) public view returns (uint256) {
require(bnbAmountWei > 0, "Error: BNB amount must be > 0 (wei)");
uint256 stage = _totalExchangedBNBWei / STAGE_BNB;
uint256 rate = _calculatePrecisionRate(stage);
return bnbAmountWei * rate;
}
// ERC20 标准接口
function balanceOf(address account) public view returns (uint256) {
return _balances[account];
}
function transfer(address to, uint256 value) public returns (bool) {
address from = msg.sender;
_transfer(from, to, value);
return true;
}
function allowance(address tokenOwner, address spender) public view returns (uint256) {
return _allowances[tokenOwner][spender];
}
function approve(address spender, uint256 value) public returns (bool) {
address tokenOwner = msg.sender;
_approve(tokenOwner, spender, value);
return true;
}
function transferFrom(
address from,
address to,
uint256 value
) public returns (bool) {
address spender = msg.sender;
_spendAllowance(from, spender, value);
_transfer(from, to, value);
return true;
}
function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
address tokenOwner = msg.sender;
_approve(tokenOwner, spender, _allowances[tokenOwner][spender] + addedValue);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
address tokenOwner = msg.sender;
uint256 currentAllowance = _allowances[tokenOwner][spender];
require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
unchecked {
_approve(tokenOwner, spender, currentAllowance - subtractedValue);
}
return true;
}
// 管理员功能
function owner() public view returns (address) {
return _owner;
}
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0), "ERC20: new owner cannot be zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
function setPairAddress(address newPairAddress) public onlyOwner {
require(newPairAddress != address(0), "ERC20: new pair address cannot be zero");
emit PairAddressUpdated(_pairAddress, newPairAddress);
_pairAddress = newPairAddress;
}
function setFeeReceiver(address newFeeReceiver) public onlyOwner {
require(newFeeReceiver != address(0), "ERC20: new fee receiver cannot be zero");
emit FeeReceiverUpdated(_feeReceiver, newFeeReceiver);
_feeReceiver = newFeeReceiver;
}
function emergencyWithdrawBNB() external onlyOwner {
uint256 bnbBalanceWei = address(this).balance;
require(bnbBalanceWei > 0, "Error: No BNB to withdraw (wei)");
(bool success, ) = payable(_owner).call{value: bnbBalanceWei}("");
require(success, "Error: Emergency BNB withdrawal failed");
emit EmergencyWithdrawBNB(_owner, bnbBalanceWei);
}
// 内部辅助函数
function _transfer(
address from,
address to,
uint256 value
) internal {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
uint256 fromBalance = _balances[from];
require(fromBalance >= value, "ERC20: transfer amount exceeds balance (wei)");
unchecked {
_balances[from] = fromBalance - value;
_balances[to] += value;
}
emit Transfer(from, to, value);
}
function _approve(
address tokenOwner,
address spender,
uint256 value
) internal {
require(tokenOwner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[tokenOwner][spender] = value;
emit Approval(tokenOwner, spender, value);
}
function _spendAllowance(
address tokenOwner,
address spender,
uint256 value
) internal {
uint256 currentAllowance = allowance(tokenOwner, spender);
if (currentAllowance != type(uint256).max) {
require(currentAllowance >= value, "ERC20: insufficient allowance (wei)");
unchecked {
_approve(tokenOwner, spender, currentAllowance - value);
}
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"address","name":"adminAddress","type":"address"},{"internalType":"address","name":"initialPairAddress","type":"address"},{"internalType":"address","name":"initialFeeReceiver","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"tokenOwner","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":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountWei","type":"uint256"}],"name":"EmergencyWithdrawBNB","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldReceiver","type":"address"},{"indexed":true,"internalType":"address","name":"newReceiver","type":"address"}],"name":"FeeReceiverUpdated","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":"oldPair","type":"address"},{"indexed":true,"internalType":"address","name":"newPair","type":"address"}],"name":"PairAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"purchaser","type":"address"},{"indexed":false,"internalType":"uint256","name":"bnbAmountWei","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokenAmountWei","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"currentRate","type":"uint256"}],"name":"TokenPurchased","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"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"BASE_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DECREASE_RATIO","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_BNB_PER_TX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_RATE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RATIO_DENOMINATOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STAGE_BNB","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","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":[{"internalType":"uint256","name":"bnbAmountWei","type":"uint256"}],"name":"calculateExpectedTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractTokenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractTokenBalanceWei","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":"emergencyWithdrawBNB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"exchangeTokens","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getCurrentStageAndRate","outputs":[{"internalType":"uint256","name":"stage","type":"uint256"},{"internalType":"uint256","name":"rate","type":"uint256"}],"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":[],"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":"newFeeReceiver","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newPairAddress","type":"address"}],"name":"setPairAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalExchangedBNB","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalExchangedBNBWei","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":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","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":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
608060405234801561000f575f5ffd5b50604051613aca380380613aca83398181016040528101906100319190610574565b5f855111610074576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161006b9061067d565b60405180910390fd5b5f8451116100b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100ae906106e5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161011c90610773565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610193576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161018a90610801565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610201576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f89061088f565b60405180910390fd5b845f908161020f9190610abd565b50836001908161021f9190610abd565b508260045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260ff16600a6102f19190610ce8565b620f42406102ff9190610d32565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601260ff16600a6103a09190610ce8565b620f42406103ae9190610d32565b6040516103bb9190610d82565b60405180910390a35050505050610d9b565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61042c826103e6565b810181811067ffffffffffffffff8211171561044b5761044a6103f6565b5b80604052505050565b5f61045d6103cd565b90506104698282610423565b919050565b5f67ffffffffffffffff821115610488576104876103f6565b5b610491826103e6565b9050602081019050919050565b8281835e5f83830152505050565b5f6104be6104b98461046e565b610454565b9050828152602081018484840111156104da576104d96103e2565b5b6104e584828561049e565b509392505050565b5f82601f830112610501576105006103de565b5b81516105118482602086016104ac565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105438261051a565b9050919050565b61055381610539565b811461055d575f5ffd5b50565b5f8151905061056e8161054a565b92915050565b5f5f5f5f5f60a0868803121561058d5761058c6103d6565b5b5f86015167ffffffffffffffff8111156105aa576105a96103da565b5b6105b6888289016104ed565b955050602086015167ffffffffffffffff8111156105d7576105d66103da565b5b6105e3888289016104ed565b94505060406105f488828901610560565b935050606061060588828901610560565b925050608061061688828901610560565b9150509295509295909350565b5f82825260208201905092915050565b7f45524332303a206e616d652063616e6e6f7420626520656d70747900000000005f82015250565b5f610667601b83610623565b915061067282610633565b602082019050919050565b5f6020820190508181035f8301526106948161065b565b9050919050565b7f45524332303a2073796d626f6c2063616e6e6f7420626520656d7074790000005f82015250565b5f6106cf601d83610623565b91506106da8261069b565b602082019050919050565b5f6020820190508181035f8301526106fc816106c3565b9050919050565b7f45524332303a2061646d696e20616464726573732063616e6e6f74206265207a5f8201527f65726f0000000000000000000000000000000000000000000000000000000000602082015250565b5f61075d602383610623565b915061076882610703565b604082019050919050565b5f6020820190508181035f83015261078a81610751565b9050919050565b7f45524332303a207061697220616464726573732063616e6e6f74206265207a655f8201527f726f000000000000000000000000000000000000000000000000000000000000602082015250565b5f6107eb602283610623565b91506107f682610791565b604082019050919050565b5f6020820190508181035f830152610818816107df565b9050919050565b7f45524332303a206665652072656365697665722063616e6e6f74206265207a655f8201527f726f000000000000000000000000000000000000000000000000000000000000602082015250565b5f610879602283610623565b91506108848261081f565b604082019050919050565b5f6020820190508181035f8301526108a68161086d565b9050919050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806108fb57607f821691505b60208210810361090e5761090d6108b7565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026109707fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610935565b61097a8683610935565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6109be6109b96109b484610992565b61099b565b610992565b9050919050565b5f819050919050565b6109d7836109a4565b6109eb6109e3826109c5565b848454610941565b825550505050565b5f5f905090565b610a026109f3565b610a0d8184846109ce565b505050565b5b81811015610a3057610a255f826109fa565b600181019050610a13565b5050565b601f821115610a7557610a4681610914565b610a4f84610926565b81016020851015610a5e578190505b610a72610a6a85610926565b830182610a12565b50505b505050565b5f82821c905092915050565b5f610a955f1984600802610a7a565b1980831691505092915050565b5f610aad8383610a86565b9150826002028217905092915050565b610ac6826108ad565b67ffffffffffffffff811115610adf57610ade6103f6565b5b610ae982546108e4565b610af4828285610a34565b5f60209050601f831160018114610b25575f8415610b13578287015190505b610b1d8582610aa2565b865550610b84565b601f198416610b3386610914565b5f5b82811015610b5a57848901518255600182019150602085019450602081019050610b35565b86831015610b775784890151610b73601f891682610a86565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115610c0e57808604811115610bea57610be9610b8c565b5b6001851615610bf95780820291505b8081029050610c0785610bb9565b9450610bce565b94509492505050565b5f82610c265760019050610ce1565b81610c33575f9050610ce1565b8160018114610c495760028114610c5357610c82565b6001915050610ce1565b60ff841115610c6557610c64610b8c565b5b8360020a915084821115610c7c57610c7b610b8c565b5b50610ce1565b5060208310610133831016604e8410600b8410161715610cb75782820a905083811115610cb257610cb1610b8c565b5b610ce1565b610cc48484846001610bc5565b92509050818404811115610cdb57610cda610b8c565b5b81810290505b9392505050565b5f610cf282610992565b9150610cfd83610992565b9250610d2a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610c17565b905092915050565b5f610d3c82610992565b9150610d4783610992565b9250828202610d5581610992565b91508282048414831517610d6c57610d6b610b8c565b5b5092915050565b610d7c81610992565b82525050565b5f602082019050610d955f830184610d73565b92915050565b612d2280610da85f395ff3fe6080604052600436106101c5575f3560e01c806395d89b41116100f6578063dd62ed3e11610094578063f19562b611610063578063f19562b614610665578063f264c8c91461068f578063f26b854f146106b9578063f2fde38b146106cf576101d4565b8063dd62ed3e146105cd578063e167dbca14610609578063e4701ec114610613578063efdcd9741461063d576101d4565b8063a457c2d7116100d0578063a457c2d714610501578063a9059cbb1461053d578063b3662e3c14610579578063d819bfef146105a3576101d4565b806395d89b41146104855780639e9aed62146104af578063a22d4832146104d9576101d4565b80633ca1ca92116101635780635d86685a1161013d5780635d86685a146103b95780636577ec0f146103f557806370a082311461041f5780638da5cb5b1461045b576101d4565b80633ca1ca921461033b57806341910f90146103655780634577938e1461038f576101d4565b80631f18580d1161019f5780631f18580d1461026e57806323b872dd14610299578063313ce567146102d557806339509351146102ff576101d4565b806306fdde03146101de578063095ea7b31461020857806318160ddd14610244576101d4565b366101d4576101d26106f7565b005b6101dc6106f7565b005b3480156101e9575f5ffd5b506101f26109e4565b6040516101ff9190611d11565b60405180910390f35b348015610213575f5ffd5b5061022e60048036038101906102299190611dc2565b610a6f565b60405161023b9190611e1a565b60405180910390f35b34801561024f575f5ffd5b50610258610a8a565b6040516102659190611e42565b60405180910390f35b348015610279575f5ffd5b50610282610aac565b604051610290929190611e5b565b60405180910390f35b3480156102a4575f5ffd5b506102bf60048036038101906102ba9190611e82565b610ae7565b6040516102cc9190611e1a565b60405180910390f35b3480156102e0575f5ffd5b506102e9610b0e565b6040516102f69190611eed565b60405180910390f35b34801561030a575f5ffd5b5061032560048036038101906103209190611dc2565b610b13565b6040516103329190611e1a565b60405180910390f35b348015610346575f5ffd5b5061034f610bb1565b60405161035c9190611e42565b60405180910390f35b348015610370575f5ffd5b50610379610bd2565b6040516103869190611e42565b60405180910390f35b34801561039a575f5ffd5b506103a3610bd8565b6040516103b09190611e42565b60405180910390f35b3480156103c4575f5ffd5b506103df60048036038101906103da9190611f06565b610be1565b6040516103ec9190611e42565b60405180910390f35b348015610400575f5ffd5b50610409610c70565b6040516104169190611e42565b60405180910390f35b34801561042a575f5ffd5b5061044560048036038101906104409190611f31565b610cb4565b6040516104529190611e42565b60405180910390f35b348015610466575f5ffd5b5061046f610cfa565b60405161047c9190611f6b565b60405180910390f35b348015610490575f5ffd5b50610499610d22565b6040516104a69190611d11565b60405180910390f35b3480156104ba575f5ffd5b506104c3610dae565b6040516104d09190611e42565b60405180910390f35b3480156104e4575f5ffd5b506104ff60048036038101906104fa9190611f31565b610e0d565b005b34801561050c575f5ffd5b5061052760048036038101906105229190611dc2565b610fc8565b6040516105349190611e1a565b60405180910390f35b348015610548575f5ffd5b50610563600480360381019061055e9190611dc2565b6110a5565b6040516105709190611e1a565b60405180910390f35b348015610584575f5ffd5b5061058d6110c0565b60405161059a9190611e42565b60405180910390f35b3480156105ae575f5ffd5b506105b76110de565b6040516105c49190611e42565b60405180910390f35b3480156105d8575f5ffd5b506105f360048036038101906105ee9190611f84565b6110e3565b6040516106009190611e42565b60405180910390f35b610611611165565b005b34801561061e575f5ffd5b5061062761116f565b6040516106349190611e42565b60405180910390f35b348015610648575f5ffd5b50610663600480360381019061065e9190611f31565b61118e565b005b348015610670575f5ffd5b50610679611349565b6040516106869190611e42565b60405180910390f35b34801561069a575f5ffd5b506106a361134e565b6040516106b09190611e42565b60405180910390f35b3480156106c4575f5ffd5b506106cd611353565b005b3480156106da575f5ffd5b506106f560048036038101906106f09190611f31565b611564565b005b5f3411610739576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073090612032565b60405180910390fd5b6012600a61074791906121ac565b620f424061075591906121f6565b341115610797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078e906122a7565b60405180910390fd5b5f60075490505f6012600a6107ac91906121ac565b6127106107b991906121f6565b826107c491906122f2565b90505f6107d08261171f565b90505f81346107df91906121f6565b90505f8111610823576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081a90612392565b60405180910390fd5b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20548111156108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a90612420565b60405180910390fd5b6108ae30338361177c565b3460075f82825401925050819055505f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634617530906040516109079061246b565b5f60405180830381858888f193505050503d805f8114610942576040519150601f19603f3d011682016040523d82523d5f602084013e610947565b606091505b505090508061098b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610982906124ef565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167f2b0c4dfbf2e34a2292e9110d6ea90d7c78f54b3aebe3974d2db7197308f21ff83484866040516109d59392919061250d565b60405180910390a25050505050565b5f80546109f09061256f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1c9061256f565b8015610a675780601f10610a3e57610100808354040283529160200191610a67565b820191905f5260205f20905b815481529060010190602001808311610a4a57829003601f168201915b505050505081565b5f5f339050610a7f8185856119d5565b600191505092915050565b601260ff16600a610a9b91906121ac565b620f4240610aa991906121f6565b81565b5f5f6012600a610abc91906121ac565b612710610ac991906121f6565b600754610ad691906122f2565b9150610ae18261171f565b90509091565b5f5f339050610af7858285611b98565b610b0285858561177c565b60019150509392505050565b601281565b5f5f339050610ba681858560035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ba1919061259f565b6119d5565b600191505092915050565b5f6012600a610bc091906121ac565b600754610bcd91906122f2565b905090565b6103e881565b5f600754905090565b5f5f8211610c24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1b90612032565b60405180910390fd5b5f6012600a610c3391906121ac565b612710610c4091906121f6565b600754610c4d91906122f2565b90505f610c598261171f565b90508084610c6791906121f6565b92505050919050565b5f60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905090565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60018054610d2f9061256f565b80601f0160208091040260200160405190810160405280929190818152602001828054610d5b9061256f565b8015610da65780601f10610d7d57610100808354040283529160200191610da6565b820191905f5260205f20905b815481529060010190602001808311610d8957829003601f168201915b505050505081565b5f601260ff16600a610dc091906121ac565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e0891906122f2565b905090565b3373ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e939061261c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f01906126aa565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f64c72078af3ae882004085eb07c02d43fc7d8fad52221fdac7aebf454019825f60405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5f3390505f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508381101561108c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108390612738565b60405180910390fd5b61109982868684036119d5565b60019250505092915050565b5f5f3390506110b581858561177c565b600191505092915050565b6012600a6110ce91906121ac565b6127106110db91906121f6565b81565b600181565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61116d6106f7565b565b6012600a61117d91906121ac565b620f424061118b91906121f6565b81565b3373ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461121d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112149061261c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361128b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611282906127c6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa92ff4390fe6943f0b30e8fe715dde86f85ab79b2b2c640a10fc094cc4036cc860405160405180910390a38060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606481565b605081565b3373ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d99061261c565b60405180910390fd5b5f4790505f8111611428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141f9061282e565b60405180910390fd5b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161146e9061246b565b5f6040518083038185875af1925050503d805f81146114a8576040519150601f19603f3d011682016040523d82523d5f602084013e6114ad565b606091505b50509050806114f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e8906128bc565b60405180910390fd5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2caccb4dba870fe33d284e4c70c875529943f0ed56271add451858056ed7ddcb836040516115589190611e42565b60405180910390a25050565b3373ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ea9061261c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611661576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116589061294a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5f8203611731576103e89050611777565b5f5f6117406050606486611c23565b915091505f81836103e861175491906121f6565b61175e91906122f2565b90506001811061176e5780611771565b60015b93505050505b919050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e1906129d8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184f90612a66565b60405180910390fd5b5f60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156118dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d390612af4565b60405180910390fd5b81810360025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119c79190611e42565b60405180910390a350505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3a90612b82565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa890612c10565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b8b9190611e42565b60405180910390a3505050565b5f611ba384846110e3565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611c1d5781811015611c0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0690612c9e565b60405180910390fd5b611c1c84848484036119d5565b5b50505050565b5f5f5f600190505f600190505b5f851115611c91576001600286611c479190612cbc565b03611c69578682611c5891906121f6565b91508581611c6691906121f6565b90505b600185901c94508687611c7c91906121f6565b96508586611c8a91906121f6565b9550611c30565b8181935093505050935093915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ce382611ca1565b611ced8185611cab565b9350611cfd818560208601611cbb565b611d0681611cc9565b840191505092915050565b5f6020820190508181035f830152611d298184611cd9565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611d5e82611d35565b9050919050565b611d6e81611d54565b8114611d78575f5ffd5b50565b5f81359050611d8981611d65565b92915050565b5f819050919050565b611da181611d8f565b8114611dab575f5ffd5b50565b5f81359050611dbc81611d98565b92915050565b5f5f60408385031215611dd857611dd7611d31565b5b5f611de585828601611d7b565b9250506020611df685828601611dae565b9150509250929050565b5f8115159050919050565b611e1481611e00565b82525050565b5f602082019050611e2d5f830184611e0b565b92915050565b611e3c81611d8f565b82525050565b5f602082019050611e555f830184611e33565b92915050565b5f604082019050611e6e5f830185611e33565b611e7b6020830184611e33565b9392505050565b5f5f5f60608486031215611e9957611e98611d31565b5b5f611ea686828701611d7b565b9350506020611eb786828701611d7b565b9250506040611ec886828701611dae565b9150509250925092565b5f60ff82169050919050565b611ee781611ed2565b82525050565b5f602082019050611f005f830184611ede565b92915050565b5f60208284031215611f1b57611f1a611d31565b5b5f611f2884828501611dae565b91505092915050565b5f60208284031215611f4657611f45611d31565b5b5f611f5384828501611d7b565b91505092915050565b611f6581611d54565b82525050565b5f602082019050611f7e5f830184611f5c565b92915050565b5f5f60408385031215611f9a57611f99611d31565b5b5f611fa785828601611d7b565b9250506020611fb885828601611d7b565b9150509250929050565b7f4572726f723a20424e4220616d6f756e74206d757374206265203e20302028775f8201527f6569290000000000000000000000000000000000000000000000000000000000602082015250565b5f61201c602383611cab565b915061202782611fc2565b604082019050919050565b5f6020820190508181035f83015261204981612010565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156120d2578086048111156120ae576120ad612050565b5b60018516156120bd5780820291505b80810290506120cb8561207d565b9450612092565b94509492505050565b5f826120ea57600190506121a5565b816120f7575f90506121a5565b816001811461210d576002811461211757612146565b60019150506121a5565b60ff84111561212957612128612050565b5b8360020a9150848211156121405761213f612050565b5b506121a5565b5060208310610133831016604e8410600b841016171561217b5782820a90508381111561217657612175612050565b5b6121a5565b6121888484846001612089565b9250905081840481111561219f5761219e612050565b5b81810290505b9392505050565b5f6121b682611d8f565b91506121c183611d8f565b92506121ee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846120db565b905092915050565b5f61220082611d8f565b915061220b83611d8f565b925082820261221981611d8f565b915082820484148315176122305761222f612050565b5b5092915050565b7f4572726f723a2045786365656473206d617820424e4220706572207472616e735f8201527f616374696f6e202831653620424e422900000000000000000000000000000000602082015250565b5f612291603083611cab565b915061229c82612237565b604082019050919050565b5f6020820190508181035f8301526122be81612285565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6122fc82611d8f565b915061230783611d8f565b925082612317576123166122c5565b5b828204905092915050565b7f4572726f723a2045786368616e67656420746f6b656e20616d6f756e74206d755f8201527f7374206265203e20302028776569290000000000000000000000000000000000602082015250565b5f61237c602f83611cab565b915061238782612322565b604082019050919050565b5f6020820190508181035f8301526123a981612370565b9050919050565b7f4572726f723a20436f6e747261637420746f6b656e20736f6c64206f757420285f8201527f636865636b2062616c616e636529000000000000000000000000000000000000602082015250565b5f61240a602e83611cab565b9150612415826123b0565b604082019050919050565b5f6020820190508181035f830152612437816123fe565b9050919050565b5f81905092915050565b50565b5f6124565f8361243e565b915061246182612448565b5f82019050919050565b5f6124758261244b565b9150819050919050565b7f4572726f723a20424e42207472616e7366657220746f207265636569766572205f8201527f6661696c65642028636865636b20726563656976657220616464726573732900602082015250565b5f6124d9603f83611cab565b91506124e48261247f565b604082019050919050565b5f6020820190508181035f830152612506816124cd565b9050919050565b5f6060820190506125205f830186611e33565b61252d6020830185611e33565b61253a6040830184611e33565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061258657607f821691505b60208210810361259957612598612542565b5b50919050565b5f6125a982611d8f565b91506125b483611d8f565b92508282019050808211156125cc576125cb612050565b5b92915050565b7f45524332303a2063616c6c6572206973206e6f7420746865206f776e657200005f82015250565b5f612606601e83611cab565b9150612611826125d2565b602082019050919050565b5f6020820190508181035f830152612633816125fa565b9050919050565b7f45524332303a206e6577207061697220616464726573732063616e6e6f7420625f8201527f65207a65726f0000000000000000000000000000000000000000000000000000602082015250565b5f612694602683611cab565b915061269f8261263a565b604082019050919050565b5f6020820190508181035f8301526126c181612688565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612722602583611cab565b915061272d826126c8565b604082019050919050565b5f6020820190508181035f83015261274f81612716565b9050919050565b7f45524332303a206e6577206665652072656365697665722063616e6e6f7420625f8201527f65207a65726f0000000000000000000000000000000000000000000000000000602082015250565b5f6127b0602683611cab565b91506127bb82612756565b604082019050919050565b5f6020820190508181035f8301526127dd816127a4565b9050919050565b7f4572726f723a204e6f20424e4220746f207769746864726177202877656929005f82015250565b5f612818601f83611cab565b9150612823826127e4565b602082019050919050565b5f6020820190508181035f8301526128458161280c565b9050919050565b7f4572726f723a20456d657267656e637920424e42207769746864726177616c205f8201527f6661696c65640000000000000000000000000000000000000000000000000000602082015250565b5f6128a6602683611cab565b91506128b18261284c565b604082019050919050565b5f6020820190508181035f8301526128d38161289a565b9050919050565b7f45524332303a206e6577206f776e65722063616e6e6f74206265207a65726f205f8201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b5f612934602783611cab565b915061293f826128da565b604082019050919050565b5f6020820190508181035f83015261296181612928565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6129c2602583611cab565b91506129cd82612968565b604082019050919050565b5f6020820190508181035f8301526129ef816129b6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a50602383611cab565b9150612a5b826129f6565b604082019050919050565b5f6020820190508181035f830152612a7d81612a44565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63652028776569290000000000000000000000000000000000000000602082015250565b5f612ade602c83611cab565b9150612ae982612a84565b604082019050919050565b5f6020820190508181035f830152612b0b81612ad2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b6c602483611cab565b9150612b7782612b12565b604082019050919050565b5f6020820190508181035f830152612b9981612b60565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612bfa602283611cab565b9150612c0582612ba0565b604082019050919050565b5f6020820190508181035f830152612c2781612bee565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63652028775f8201527f6569290000000000000000000000000000000000000000000000000000000000602082015250565b5f612c88602383611cab565b9150612c9382612c2e565b604082019050919050565b5f6020820190508181035f830152612cb581612c7c565b9050919050565b5f612cc682611d8f565b9150612cd183611d8f565b925082612ce157612ce06122c5565b5b82820690509291505056fea2646970667358221220e77ce6c18bf97ecb0c99558e152d12cee6eb4d3ece58a0e182ea611dbebeff3964736f6c634300081e003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001800000000000000000000000008daf0853c8bd20f6701be0020abb61e7bb11abf0000000000000000000000000b3ddc67e18e0e02730bdcadad3277031c1768b8b0000000000000000000000007293349e870c4dc2b7633e24ba89822f90fc000000000000000000000000000000000000000000000000000000000000000000ade8bf99e698afe4b880e4b8aae58faae6b6a8e4b88de8b78ce5be97e4bba3e5b881efbc8ce59091e59088e7baa6e59cb0e59d80e8bdace585a5424e42e58fafe88eb7e5be97e8afa5e4bba3e5b881efbc8ce5889de5a78be58591e68da2e6af94e4be8befbc9a31424e423d31303030e69e9aefbc8ce59088e7baa6e680bbe9878fe6af8fe5878fe5b0913130303030e69e9aefbc8ce88eb7e5be97e695b0e9878fe5878fe5b091323025e3808200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ce58faae6b6a8e4b88de8b78c0000000000000000000000000000000000000000
Deployed Bytecode
0x6080604052600436106101c5575f3560e01c806395d89b41116100f6578063dd62ed3e11610094578063f19562b611610063578063f19562b614610665578063f264c8c91461068f578063f26b854f146106b9578063f2fde38b146106cf576101d4565b8063dd62ed3e146105cd578063e167dbca14610609578063e4701ec114610613578063efdcd9741461063d576101d4565b8063a457c2d7116100d0578063a457c2d714610501578063a9059cbb1461053d578063b3662e3c14610579578063d819bfef146105a3576101d4565b806395d89b41146104855780639e9aed62146104af578063a22d4832146104d9576101d4565b80633ca1ca92116101635780635d86685a1161013d5780635d86685a146103b95780636577ec0f146103f557806370a082311461041f5780638da5cb5b1461045b576101d4565b80633ca1ca921461033b57806341910f90146103655780634577938e1461038f576101d4565b80631f18580d1161019f5780631f18580d1461026e57806323b872dd14610299578063313ce567146102d557806339509351146102ff576101d4565b806306fdde03146101de578063095ea7b31461020857806318160ddd14610244576101d4565b366101d4576101d26106f7565b005b6101dc6106f7565b005b3480156101e9575f5ffd5b506101f26109e4565b6040516101ff9190611d11565b60405180910390f35b348015610213575f5ffd5b5061022e60048036038101906102299190611dc2565b610a6f565b60405161023b9190611e1a565b60405180910390f35b34801561024f575f5ffd5b50610258610a8a565b6040516102659190611e42565b60405180910390f35b348015610279575f5ffd5b50610282610aac565b604051610290929190611e5b565b60405180910390f35b3480156102a4575f5ffd5b506102bf60048036038101906102ba9190611e82565b610ae7565b6040516102cc9190611e1a565b60405180910390f35b3480156102e0575f5ffd5b506102e9610b0e565b6040516102f69190611eed565b60405180910390f35b34801561030a575f5ffd5b5061032560048036038101906103209190611dc2565b610b13565b6040516103329190611e1a565b60405180910390f35b348015610346575f5ffd5b5061034f610bb1565b60405161035c9190611e42565b60405180910390f35b348015610370575f5ffd5b50610379610bd2565b6040516103869190611e42565b60405180910390f35b34801561039a575f5ffd5b506103a3610bd8565b6040516103b09190611e42565b60405180910390f35b3480156103c4575f5ffd5b506103df60048036038101906103da9190611f06565b610be1565b6040516103ec9190611e42565b60405180910390f35b348015610400575f5ffd5b50610409610c70565b6040516104169190611e42565b60405180910390f35b34801561042a575f5ffd5b5061044560048036038101906104409190611f31565b610cb4565b6040516104529190611e42565b60405180910390f35b348015610466575f5ffd5b5061046f610cfa565b60405161047c9190611f6b565b60405180910390f35b348015610490575f5ffd5b50610499610d22565b6040516104a69190611d11565b60405180910390f35b3480156104ba575f5ffd5b506104c3610dae565b6040516104d09190611e42565b60405180910390f35b3480156104e4575f5ffd5b506104ff60048036038101906104fa9190611f31565b610e0d565b005b34801561050c575f5ffd5b5061052760048036038101906105229190611dc2565b610fc8565b6040516105349190611e1a565b60405180910390f35b348015610548575f5ffd5b50610563600480360381019061055e9190611dc2565b6110a5565b6040516105709190611e1a565b60405180910390f35b348015610584575f5ffd5b5061058d6110c0565b60405161059a9190611e42565b60405180910390f35b3480156105ae575f5ffd5b506105b76110de565b6040516105c49190611e42565b60405180910390f35b3480156105d8575f5ffd5b506105f360048036038101906105ee9190611f84565b6110e3565b6040516106009190611e42565b60405180910390f35b610611611165565b005b34801561061e575f5ffd5b5061062761116f565b6040516106349190611e42565b60405180910390f35b348015610648575f5ffd5b50610663600480360381019061065e9190611f31565b61118e565b005b348015610670575f5ffd5b50610679611349565b6040516106869190611e42565b60405180910390f35b34801561069a575f5ffd5b506106a361134e565b6040516106b09190611e42565b60405180910390f35b3480156106c4575f5ffd5b506106cd611353565b005b3480156106da575f5ffd5b506106f560048036038101906106f09190611f31565b611564565b005b5f3411610739576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073090612032565b60405180910390fd5b6012600a61074791906121ac565b620f424061075591906121f6565b341115610797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078e906122a7565b60405180910390fd5b5f60075490505f6012600a6107ac91906121ac565b6127106107b991906121f6565b826107c491906122f2565b90505f6107d08261171f565b90505f81346107df91906121f6565b90505f8111610823576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081a90612392565b60405180910390fd5b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20548111156108a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089a90612420565b60405180910390fd5b6108ae30338361177c565b3460075f82825401925050819055505f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634617530906040516109079061246b565b5f60405180830381858888f193505050503d805f8114610942576040519150601f19603f3d011682016040523d82523d5f602084013e610947565b606091505b505090508061098b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610982906124ef565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff167f2b0c4dfbf2e34a2292e9110d6ea90d7c78f54b3aebe3974d2db7197308f21ff83484866040516109d59392919061250d565b60405180910390a25050505050565b5f80546109f09061256f565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1c9061256f565b8015610a675780601f10610a3e57610100808354040283529160200191610a67565b820191905f5260205f20905b815481529060010190602001808311610a4a57829003601f168201915b505050505081565b5f5f339050610a7f8185856119d5565b600191505092915050565b601260ff16600a610a9b91906121ac565b620f4240610aa991906121f6565b81565b5f5f6012600a610abc91906121ac565b612710610ac991906121f6565b600754610ad691906122f2565b9150610ae18261171f565b90509091565b5f5f339050610af7858285611b98565b610b0285858561177c565b60019150509392505050565b601281565b5f5f339050610ba681858560035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ba1919061259f565b6119d5565b600191505092915050565b5f6012600a610bc091906121ac565b600754610bcd91906122f2565b905090565b6103e881565b5f600754905090565b5f5f8211610c24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1b90612032565b60405180910390fd5b5f6012600a610c3391906121ac565b612710610c4091906121f6565b600754610c4d91906122f2565b90505f610c598261171f565b90508084610c6791906121f6565b92505050919050565b5f60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905090565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60018054610d2f9061256f565b80601f0160208091040260200160405190810160405280929190818152602001828054610d5b9061256f565b8015610da65780601f10610d7d57610100808354040283529160200191610da6565b820191905f5260205f20905b815481529060010190602001808311610d8957829003601f168201915b505050505081565b5f601260ff16600a610dc091906121ac565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e0891906122f2565b905090565b3373ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e939061261c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f01906126aa565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f64c72078af3ae882004085eb07c02d43fc7d8fad52221fdac7aebf454019825f60405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5f3390505f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508381101561108c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108390612738565b60405180910390fd5b61109982868684036119d5565b60019250505092915050565b5f5f3390506110b581858561177c565b600191505092915050565b6012600a6110ce91906121ac565b6127106110db91906121f6565b81565b600181565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61116d6106f7565b565b6012600a61117d91906121ac565b620f424061118b91906121f6565b81565b3373ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461121d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112149061261c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361128b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611282906127c6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa92ff4390fe6943f0b30e8fe715dde86f85ab79b2b2c640a10fc094cc4036cc860405160405180910390a38060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606481565b605081565b3373ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d99061261c565b60405180910390fd5b5f4790505f8111611428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141f9061282e565b60405180910390fd5b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161146e9061246b565b5f6040518083038185875af1925050503d805f81146114a8576040519150601f19603f3d011682016040523d82523d5f602084013e6114ad565b606091505b50509050806114f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e8906128bc565b60405180910390fd5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2caccb4dba870fe33d284e4c70c875529943f0ed56271add451858056ed7ddcb836040516115589190611e42565b60405180910390a25050565b3373ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ea9061261c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611661576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116589061294a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f5f8203611731576103e89050611777565b5f5f6117406050606486611c23565b915091505f81836103e861175491906121f6565b61175e91906122f2565b90506001811061176e5780611771565b60015b93505050505b919050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e1906129d8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184f90612a66565b60405180910390fd5b5f60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156118dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d390612af4565b60405180910390fd5b81810360025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119c79190611e42565b60405180910390a350505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3a90612b82565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611ab1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa890612c10565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b8b9190611e42565b60405180910390a3505050565b5f611ba384846110e3565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611c1d5781811015611c0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0690612c9e565b60405180910390fd5b611c1c84848484036119d5565b5b50505050565b5f5f5f600190505f600190505b5f851115611c91576001600286611c479190612cbc565b03611c69578682611c5891906121f6565b91508581611c6691906121f6565b90505b600185901c94508687611c7c91906121f6565b96508586611c8a91906121f6565b9550611c30565b8181935093505050935093915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ce382611ca1565b611ced8185611cab565b9350611cfd818560208601611cbb565b611d0681611cc9565b840191505092915050565b5f6020820190508181035f830152611d298184611cd9565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611d5e82611d35565b9050919050565b611d6e81611d54565b8114611d78575f5ffd5b50565b5f81359050611d8981611d65565b92915050565b5f819050919050565b611da181611d8f565b8114611dab575f5ffd5b50565b5f81359050611dbc81611d98565b92915050565b5f5f60408385031215611dd857611dd7611d31565b5b5f611de585828601611d7b565b9250506020611df685828601611dae565b9150509250929050565b5f8115159050919050565b611e1481611e00565b82525050565b5f602082019050611e2d5f830184611e0b565b92915050565b611e3c81611d8f565b82525050565b5f602082019050611e555f830184611e33565b92915050565b5f604082019050611e6e5f830185611e33565b611e7b6020830184611e33565b9392505050565b5f5f5f60608486031215611e9957611e98611d31565b5b5f611ea686828701611d7b565b9350506020611eb786828701611d7b565b9250506040611ec886828701611dae565b9150509250925092565b5f60ff82169050919050565b611ee781611ed2565b82525050565b5f602082019050611f005f830184611ede565b92915050565b5f60208284031215611f1b57611f1a611d31565b5b5f611f2884828501611dae565b91505092915050565b5f60208284031215611f4657611f45611d31565b5b5f611f5384828501611d7b565b91505092915050565b611f6581611d54565b82525050565b5f602082019050611f7e5f830184611f5c565b92915050565b5f5f60408385031215611f9a57611f99611d31565b5b5f611fa785828601611d7b565b9250506020611fb885828601611d7b565b9150509250929050565b7f4572726f723a20424e4220616d6f756e74206d757374206265203e20302028775f8201527f6569290000000000000000000000000000000000000000000000000000000000602082015250565b5f61201c602383611cab565b915061202782611fc2565b604082019050919050565b5f6020820190508181035f83015261204981612010565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b60018511156120d2578086048111156120ae576120ad612050565b5b60018516156120bd5780820291505b80810290506120cb8561207d565b9450612092565b94509492505050565b5f826120ea57600190506121a5565b816120f7575f90506121a5565b816001811461210d576002811461211757612146565b60019150506121a5565b60ff84111561212957612128612050565b5b8360020a9150848211156121405761213f612050565b5b506121a5565b5060208310610133831016604e8410600b841016171561217b5782820a90508381111561217657612175612050565b5b6121a5565b6121888484846001612089565b9250905081840481111561219f5761219e612050565b5b81810290505b9392505050565b5f6121b682611d8f565b91506121c183611d8f565b92506121ee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846120db565b905092915050565b5f61220082611d8f565b915061220b83611d8f565b925082820261221981611d8f565b915082820484148315176122305761222f612050565b5b5092915050565b7f4572726f723a2045786365656473206d617820424e4220706572207472616e735f8201527f616374696f6e202831653620424e422900000000000000000000000000000000602082015250565b5f612291603083611cab565b915061229c82612237565b604082019050919050565b5f6020820190508181035f8301526122be81612285565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6122fc82611d8f565b915061230783611d8f565b925082612317576123166122c5565b5b828204905092915050565b7f4572726f723a2045786368616e67656420746f6b656e20616d6f756e74206d755f8201527f7374206265203e20302028776569290000000000000000000000000000000000602082015250565b5f61237c602f83611cab565b915061238782612322565b604082019050919050565b5f6020820190508181035f8301526123a981612370565b9050919050565b7f4572726f723a20436f6e747261637420746f6b656e20736f6c64206f757420285f8201527f636865636b2062616c616e636529000000000000000000000000000000000000602082015250565b5f61240a602e83611cab565b9150612415826123b0565b604082019050919050565b5f6020820190508181035f830152612437816123fe565b9050919050565b5f81905092915050565b50565b5f6124565f8361243e565b915061246182612448565b5f82019050919050565b5f6124758261244b565b9150819050919050565b7f4572726f723a20424e42207472616e7366657220746f207265636569766572205f8201527f6661696c65642028636865636b20726563656976657220616464726573732900602082015250565b5f6124d9603f83611cab565b91506124e48261247f565b604082019050919050565b5f6020820190508181035f830152612506816124cd565b9050919050565b5f6060820190506125205f830186611e33565b61252d6020830185611e33565b61253a6040830184611e33565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061258657607f821691505b60208210810361259957612598612542565b5b50919050565b5f6125a982611d8f565b91506125b483611d8f565b92508282019050808211156125cc576125cb612050565b5b92915050565b7f45524332303a2063616c6c6572206973206e6f7420746865206f776e657200005f82015250565b5f612606601e83611cab565b9150612611826125d2565b602082019050919050565b5f6020820190508181035f830152612633816125fa565b9050919050565b7f45524332303a206e6577207061697220616464726573732063616e6e6f7420625f8201527f65207a65726f0000000000000000000000000000000000000000000000000000602082015250565b5f612694602683611cab565b915061269f8261263a565b604082019050919050565b5f6020820190508181035f8301526126c181612688565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612722602583611cab565b915061272d826126c8565b604082019050919050565b5f6020820190508181035f83015261274f81612716565b9050919050565b7f45524332303a206e6577206665652072656365697665722063616e6e6f7420625f8201527f65207a65726f0000000000000000000000000000000000000000000000000000602082015250565b5f6127b0602683611cab565b91506127bb82612756565b604082019050919050565b5f6020820190508181035f8301526127dd816127a4565b9050919050565b7f4572726f723a204e6f20424e4220746f207769746864726177202877656929005f82015250565b5f612818601f83611cab565b9150612823826127e4565b602082019050919050565b5f6020820190508181035f8301526128458161280c565b9050919050565b7f4572726f723a20456d657267656e637920424e42207769746864726177616c205f8201527f6661696c65640000000000000000000000000000000000000000000000000000602082015250565b5f6128a6602683611cab565b91506128b18261284c565b604082019050919050565b5f6020820190508181035f8301526128d38161289a565b9050919050565b7f45524332303a206e6577206f776e65722063616e6e6f74206265207a65726f205f8201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b5f612934602783611cab565b915061293f826128da565b604082019050919050565b5f6020820190508181035f83015261296181612928565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6129c2602583611cab565b91506129cd82612968565b604082019050919050565b5f6020820190508181035f8301526129ef816129b6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a50602383611cab565b9150612a5b826129f6565b604082019050919050565b5f6020820190508181035f830152612a7d81612a44565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63652028776569290000000000000000000000000000000000000000602082015250565b5f612ade602c83611cab565b9150612ae982612a84565b604082019050919050565b5f6020820190508181035f830152612b0b81612ad2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b6c602483611cab565b9150612b7782612b12565b604082019050919050565b5f6020820190508181035f830152612b9981612b60565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612bfa602283611cab565b9150612c0582612ba0565b604082019050919050565b5f6020820190508181035f830152612c2781612bee565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63652028775f8201527f6569290000000000000000000000000000000000000000000000000000000000602082015250565b5f612c88602383611cab565b9150612c9382612c2e565b604082019050919050565b5f6020820190508181035f830152612cb581612c7c565b9050919050565b5f612cc682611d8f565b9150612cd183611d8f565b925082612ce157612ce06122c5565b5b82820690509291505056fea2646970667358221220e77ce6c18bf97ecb0c99558e152d12cee6eb4d3ece58a0e182ea611dbebeff3964736f6c634300081e0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001800000000000000000000000008daf0853c8bd20f6701be0020abb61e7bb11abf0000000000000000000000000b3ddc67e18e0e02730bdcadad3277031c1768b8b0000000000000000000000007293349e870c4dc2b7633e24ba89822f90fc000000000000000000000000000000000000000000000000000000000000000000ade8bf99e698afe4b880e4b8aae58faae6b6a8e4b88de8b78ce5be97e4bba3e5b881efbc8ce59091e59088e7baa6e59cb0e59d80e8bdace585a5424e42e58fafe88eb7e5be97e8afa5e4bba3e5b881efbc8ce5889de5a78be58591e68da2e6af94e4be8befbc9a31424e423d31303030e69e9aefbc8ce59088e7baa6e680bbe9878fe6af8fe5878fe5b0913130303030e69e9aefbc8ce88eb7e5be97e695b0e9878fe5878fe5b091323025e3808200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ce58faae6b6a8e4b88de8b78c0000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : tokenName (string): 这是一个只涨不跌得代币,向合约地址转入BNB可获得该代币,初始兑换比例:1BNB=1000枚,合约总量每减少10000枚,获得数量减少20%。
Arg [1] : tokenSymbol (string): 只涨不跌
Arg [2] : adminAddress (address): 0x8Daf0853C8bD20F6701BE0020Abb61e7bb11abf0
Arg [3] : initialPairAddress (address): 0xb3ddc67E18E0E02730bDcAdaD3277031C1768B8B
Arg [4] : initialFeeReceiver (address): 0x7293349e870C4DC2b7633e24Ba89822F90FC0000
-----Encoded View---------------
14 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000180
Arg [2] : 0000000000000000000000008daf0853c8bd20f6701be0020abb61e7bb11abf0
Arg [3] : 000000000000000000000000b3ddc67e18e0e02730bdcadad3277031c1768b8b
Arg [4] : 0000000000000000000000007293349e870c4dc2b7633e24ba89822f90fc0000
Arg [5] : 00000000000000000000000000000000000000000000000000000000000000ad
Arg [6] : e8bf99e698afe4b880e4b8aae58faae6b6a8e4b88de8b78ce5be97e4bba3e5b8
Arg [7] : 81efbc8ce59091e59088e7baa6e59cb0e59d80e8bdace585a5424e42e58fafe8
Arg [8] : 8eb7e5be97e8afa5e4bba3e5b881efbc8ce5889de5a78be58591e68da2e6af94
Arg [9] : e4be8befbc9a31424e423d31303030e69e9aefbc8ce59088e7baa6e680bbe987
Arg [10] : 8fe6af8fe5878fe5b0913130303030e69e9aefbc8ce88eb7e5be97e695b0e987
Arg [11] : 8fe5878fe5b091323025e3808200000000000000000000000000000000000000
Arg [12] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [13] : e58faae6b6a8e4b88de8b78c0000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
61:13124:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3958:30;:28;:30::i;:::-;61:13124;;4043:30;:28;:30::i;:::-;61:13124;183:18;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9228:190;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;374:73;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7953:192;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;9426:273;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;283:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9707:245;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7825:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1321:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7708:109;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8424:321;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8153:115;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8780:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10433:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;233:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8276:140;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10765:267;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9960:441;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8898:170;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1214:55;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1703:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9076:144;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4089:92;;;:::i;:::-;;1589:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11040:267;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1513:47;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1429:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11315:395;;;;;;;;;;;;;:::i;:::-;;10520:237;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4291:1241;4371:1;4359:9;:13;4351:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;602:2;650;:19;;;;:::i;:::-;1630:3;:17;;;;:::i;:::-;4431:9;:27;;4423:88;;;;;;;;;;;;:::i;:::-;;;;;;;;;4524:26;4553:21;;4524:50;;4585:13;602:2;650;:19;;;;:::i;:::-;1250:5;:19;;;;:::i;:::-;4601:18;:30;;;;:::i;:::-;4585:46;;4642:19;4664:30;4688:5;4664:23;:30::i;:::-;4642:52;;4735:22;4772:11;4760:9;:23;;;;:::i;:::-;4735:48;;4819:1;4802:14;:18;4794:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;4909:9;:24;4927:4;4909:24;;;;;;;;;;;;;;;;4891:14;:42;;4883:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;4997:52;5015:4;5022:10;5034:14;4997:9;:52::i;:::-;5112:9;5087:21;;:34;;;;;;;;;;;5146:23;5183:12;;;;;;;;;;;5175:26;;5223:9;5252:5;5175:97;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5145:127;;;5291:18;5283:94;;;;;;;;;;;;:::i;:::-;;;;;;;;;5424:10;5395:129;;;5449:9;5473:14;5502:11;5395:129;;;;;;;;:::i;:::-;;;;;;;;4340:1192;;;;;4291:1241::o;183:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9228:190::-;9293:4;9310:18;9331:10;9310:31;;9352:36;9361:10;9373:7;9382:5;9352:8;:36::i;:::-;9406:4;9399:11;;;9228:190;;;;:::o;374:73::-;316:2;430:17;;424:2;:23;;;;:::i;:::-;412:9;:35;;;;:::i;:::-;374:73;:::o;7953:192::-;8008:13;8023:12;602:2;650;:19;;;;:::i;:::-;1250:5;:19;;;;:::i;:::-;8056:21;;:33;;;;:::i;:::-;8048:41;;8107:30;8131:5;8107:23;:30::i;:::-;8100:37;;7953:192;;:::o;9426:273::-;9539:4;9556:15;9574:10;9556:28;;9595:37;9611:4;9617:7;9626:5;9595:15;:37::i;:::-;9643:26;9653:4;9659:2;9663:5;9643:9;:26::i;:::-;9687:4;9680:11;;;9426:273;;;;;:::o;283:35::-;316:2;283:35;:::o;9707:245::-;9787:4;9804:18;9825:10;9804:31;;9846:76;9855:10;9867:7;9911:10;9876:11;:23;9888:10;9876:23;;;;;;;;;;;;;;;:32;9900:7;9876:32;;;;;;;;;;;;;;;;:45;;;;:::i;:::-;9846:8;:76::i;:::-;9940:4;9933:11;;;9707:245;;;;:::o;7825:120::-;7875:7;602:2;650;:19;;;;:::i;:::-;7902:21;;:35;;;;:::i;:::-;7895:42;;7825:120;:::o;1321:40::-;1357:4;1321:40;:::o;7708:109::-;7761:7;7788:21;;7781:28;;7708:109;:::o;8424:321::-;8500:7;8543:1;8528:12;:16;8520:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;8595:13;602:2;650;:19;;;;:::i;:::-;1250:5;:19;;;;:::i;:::-;8611:21;;:33;;;;:::i;:::-;8595:49;;8655:12;8670:30;8694:5;8670:23;:30::i;:::-;8655:45;;8733:4;8718:12;:19;;;;:::i;:::-;8711:26;;;;8424:321;;;:::o;8153:115::-;8209:7;8236:9;:24;8254:4;8236:24;;;;;;;;;;;;;;;;8229:31;;8153:115;:::o;8780:110::-;8837:7;8864:9;:18;8874:7;8864:18;;;;;;;;;;;;;;;;8857:25;;8780:110;;;:::o;10433:79::-;10471:7;10498:6;;;;;;;;;;;10491:13;;10433:79;:::o;233:20::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8276:140::-;8329:7;316:2;8390:17;;8384:2;:23;;;;:::i;:::-;8356:9;:24;8374:4;8356:24;;;;;;;;;;;;;;;;:52;;;;:::i;:::-;8349:59;;8276:140;:::o;10765:267::-;2712:10;2702:20;;:6;;;;;;;;;;;:20;;;2694:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10875:1:::1;10849:28;;:14;:28;;::::0;10841:79:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;10969:14;10936:48;;10955:12;;;;;;;;;;;10936:48;;;;;;;;;;;;11010:14;10995:12;;:29;;;;;;;;;;;;;;;;;;10765:267:::0;:::o;9960:441::-;10045:4;10062:18;10083:10;10062:31;;10104:24;10131:11;:23;10143:10;10131:23;;;;;;;;;;;;;;;:32;10155:7;10131:32;;;;;;;;;;;;;;;;10104:59;;10202:15;10182:16;:35;;10174:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;10295:65;10304:10;10316:7;10344:15;10325:16;:34;10295:8;:65::i;:::-;10389:4;10382:11;;;;9960:441;;;;:::o;8898:170::-;8959:4;8976:12;8991:10;8976:25;;9012:26;9022:4;9028:2;9032:5;9012:9;:26::i;:::-;9056:4;9049:11;;;8898:170;;;;:::o;1214:55::-;602:2;650;:19;;;;:::i;:::-;1250:5;:19;;;;:::i;:::-;1214:55;:::o;1703:36::-;1738:1;1703:36;:::o;9076:144::-;9153:7;9180:11;:23;9192:10;9180:23;;;;;;;;;;;;;;;:32;9204:7;9180:32;;;;;;;;;;;;;;;;9173:39;;9076:144;;;;:::o;4089:92::-;4143:30;:28;:30::i;:::-;4089:92::o;1589:58::-;602:2;650;:19;;;;:::i;:::-;1630:3;:17;;;;:::i;:::-;1589:58;:::o;11040:267::-;2712:10;2702:20;;:6;;;;;;;;;;;:20;;;2694:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;11150:1:::1;11124:28;;:14;:28;;::::0;11116:79:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;11244:14;11211:48;;11230:12;;;;;;;;;;;11211:48;;;;;;;;;;;;11285:14;11270:12;;:29;;;;;;;;;;;;;;;;;;11040:267:::0;:::o;1513:47::-;1557:3;1513:47;:::o;1429:43::-;1470:2;1429:43;:::o;11315:395::-;2712:10;2702:20;;:6;;;;;;;;;;;:20;;;2694:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;11377:21:::1;11401;11377:45;;11457:1;11441:13;:17;11433:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;11508:12;11534:6;;;;;;;;;;;11526:20;;11554:13;11526:46;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11507:65;;;11591:7;11583:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;11680:6;;;;;;;;;;;11659:43;;;11688:13;11659:43;;;;;;:::i;:::-;;;;;;;;11366:344;;11315:395::o:0;10520:237::-;2712:10;2702:20;;:6;;;;;;;;;;;:20;;;2694:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;10621:1:::1;10601:22;;:8;:22;;::::0;10593:74:::1;;;;;;;;;;;;:::i;:::-;;;;;;;;;10712:8;10683:38;;10704:6;;;;;;;;;;;10683:38;;;;;;;;;;;;10741:8;10732:6;;:17;;;;;;;;;;;;;;;;;;10520:237:::0;:::o;5884:653::-;5955:7;5988:1;5979:5;:10;5975:107;;1357:4;6006:16;;;;5975:107;6176:17;6195:19;6218:52;1470:2;1557:3;6264:5;6218:10;:52::i;:::-;6175:95;;;;6367:12;6406:11;6394:9;1357:4;6382:21;;;;:::i;:::-;:35;;;;:::i;:::-;6367:50;;1738:1;6496:4;:15;:33;;6525:4;6496:33;;;1738:1;6496:33;6489:40;;;;;5884:653;;;;:::o;11745:569::-;11883:1;11867:18;;:4;:18;;;11859:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11960:1;11946:16;;:2;:16;;;11938:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12015:19;12037:9;:15;12047:4;12037:15;;;;;;;;;;;;;;;;12015:37;;12086:5;12071:11;:20;;12063:77;;;;;;;;;;;;:::i;:::-;;;;;;;;;12210:5;12196:11;:19;12178:9;:15;12188:4;12178:15;;;;;;;;;;;;;;;:37;;;;12247:5;12230:9;:13;12240:2;12230:13;;;;;;;;;;;;;;;;:22;;;;;;;;;;;12296:2;12281:25;;12290:4;12281:25;;;12300:5;12281:25;;;;;;:::i;:::-;;;;;;;;11848:466;11745:569;;;:::o;12322:389::-;12476:1;12454:24;;:10;:24;;;12446:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;12557:1;12538:21;;:7;:21;;;12530:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12646:5;12611:11;:23;12623:10;12611:23;;;;;;;;;;;;;;;:32;12635:7;12611:32;;;;;;;;;;;;;;;:40;;;;12688:7;12667:36;;12676:10;12667:36;;;12697:5;12667:36;;;;;;:::i;:::-;;;;;;;;12322:389;;;:::o;12719:463::-;12850:24;12877:30;12887:10;12899:7;12877:9;:30::i;:::-;12850:57;;12942:17;12922:16;:37;12918:257;;13004:5;12984:16;:25;;12976:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;13093:55;13102:10;13114:7;13142:5;13123:16;:24;13093:8;:55::i;:::-;12918:257;12839:343;12719:463;;;:::o;6792:830::-;6887:7;6896;6916:18;6937:1;6916:22;;6986:19;7008:1;6986:23;;7065:505;7083:1;7072:8;:12;7065:505;;;7190:1;7185;7174:8;:12;;;;:::i;:::-;:17;7170:146;;7238:4;7225:10;:17;;;;:::i;:::-;7212:30;;7289:11;7275;:25;;;;:::i;:::-;7261:39;;7170:146;7406:1;7394:8;:13;;7383:24;;7500:4;7493;:11;;;;:::i;:::-;7486:18;;7547:11;7533;:25;;;;:::i;:::-;7519:39;;7065:505;;;7590:10;7602:11;7582:32;;;;;;6792:830;;;;;;:::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:139::-;376:6;371:3;366;360:23;417:1;408:6;403:3;399:16;392:27;287:139;;;:::o;432:102::-;473:6;524:2;520:7;515:2;508:5;504:14;500:28;490:38;;432:102;;;:::o;540:377::-;628:3;656:39;689:5;656:39;:::i;:::-;711:71;775:6;770:3;711:71;:::i;:::-;704:78;;791:65;849:6;844:3;837:4;830:5;826:16;791:65;:::i;:::-;881:29;903:6;881:29;:::i;:::-;876:3;872:39;865:46;;632:285;540:377;;;;:::o;923:313::-;1036:4;1074:2;1063:9;1059:18;1051:26;;1123:9;1117:4;1113:20;1109:1;1098:9;1094:17;1087:47;1151:78;1224:4;1215:6;1151:78;:::i;:::-;1143:86;;923:313;;;;:::o;1323:117::-;1432:1;1429;1422:12;1569:126;1606:7;1646:42;1639:5;1635:54;1624:65;;1569:126;;;:::o;1701:96::-;1738:7;1767:24;1785:5;1767:24;:::i;:::-;1756:35;;1701:96;;;:::o;1803:122::-;1876:24;1894:5;1876:24;:::i;:::-;1869:5;1866:35;1856:63;;1915:1;1912;1905:12;1856:63;1803:122;:::o;1931:139::-;1977:5;2015:6;2002:20;1993:29;;2031:33;2058:5;2031:33;:::i;:::-;1931:139;;;;:::o;2076:77::-;2113:7;2142:5;2131:16;;2076:77;;;:::o;2159:122::-;2232:24;2250:5;2232:24;:::i;:::-;2225:5;2222:35;2212:63;;2271:1;2268;2261:12;2212:63;2159:122;:::o;2287:139::-;2333:5;2371:6;2358:20;2349:29;;2387:33;2414:5;2387:33;:::i;:::-;2287:139;;;;:::o;2432:474::-;2500:6;2508;2557:2;2545:9;2536:7;2532:23;2528:32;2525:119;;;2563:79;;:::i;:::-;2525:119;2683:1;2708:53;2753:7;2744:6;2733:9;2729:22;2708:53;:::i;:::-;2698:63;;2654:117;2810:2;2836:53;2881:7;2872:6;2861:9;2857:22;2836:53;:::i;:::-;2826:63;;2781:118;2432:474;;;;;:::o;2912:90::-;2946:7;2989:5;2982:13;2975:21;2964:32;;2912:90;;;:::o;3008:109::-;3089:21;3104:5;3089:21;:::i;:::-;3084:3;3077:34;3008:109;;:::o;3123:210::-;3210:4;3248:2;3237:9;3233:18;3225:26;;3261:65;3323:1;3312:9;3308:17;3299:6;3261:65;:::i;:::-;3123:210;;;;:::o;3339:118::-;3426:24;3444:5;3426:24;:::i;:::-;3421:3;3414:37;3339:118;;:::o;3463:222::-;3556:4;3594:2;3583:9;3579:18;3571:26;;3607:71;3675:1;3664:9;3660:17;3651:6;3607:71;:::i;:::-;3463:222;;;;:::o;3691:332::-;3812:4;3850:2;3839:9;3835:18;3827:26;;3863:71;3931:1;3920:9;3916:17;3907:6;3863:71;:::i;:::-;3944:72;4012:2;4001:9;3997:18;3988:6;3944:72;:::i;:::-;3691:332;;;;;:::o;4029:619::-;4106:6;4114;4122;4171:2;4159:9;4150:7;4146:23;4142:32;4139:119;;;4177:79;;:::i;:::-;4139:119;4297:1;4322:53;4367:7;4358:6;4347:9;4343:22;4322:53;:::i;:::-;4312:63;;4268:117;4424:2;4450:53;4495:7;4486:6;4475:9;4471:22;4450:53;:::i;:::-;4440:63;;4395:118;4552:2;4578:53;4623:7;4614:6;4603:9;4599:22;4578:53;:::i;:::-;4568:63;;4523:118;4029:619;;;;;:::o;4654:86::-;4689:7;4729:4;4722:5;4718:16;4707:27;;4654:86;;;:::o;4746:112::-;4829:22;4845:5;4829:22;:::i;:::-;4824:3;4817:35;4746:112;;:::o;4864:214::-;4953:4;4991:2;4980:9;4976:18;4968:26;;5004:67;5068:1;5057:9;5053:17;5044:6;5004:67;:::i;:::-;4864:214;;;;:::o;5084:329::-;5143:6;5192:2;5180:9;5171:7;5167:23;5163:32;5160:119;;;5198:79;;:::i;:::-;5160:119;5318:1;5343:53;5388:7;5379:6;5368:9;5364:22;5343:53;:::i;:::-;5333:63;;5289:117;5084:329;;;;:::o;5419:::-;5478:6;5527:2;5515:9;5506:7;5502:23;5498:32;5495:119;;;5533:79;;:::i;:::-;5495:119;5653:1;5678:53;5723:7;5714:6;5703:9;5699:22;5678:53;:::i;:::-;5668:63;;5624:117;5419:329;;;;:::o;5754:118::-;5841:24;5859:5;5841:24;:::i;:::-;5836:3;5829:37;5754:118;;:::o;5878:222::-;5971:4;6009:2;5998:9;5994:18;5986:26;;6022:71;6090:1;6079:9;6075:17;6066:6;6022:71;:::i;:::-;5878:222;;;;:::o;6106:474::-;6174:6;6182;6231:2;6219:9;6210:7;6206:23;6202:32;6199:119;;;6237:79;;:::i;:::-;6199:119;6357:1;6382:53;6427:7;6418:6;6407:9;6403:22;6382:53;:::i;:::-;6372:63;;6328:117;6484:2;6510:53;6555:7;6546:6;6535:9;6531:22;6510:53;:::i;:::-;6500:63;;6455:118;6106:474;;;;;:::o;6586:222::-;6726:34;6722:1;6714:6;6710:14;6703:58;6795:5;6790:2;6782:6;6778:15;6771:30;6586:222;:::o;6814:366::-;6956:3;6977:67;7041:2;7036:3;6977:67;:::i;:::-;6970:74;;7053:93;7142:3;7053:93;:::i;:::-;7171:2;7166:3;7162:12;7155:19;;6814:366;;;:::o;7186:419::-;7352:4;7390:2;7379:9;7375:18;7367:26;;7439:9;7433:4;7429:20;7425:1;7414:9;7410:17;7403:47;7467:131;7593:4;7467:131;:::i;:::-;7459:139;;7186:419;;;:::o;7611:180::-;7659:77;7656:1;7649:88;7756:4;7753:1;7746:15;7780:4;7777:1;7770:15;7797:102;7839:8;7886:5;7883:1;7879:13;7858:34;;7797:102;;;:::o;7905:848::-;7966:5;7973:4;7997:6;7988:15;;8021:5;8012:14;;8035:712;8056:1;8046:8;8043:15;8035:712;;;8151:4;8146:3;8142:14;8136:4;8133:24;8130:50;;;8160:18;;:::i;:::-;8130:50;8210:1;8200:8;8196:16;8193:451;;;8625:4;8618:5;8614:16;8605:25;;8193:451;8675:4;8669;8665:15;8657:23;;8705:32;8728:8;8705:32;:::i;:::-;8693:44;;8035:712;;;7905:848;;;;;;;:::o;8759:1073::-;8813:5;9004:8;8994:40;;9025:1;9016:10;;9027:5;;8994:40;9053:4;9043:36;;9070:1;9061:10;;9072:5;;9043:36;9139:4;9187:1;9182:27;;;;9223:1;9218:191;;;;9132:277;;9182:27;9200:1;9191:10;;9202:5;;;9218:191;9263:3;9253:8;9250:17;9247:43;;;9270:18;;:::i;:::-;9247:43;9319:8;9316:1;9312:16;9303:25;;9354:3;9347:5;9344:14;9341:40;;;9361:18;;:::i;:::-;9341:40;9394:5;;;9132:277;;9518:2;9508:8;9505:16;9499:3;9493:4;9490:13;9486:36;9468:2;9458:8;9455:16;9450:2;9444:4;9441:12;9437:35;9421:111;9418:246;;;9574:8;9568:4;9564:19;9555:28;;9609:3;9602:5;9599:14;9596:40;;;9616:18;;:::i;:::-;9596:40;9649:5;;9418:246;9689:42;9727:3;9717:8;9711:4;9708:1;9689:42;:::i;:::-;9674:57;;;;9763:4;9758:3;9754:14;9747:5;9744:25;9741:51;;;9772:18;;:::i;:::-;9741:51;9821:4;9814:5;9810:16;9801:25;;8759:1073;;;;;;:::o;9838:285::-;9898:5;9922:23;9940:4;9922:23;:::i;:::-;9914:31;;9966:27;9984:8;9966:27;:::i;:::-;9954:39;;10012:104;10049:66;10039:8;10033:4;10012:104;:::i;:::-;10003:113;;9838:285;;;;:::o;10129:410::-;10169:7;10192:20;10210:1;10192:20;:::i;:::-;10187:25;;10226:20;10244:1;10226:20;:::i;:::-;10221:25;;10281:1;10278;10274:9;10303:30;10321:11;10303:30;:::i;:::-;10292:41;;10482:1;10473:7;10469:15;10466:1;10463:22;10443:1;10436:9;10416:83;10393:139;;10512:18;;:::i;:::-;10393:139;10177:362;10129:410;;;;:::o;10545:235::-;10685:34;10681:1;10673:6;10669:14;10662:58;10754:18;10749:2;10741:6;10737:15;10730:43;10545:235;:::o;10786:366::-;10928:3;10949:67;11013:2;11008:3;10949:67;:::i;:::-;10942:74;;11025:93;11114:3;11025:93;:::i;:::-;11143:2;11138:3;11134:12;11127:19;;10786:366;;;:::o;11158:419::-;11324:4;11362:2;11351:9;11347:18;11339:26;;11411:9;11405:4;11401:20;11397:1;11386:9;11382:17;11375:47;11439:131;11565:4;11439:131;:::i;:::-;11431:139;;11158:419;;;:::o;11583:180::-;11631:77;11628:1;11621:88;11728:4;11725:1;11718:15;11752:4;11749:1;11742:15;11769:185;11809:1;11826:20;11844:1;11826:20;:::i;:::-;11821:25;;11860:20;11878:1;11860:20;:::i;:::-;11855:25;;11899:1;11889:35;;11904:18;;:::i;:::-;11889:35;11946:1;11943;11939:9;11934:14;;11769:185;;;;:::o;11960:234::-;12100:34;12096:1;12088:6;12084:14;12077:58;12169:17;12164:2;12156:6;12152:15;12145:42;11960:234;:::o;12200:366::-;12342:3;12363:67;12427:2;12422:3;12363:67;:::i;:::-;12356:74;;12439:93;12528:3;12439:93;:::i;:::-;12557:2;12552:3;12548:12;12541:19;;12200:366;;;:::o;12572:419::-;12738:4;12776:2;12765:9;12761:18;12753:26;;12825:9;12819:4;12815:20;12811:1;12800:9;12796:17;12789:47;12853:131;12979:4;12853:131;:::i;:::-;12845:139;;12572:419;;;:::o;12997:233::-;13137:34;13133:1;13125:6;13121:14;13114:58;13206:16;13201:2;13193:6;13189:15;13182:41;12997:233;:::o;13236:366::-;13378:3;13399:67;13463:2;13458:3;13399:67;:::i;:::-;13392:74;;13475:93;13564:3;13475:93;:::i;:::-;13593:2;13588:3;13584:12;13577:19;;13236:366;;;:::o;13608:419::-;13774:4;13812:2;13801:9;13797:18;13789:26;;13861:9;13855:4;13851:20;13847:1;13836:9;13832:17;13825:47;13889:131;14015:4;13889:131;:::i;:::-;13881:139;;13608:419;;;:::o;14033:147::-;14134:11;14171:3;14156:18;;14033:147;;;;:::o;14186:114::-;;:::o;14306:398::-;14465:3;14486:83;14567:1;14562:3;14486:83;:::i;:::-;14479:90;;14578:93;14667:3;14578:93;:::i;:::-;14696:1;14691:3;14687:11;14680:18;;14306:398;;;:::o;14710:379::-;14894:3;14916:147;15059:3;14916:147;:::i;:::-;14909:154;;15080:3;15073:10;;14710:379;;;:::o;15095:250::-;15235:34;15231:1;15223:6;15219:14;15212:58;15304:33;15299:2;15291:6;15287:15;15280:58;15095:250;:::o;15351:366::-;15493:3;15514:67;15578:2;15573:3;15514:67;:::i;:::-;15507:74;;15590:93;15679:3;15590:93;:::i;:::-;15708:2;15703:3;15699:12;15692:19;;15351:366;;;:::o;15723:419::-;15889:4;15927:2;15916:9;15912:18;15904:26;;15976:9;15970:4;15966:20;15962:1;15951:9;15947:17;15940:47;16004:131;16130:4;16004:131;:::i;:::-;15996:139;;15723:419;;;:::o;16148:442::-;16297:4;16335:2;16324:9;16320:18;16312:26;;16348:71;16416:1;16405:9;16401:17;16392:6;16348:71;:::i;:::-;16429:72;16497:2;16486:9;16482:18;16473:6;16429:72;:::i;:::-;16511;16579:2;16568:9;16564:18;16555:6;16511:72;:::i;:::-;16148:442;;;;;;:::o;16596:180::-;16644:77;16641:1;16634:88;16741:4;16738:1;16731:15;16765:4;16762:1;16755:15;16782:320;16826:6;16863:1;16857:4;16853:12;16843:22;;16910:1;16904:4;16900:12;16931:18;16921:81;;16987:4;16979:6;16975:17;16965:27;;16921:81;17049:2;17041:6;17038:14;17018:18;17015:38;17012:84;;17068:18;;:::i;:::-;17012:84;16833:269;16782:320;;;:::o;17108:191::-;17148:3;17167:20;17185:1;17167:20;:::i;:::-;17162:25;;17201:20;17219:1;17201:20;:::i;:::-;17196:25;;17244:1;17241;17237:9;17230:16;;17265:3;17262:1;17259:10;17256:36;;;17272:18;;:::i;:::-;17256:36;17108:191;;;;:::o;17305:180::-;17445:32;17441:1;17433:6;17429:14;17422:56;17305:180;:::o;17491:366::-;17633:3;17654:67;17718:2;17713:3;17654:67;:::i;:::-;17647:74;;17730:93;17819:3;17730:93;:::i;:::-;17848:2;17843:3;17839:12;17832:19;;17491:366;;;:::o;17863:419::-;18029:4;18067:2;18056:9;18052:18;18044:26;;18116:9;18110:4;18106:20;18102:1;18091:9;18087:17;18080:47;18144:131;18270:4;18144:131;:::i;:::-;18136:139;;17863:419;;;:::o;18288:225::-;18428:34;18424:1;18416:6;18412:14;18405:58;18497:8;18492:2;18484:6;18480:15;18473:33;18288:225;:::o;18519:366::-;18661:3;18682:67;18746:2;18741:3;18682:67;:::i;:::-;18675:74;;18758:93;18847:3;18758:93;:::i;:::-;18876:2;18871:3;18867:12;18860:19;;18519:366;;;:::o;18891:419::-;19057:4;19095:2;19084:9;19080:18;19072:26;;19144:9;19138:4;19134:20;19130:1;19119:9;19115:17;19108:47;19172:131;19298:4;19172:131;:::i;:::-;19164:139;;18891:419;;;:::o;19316:224::-;19456:34;19452:1;19444:6;19440:14;19433:58;19525:7;19520:2;19512:6;19508:15;19501:32;19316:224;:::o;19546:366::-;19688:3;19709:67;19773:2;19768:3;19709:67;:::i;:::-;19702:74;;19785:93;19874:3;19785:93;:::i;:::-;19903:2;19898:3;19894:12;19887:19;;19546:366;;;:::o;19918:419::-;20084:4;20122:2;20111:9;20107:18;20099:26;;20171:9;20165:4;20161:20;20157:1;20146:9;20142:17;20135:47;20199:131;20325:4;20199:131;:::i;:::-;20191:139;;19918:419;;;:::o;20343:225::-;20483:34;20479:1;20471:6;20467:14;20460:58;20552:8;20547:2;20539:6;20535:15;20528:33;20343:225;:::o;20574:366::-;20716:3;20737:67;20801:2;20796:3;20737:67;:::i;:::-;20730:74;;20813:93;20902:3;20813:93;:::i;:::-;20931:2;20926:3;20922:12;20915:19;;20574:366;;;:::o;20946:419::-;21112:4;21150:2;21139:9;21135:18;21127:26;;21199:9;21193:4;21189:20;21185:1;21174:9;21170:17;21163:47;21227:131;21353:4;21227:131;:::i;:::-;21219:139;;20946:419;;;:::o;21371:181::-;21511:33;21507:1;21499:6;21495:14;21488:57;21371:181;:::o;21558:366::-;21700:3;21721:67;21785:2;21780:3;21721:67;:::i;:::-;21714:74;;21797:93;21886:3;21797:93;:::i;:::-;21915:2;21910:3;21906:12;21899:19;;21558:366;;;:::o;21930:419::-;22096:4;22134:2;22123:9;22119:18;22111:26;;22183:9;22177:4;22173:20;22169:1;22158:9;22154:17;22147:47;22211:131;22337:4;22211:131;:::i;:::-;22203:139;;21930:419;;;:::o;22355:225::-;22495:34;22491:1;22483:6;22479:14;22472:58;22564:8;22559:2;22551:6;22547:15;22540:33;22355:225;:::o;22586:366::-;22728:3;22749:67;22813:2;22808:3;22749:67;:::i;:::-;22742:74;;22825:93;22914:3;22825:93;:::i;:::-;22943:2;22938:3;22934:12;22927:19;;22586:366;;;:::o;22958:419::-;23124:4;23162:2;23151:9;23147:18;23139:26;;23211:9;23205:4;23201:20;23197:1;23186:9;23182:17;23175:47;23239:131;23365:4;23239:131;:::i;:::-;23231:139;;22958:419;;;:::o;23383:226::-;23523:34;23519:1;23511:6;23507:14;23500:58;23592:9;23587:2;23579:6;23575:15;23568:34;23383:226;:::o;23615:366::-;23757:3;23778:67;23842:2;23837:3;23778:67;:::i;:::-;23771:74;;23854:93;23943:3;23854:93;:::i;:::-;23972:2;23967:3;23963:12;23956:19;;23615:366;;;:::o;23987:419::-;24153:4;24191:2;24180:9;24176:18;24168:26;;24240:9;24234:4;24230:20;24226:1;24215:9;24211:17;24204:47;24268:131;24394:4;24268:131;:::i;:::-;24260:139;;23987:419;;;:::o;24412:224::-;24552:34;24548:1;24540:6;24536:14;24529:58;24621:7;24616:2;24608:6;24604:15;24597:32;24412:224;:::o;24642:366::-;24784:3;24805:67;24869:2;24864:3;24805:67;:::i;:::-;24798:74;;24881:93;24970:3;24881:93;:::i;:::-;24999:2;24994:3;24990:12;24983:19;;24642:366;;;:::o;25014:419::-;25180:4;25218:2;25207:9;25203:18;25195:26;;25267:9;25261:4;25257:20;25253:1;25242:9;25238:17;25231:47;25295:131;25421:4;25295:131;:::i;:::-;25287:139;;25014:419;;;:::o;25439:222::-;25579:34;25575:1;25567:6;25563:14;25556:58;25648:5;25643:2;25635:6;25631:15;25624:30;25439:222;:::o;25667:366::-;25809:3;25830:67;25894:2;25889:3;25830:67;:::i;:::-;25823:74;;25906:93;25995:3;25906:93;:::i;:::-;26024:2;26019:3;26015:12;26008:19;;25667:366;;;:::o;26039:419::-;26205:4;26243:2;26232:9;26228:18;26220:26;;26292:9;26286:4;26282:20;26278:1;26267:9;26263:17;26256:47;26320:131;26446:4;26320:131;:::i;:::-;26312:139;;26039:419;;;:::o;26464:231::-;26604:34;26600:1;26592:6;26588:14;26581:58;26673:14;26668:2;26660:6;26656:15;26649:39;26464:231;:::o;26701:366::-;26843:3;26864:67;26928:2;26923:3;26864:67;:::i;:::-;26857:74;;26940:93;27029:3;26940:93;:::i;:::-;27058:2;27053:3;27049:12;27042:19;;26701:366;;;:::o;27073:419::-;27239:4;27277:2;27266:9;27262:18;27254:26;;27326:9;27320:4;27316:20;27312:1;27301:9;27297:17;27290:47;27354:131;27480:4;27354:131;:::i;:::-;27346:139;;27073:419;;;:::o;27498:223::-;27638:34;27634:1;27626:6;27622:14;27615:58;27707:6;27702:2;27694:6;27690:15;27683:31;27498:223;:::o;27727:366::-;27869:3;27890:67;27954:2;27949:3;27890:67;:::i;:::-;27883:74;;27966:93;28055:3;27966:93;:::i;:::-;28084:2;28079:3;28075:12;28068:19;;27727:366;;;:::o;28099:419::-;28265:4;28303:2;28292:9;28288:18;28280:26;;28352:9;28346:4;28342:20;28338:1;28327:9;28323:17;28316:47;28380:131;28506:4;28380:131;:::i;:::-;28372:139;;28099:419;;;:::o;28524:221::-;28664:34;28660:1;28652:6;28648:14;28641:58;28733:4;28728:2;28720:6;28716:15;28709:29;28524:221;:::o;28751:366::-;28893:3;28914:67;28978:2;28973:3;28914:67;:::i;:::-;28907:74;;28990:93;29079:3;28990:93;:::i;:::-;29108:2;29103:3;29099:12;29092:19;;28751:366;;;:::o;29123:419::-;29289:4;29327:2;29316:9;29312:18;29304:26;;29376:9;29370:4;29366:20;29362:1;29351:9;29347:17;29340:47;29404:131;29530:4;29404:131;:::i;:::-;29396:139;;29123:419;;;:::o;29548:222::-;29688:34;29684:1;29676:6;29672:14;29665:58;29757:5;29752:2;29744:6;29740:15;29733:30;29548:222;:::o;29776:366::-;29918:3;29939:67;30003:2;29998:3;29939:67;:::i;:::-;29932:74;;30015:93;30104:3;30015:93;:::i;:::-;30133:2;30128:3;30124:12;30117:19;;29776:366;;;:::o;30148:419::-;30314:4;30352:2;30341:9;30337:18;30329:26;;30401:9;30395:4;30391:20;30387:1;30376:9;30372:17;30365:47;30429:131;30555:4;30429:131;:::i;:::-;30421:139;;30148:419;;;:::o;30573:176::-;30605:1;30622:20;30640:1;30622:20;:::i;:::-;30617:25;;30656:20;30674:1;30656:20;:::i;:::-;30651:25;;30695:1;30685:35;;30700:18;;:::i;:::-;30685:35;30741:1;30738;30734:9;30729:14;;30573:176;;;;:::o
Swarm Source
ipfs://e77ce6c18bf97ecb0c99558e152d12cee6eb4d3ece58a0e182ea611dbebeff39
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)