Overview
POL Balance
0 POL
POL Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 36 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Sell | 62664002 | 111 days ago | IN | 0 POL | 0.0054588 | ||||
Approve | 43983248 | 588 days ago | IN | 0 POL | 0.00764388 | ||||
Approve | 43983204 | 588 days ago | IN | 0 POL | 0.00803723 | ||||
Approve | 43983024 | 588 days ago | IN | 0 POL | 0.00780869 | ||||
Approve | 43983020 | 588 days ago | IN | 0 POL | 0.01350102 | ||||
Approve | 43982626 | 588 days ago | IN | 0 POL | 0.01152514 | ||||
Approve | 43982481 | 588 days ago | IN | 0 POL | 0.00870732 | ||||
Approve | 43982223 | 588 days ago | IN | 0 POL | 0.00835163 | ||||
Approve | 43982150 | 588 days ago | IN | 0 POL | 0.00974406 | ||||
Approve | 43982010 | 588 days ago | IN | 0 POL | 0.00796606 | ||||
Approve | 43981999 | 588 days ago | IN | 0 POL | 0.01487775 | ||||
Approve | 43981977 | 588 days ago | IN | 0 POL | 0.00882707 | ||||
Approve | 43981936 | 588 days ago | IN | 0 POL | 0.0168807 | ||||
Approve | 43980371 | 588 days ago | IN | 0 POL | 0.00918094 | ||||
Approve | 43978961 | 588 days ago | IN | 0 POL | 0.01256575 | ||||
Approve | 43978369 | 588 days ago | IN | 0 POL | 0.02251966 | ||||
Launch | 43977891 | 588 days ago | IN | 0 POL | 0.00604196 | ||||
Approve | 43972919 | 588 days ago | IN | 0 POL | 0.01060717 | ||||
Approve | 43967079 | 589 days ago | IN | 0 POL | 0.00938507 | ||||
Approve | 43966997 | 589 days ago | IN | 0 POL | 0.00821747 | ||||
Transfer | 43965798 | 589 days ago | IN | 0 POL | 0.01213156 | ||||
Set Fee Exempt | 43952152 | 589 days ago | IN | 0 POL | 0.00957462 | ||||
Set Fee Exempt | 43952144 | 589 days ago | IN | 0 POL | 0.00963073 | ||||
Set Fee Exempt | 43952133 | 589 days ago | IN | 0 POL | 0.00917112 | ||||
Set Fee Exempt | 43952125 | 589 days ago | IN | 0 POL | 0.00941752 |
Loading...
Loading
Contract Name:
Stasis
Compiler Version
v0.8.14+commit.80d49f37
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: MIT pragma solidity 0.8.14; import "./IERC20.sol"; import "./Ownable.sol"; import "./SafeMath.sol"; interface IFeeReceiver { function trigger() external; } interface IEmissionRecipient { function trigger() external; } interface ISwapper { function buy(address user) external payable; function sell(address user) external; } /** Modular Upgradeable Token Token System Designed By DeFi Mark */ contract Stasis is IERC20, Ownable { using SafeMath for uint256; // total supply uint256 private _totalSupply = 260_000_000 * 10**18; // token data string private constant _name = 'Stasis'; string private constant _symbol = 'STS'; uint8 private constant _decimals = 18; // balances mapping (address => uint256) private _balances; mapping (address => mapping (address => uint256)) private _allowances; // Swapper address public swapper; // Zero & DEAD addresses address private immutable DEAD_ADDRESS = 0x000000000000000000000000000000000000dEaD; address private immutable ZERO_ADDRESS = 0x0000000000000000000000000000000000000000; // Amount Burned uint256 public totalBurned; // Taxation on transfers uint256 public buyFee = 500; uint256 public sellFee = 1000; uint256 public transferFee = 0; uint256 public constant TAX_DENOM = 10000; // permissions struct Permissions { bool isFeeExempt; bool isLiquidityPool; } mapping ( address => Permissions ) public permissions; // Fee Recipients address public sellFeeRecipient; address public buyFeeRecipient; address public transferFeeRecipient; // Trigger Fee Recipients bool public triggerBuyRecipient = true; bool public triggerTransferRecipient = false; bool public triggerSellRecipient = false; // Launched, allows set up without bots bool public launched = false; // events event SetBuyFeeRecipient(address recipient); event SetSellFeeRecipient(address recipient); event SetTransferFeeRecipient(address recipient); event SetFeeExemption(address account, bool isFeeExempt); event SetAutomatedMarketMaker(address account, bool isMarketMaker); event SetFees(uint256 buyFee, uint256 sellFee, uint256 transferFee); event SetSwapper(address newSwapper); event Launched(uint256 blockNo); event SetAutoTriggers(bool triggerBuy, bool triggerSell, bool triggerTransfer); constructor() { // exempt sender for tax-free initial distribution permissions[msg.sender].isFeeExempt = true; // initial supply allocation _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } ///////////////////////////////// ///// ERC20 FUNCTIONS ///// ///////////////////////////////// function totalSupply() external view override returns (uint256) { return _totalSupply; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function name() public pure override returns (string memory) { return _name; } function symbol() public pure override returns (string memory) { return _symbol; } function decimals() public pure override returns (uint8) { return _decimals; } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } /** Transfer Function */ function transfer(address recipient, uint256 amount) external override returns (bool) { if (msg.sender == recipient) { return _sell(amount, msg.sender); } else { return _transferFrom(msg.sender, recipient, amount); } } /** Transfer Function */ function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, 'Insufficient Allowance'); return _transferFrom(sender, recipient, amount); } ///////////////////////////////// ///// PUBLIC FUNCTIONS ///// ///////////////////////////////// function burn(uint256 amount) external returns (bool) { return _burn(msg.sender, amount); } function burnFrom(address account, uint256 amount) external returns (bool) { _allowances[account][msg.sender] = _allowances[account][msg.sender].sub(amount, 'Insufficient Allowance'); return _burn(account, amount); } function sell(uint256 amount) external returns (bool) { return _sell(amount, msg.sender); } function sellFor(uint256 amount, address recipient) external returns (bool) { return _sell(amount, recipient); } function buyFor(address account) external payable { require( account != ZERO_ADDRESS || account != DEAD_ADDRESS, "Zero Address!" ); ISwapper(swapper).buy{value: msg.value}(account); } receive() external payable { ISwapper(swapper).buy{value: address(this).balance}(msg.sender); } ///////////////////////////////// ///// OWNER FUNCTIONS ///// ///////////////////////////////// function withdraw(address token) external onlyOwner { require(token != address(0), 'Zero Address'); bool s = IERC20(token).transfer(msg.sender, IERC20(token).balanceOf(address(this))); require(s, 'Failure On Token Withdraw'); } function withdrawBNB() external onlyOwner { (bool s,) = payable(msg.sender).call{value: address(this).balance}(""); require(s); } function setTransferFeeRecipient(address recipient) external onlyOwner { require(recipient != address(0), 'Zero Address'); permissions[transferFeeRecipient].isFeeExempt = false; transferFeeRecipient = recipient; permissions[recipient].isFeeExempt = true; emit SetTransferFeeRecipient(recipient); } function setBuyFeeRecipient(address recipient) external onlyOwner { require(recipient != address(0), 'Zero Address'); permissions[transferFeeRecipient].isFeeExempt = false; buyFeeRecipient = recipient; permissions[recipient].isFeeExempt = true; emit SetBuyFeeRecipient(recipient); } function setSellFeeRecipient(address recipient) external onlyOwner { require(recipient != address(0), 'Zero Address'); permissions[transferFeeRecipient].isFeeExempt = false; sellFeeRecipient = recipient; permissions[recipient].isFeeExempt = true; emit SetSellFeeRecipient(recipient); } function registerAutomatedMarketMaker(address account) external onlyOwner { require(account != address(0), 'Zero Address'); require(!permissions[account].isLiquidityPool, 'Already An AMM'); permissions[account].isLiquidityPool = true; emit SetAutomatedMarketMaker(account, true); } function unRegisterAutomatedMarketMaker(address account) external onlyOwner { require(account != address(0), 'Zero Address'); require(permissions[account].isLiquidityPool, 'Not An AMM'); permissions[account].isLiquidityPool = false; emit SetAutomatedMarketMaker(account, false); } function setAutoTriggers( bool autoBuyTrigger, bool autoTransferTrigger, bool autoSellTrigger ) external onlyOwner { triggerBuyRecipient = autoBuyTrigger; triggerTransferRecipient = autoTransferTrigger; triggerSellRecipient = autoSellTrigger; emit SetAutoTriggers(autoBuyTrigger, autoSellTrigger, autoTransferTrigger); } function setFees(uint _buyFee, uint _sellFee, uint _transferFee) external onlyOwner { require( _buyFee <= 2000, 'Buy Fee Too High' ); require( _sellFee <= 2000, 'Sell Fee Too High' ); require( _transferFee <= 2000, 'Transfer Fee Too High' ); buyFee = _buyFee; sellFee = _sellFee; transferFee = _transferFee; emit SetFees(_buyFee, _sellFee, _transferFee); } function setFeeExempt(address account, bool isExempt) external onlyOwner { require(account != address(0), 'Zero Address'); permissions[account].isFeeExempt = isExempt; emit SetFeeExemption(account, isExempt); } function setSwapper(address newSwapper) external onlyOwner { require( newSwapper != address(0), 'Zero Address' ); swapper = newSwapper; emit SetSwapper(newSwapper); } function launch() external onlyOwner { require(launched == false, 'Already Launched'); launched = true; emit Launched(block.number); } ///////////////////////////////// ///// READ FUNCTIONS ///// ///////////////////////////////// function getTax(address sender, address recipient, uint256 amount) public view returns (uint256, address, bool) { if ( permissions[sender].isFeeExempt || permissions[recipient].isFeeExempt ) { return (0, address(0), false); } return permissions[sender].isLiquidityPool ? (amount.mul(buyFee).div(TAX_DENOM), buyFeeRecipient, triggerBuyRecipient) : permissions[recipient].isLiquidityPool ? (amount.mul(sellFee).div(TAX_DENOM), sellFeeRecipient, triggerSellRecipient) : (amount.mul(transferFee).div(TAX_DENOM), transferFeeRecipient, triggerTransferRecipient); } ////////////////////////////////// ///// INTERNAL FUNCTIONS ///// ////////////////////////////////// /** Internal Transfer */ function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) { require( recipient != address(0), 'Zero Recipient' ); require( amount > 0, 'Zero Amount' ); require( amount <= balanceOf(sender), 'Insufficient Balance' ); // make pre-launch checks if (!launched) { require( sender == this.getOwner(), 'Only Owner Can Transfer Tokens Pre Launch' ); } // decrement sender balance _balances[sender] -= amount; // fee for transaction (uint256 fee, address feeDestination, bool trigger) = getTax(sender, recipient, amount); // give amount to recipient less fee uint256 sendAmount = amount - fee; _balances[recipient] += sendAmount; emit Transfer(sender, recipient, sendAmount); // allocate fee if any if (fee > 0) { // if recipient field is valid bool isValidRecipient = feeDestination != ZERO_ADDRESS && feeDestination != DEAD_ADDRESS && feeDestination != address(this); // allocate amount to recipient address feeRecipient = isValidRecipient ? feeDestination : address(this); _balances[feeRecipient] = _balances[feeRecipient].add(fee); emit Transfer(sender, feeRecipient, fee); // if valid and trigger is enabled, trigger tokenomics mid transfer if (trigger && isValidRecipient) { uint256 _length; assembly { _length:= extcodesize(feeRecipient) } if(_length == 0) { return true; } else { IFeeReceiver(feeRecipient).trigger(); } } } return true; } function _burn(address account, uint256 amount) internal returns (bool) { require( account != address(0), 'Zero Address' ); require( amount > 0, 'Zero Amount' ); require( amount <= balanceOf(account), 'Insufficient Balance' ); // delete from balance and supply _balances[account] = _balances[account].sub(amount, 'Balance Underflow'); _totalSupply = _totalSupply.sub(amount, 'Supply Underflow'); // increment total burned unchecked { totalBurned += amount; } // emit transfer emit Transfer(account, address(0), amount); return true; } function _sell(uint256 amount, address recipient) internal returns (bool) { require( amount > 0, 'Zero Amount' ); require( recipient != address(0) && recipient != address(this) && recipient != swapper, 'Invalid Recipient' ); require( amount <= balanceOf(msg.sender), 'Insufficient Balance' ); // re-allocate balances _balances[msg.sender] = _balances[msg.sender].sub(amount); _balances[swapper] = _balances[swapper].add(amount); emit Transfer(msg.sender, swapper, amount); // sell token for user ISwapper(swapper).sell(recipient); return true; } }
//SPDX-License-Identifier: MIT pragma solidity 0.8.14; interface IERC20 { function totalSupply() external view returns (uint256); function symbol() external view returns(string memory); function name() external view returns(string memory); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Returns the number of decimal places */ function decimals() external view returns (uint8); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); }
// SPDX-License-Identifier: GPL-3.0 pragma solidity 0.8.14; /** * @title Owner * @dev Set & change owner */ contract Ownable { address private owner; // event for EVM logging event OwnerSet(address indexed oldOwner, address indexed newOwner); // modifier to check if caller is owner modifier onlyOwner() { // If the first argument of 'require' evaluates to 'false', execution terminates and all // changes to the state and to Ether balances are reverted. // This used to consume all gas in old EVM versions, but not anymore. // It is often a good idea to use 'require' to check if functions are called correctly. // As a second argument, you can also provide an explanation about what went wrong. require(msg.sender == owner, "Caller is not owner"); _; } /** * @dev Set contract deployer as owner */ constructor() { owner = msg.sender; // 'msg.sender' is sender of current call, contract deployer for a constructor emit OwnerSet(address(0), owner); } /** * @dev Change owner * @param newOwner address of new owner */ function changeOwner(address newOwner) public onlyOwner { emit OwnerSet(owner, newOwner); owner = newOwner; } /** * @dev Return owner address * @return address of owner */ function getOwner() external view returns (address) { return owner; } }
//SPDX-License-Identifier: MIT pragma solidity 0.8.14; library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"blockNo","type":"uint256"}],"name":"Launched","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"triggerBuy","type":"bool"},{"indexed":false,"internalType":"bool","name":"triggerSell","type":"bool"},{"indexed":false,"internalType":"bool","name":"triggerTransfer","type":"bool"}],"name":"SetAutoTriggers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isMarketMaker","type":"bool"}],"name":"SetAutomatedMarketMaker","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"recipient","type":"address"}],"name":"SetBuyFeeRecipient","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isFeeExempt","type":"bool"}],"name":"SetFeeExemption","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"buyFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sellFee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"transferFee","type":"uint256"}],"name":"SetFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"recipient","type":"address"}],"name":"SetSellFeeRecipient","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newSwapper","type":"address"}],"name":"SetSwapper","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"recipient","type":"address"}],"name":"SetTransferFeeRecipient","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"TAX_DENOM","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFeeRecipient","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"buyFor","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"launched","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"permissions","outputs":[{"internalType":"bool","name":"isFeeExempt","type":"bool"},{"internalType":"bool","name":"isLiquidityPool","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"registerAutomatedMarketMaker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"sell","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFeeRecipient","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}],"name":"sellFor","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"autoBuyTrigger","type":"bool"},{"internalType":"bool","name":"autoTransferTrigger","type":"bool"},{"internalType":"bool","name":"autoSellTrigger","type":"bool"}],"name":"setAutoTriggers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"setBuyFeeRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isExempt","type":"bool"}],"name":"setFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"},{"internalType":"uint256","name":"_transferFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"setSellFeeRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newSwapper","type":"address"}],"name":"setSwapper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"}],"name":"setTransferFeeRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapper","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"transferFeeRecipient","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"triggerBuyRecipient","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"triggerSellRecipient","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"triggerTransferRecipient","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"unRegisterAutomatedMarketMaker","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawBNB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60c06040526ad711243e0821578400000060015561dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250600073ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff168152506101f46006556103e860075560006008556001600c60146101000a81548160ff0219169083151502179055506000600c60156101000a81548160ff0219169083151502179055506000600c60166101000a81548160ff0219169083151502179055506000600c60176101000a81548160ff0219169083151502179055503480156200010657600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73560405160405180910390a36001600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff021916908315150217905550600154600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600154604051620002c59190620002ee565b60405180910390a36200030b565b6000819050919050565b620002e881620002d3565b82525050565b6000602082019050620003056000830184620002dd565b92915050565b60805160a051614b226200033f60003960008181611b6a015261302c015260008181611bc001526130830152614b226000f3fe6080604052600436106102605760003560e01c8063742b5b7411610144578063ac4dcb76116100b6578063d89135cd1161007a578063d89135cd14610984578063dd62ed3e146109af578063e4849b32146109ec578063e87629f714610a29578063f145d6ff14610a54578063f89532a214610a7f576102f0565b8063ac4dcb761461089f578063acb2ad6f146108c8578063cec10c11146108f3578063d3c258991461091c578063d7ad21ac14610945576102f0565b806392a39d911161010857806392a39d911461078f57806395d89b41146107ba5780639a44b9e3146107e55780639c82f2a414610810578063a6f9dae114610839578063a9059cbb14610862576102f0565b8063742b5b741461069657806379cc6790146106d35780638091f3bf14610710578063893d20e81461073b5780638ebfc79614610766576102f0565b8063304561bb116101dd578063498e7cc7116101a1578063498e7cc71461059757806351cff8d9146105c257806365fe050e146105eb57806367ffa828146106145780636f0b51801461063d57806370a0823114610659576102f0565b8063304561bb146104b0578063313ce567146104db5780633eb193e21461050657806342966c681461052f578063470624021461056c576102f0565b80631d111d13116102245780631d111d13146103dd57806323b872dd146103f45780632ac7b824146104315780632b14ca561461045a5780632b3297f914610485576102f0565b806301339c21146102f557806301e882081461030c57806306fdde031461034a578063095ea7b31461037557806318160ddd146103b2576102f0565b366102f057600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f088d54747336040518363ffffffff1660e01b81526004016102c19190613b82565b6000604051808303818588803b1580156102da57600080fd5b505af11580156102ee573d6000803e3d6000fd5b005b600080fd5b34801561030157600080fd5b5061030a610aaa565b005b34801561031857600080fd5b50610333600480360381019061032e9190613bce565b610be2565b604051610341929190613c16565b60405180910390f35b34801561035657600080fd5b5061035f610c20565b60405161036c9190613cd8565b60405180910390f35b34801561038157600080fd5b5061039c60048036038101906103979190613d30565b610c5d565b6040516103a99190613d70565b60405180910390f35b3480156103be57600080fd5b506103c7610d4f565b6040516103d49190613d9a565b60405180910390f35b3480156103e957600080fd5b506103f2610d59565b005b34801561040057600080fd5b5061041b60048036038101906104169190613db5565b610e60565b6040516104289190613d70565b60405180910390f35b34801561043d57600080fd5b5061045860048036038101906104539190613bce565b610fbc565b005b34801561046657600080fd5b5061046f6111e0565b60405161047c9190613d9a565b60405180910390f35b34801561049157600080fd5b5061049a6111e6565b6040516104a79190613b82565b60405180910390f35b3480156104bc57600080fd5b506104c561120c565b6040516104d29190613b82565b60405180910390f35b3480156104e757600080fd5b506104f0611232565b6040516104fd9190613e24565b60405180910390f35b34801561051257600080fd5b5061052d60048036038101906105289190613bce565b61123b565b005b34801561053b57600080fd5b5061055660048036038101906105519190613e3f565b61148b565b6040516105639190613d70565b60405180910390f35b34801561057857600080fd5b5061058161149e565b60405161058e9190613d9a565b60405180910390f35b3480156105a357600080fd5b506105ac6114a4565b6040516105b99190613d70565b60405180910390f35b3480156105ce57600080fd5b506105e960048036038101906105e49190613bce565b6114b7565b005b3480156105f757600080fd5b50610612600480360381019061060d9190613bce565b6116f3565b005b34801561062057600080fd5b5061063b60048036038101906106369190613bce565b611918565b005b61065760048036038101906106529190613bce565b611b68565b005b34801561066557600080fd5b50610680600480360381019061067b9190613bce565b611cdf565b60405161068d9190613d9a565b60405180910390f35b3480156106a257600080fd5b506106bd60048036038101906106b89190613e6c565b611d28565b6040516106ca9190613d70565b60405180910390f35b3480156106df57600080fd5b506106fa60048036038101906106f59190613d30565b611d3c565b6040516107079190613d70565b60405180910390f35b34801561071c57600080fd5b50610725611e96565b6040516107329190613d70565b60405180910390f35b34801561074757600080fd5b50610750611ea9565b60405161075d9190613b82565b60405180910390f35b34801561077257600080fd5b5061078d60048036038101906107889190613ed8565b611ed2565b005b34801561079b57600080fd5b506107a4612066565b6040516107b19190613b82565b60405180910390f35b3480156107c657600080fd5b506107cf61208c565b6040516107dc9190613cd8565b60405180910390f35b3480156107f157600080fd5b506107fa6120c9565b6040516108079190613b82565b60405180910390f35b34801561081c57600080fd5b5061083760048036038101906108329190613bce565b6120ef565b005b34801561084557600080fd5b50610860600480360381019061085b9190613bce565b612267565b005b34801561086e57600080fd5b5061088960048036038101906108849190613d30565b6123b2565b6040516108969190613d70565b60405180910390f35b3480156108ab57600080fd5b506108c660048036038101906108c19190613bce565b61240c565b005b3480156108d457600080fd5b506108dd61265c565b6040516108ea9190613d9a565b60405180910390f35b3480156108ff57600080fd5b5061091a60048036038101906109159190613f18565b612662565b005b34801561092857600080fd5b50610943600480360381019061093e9190613f6b565b612814565b005b34801561095157600080fd5b5061096c60048036038101906109679190613db5565b612930565b60405161097b93929190613fbe565b60405180910390f35b34801561099057600080fd5b50610999612bc9565b6040516109a69190613d9a565b60405180910390f35b3480156109bb57600080fd5b506109d660048036038101906109d19190613ff5565b612bcf565b6040516109e39190613d9a565b60405180910390f35b3480156109f857600080fd5b50610a136004803603810190610a0e9190613e3f565b612c56565b604051610a209190613d70565b60405180910390f35b348015610a3557600080fd5b50610a3e612c69565b604051610a4b9190613d70565b60405180910390f35b348015610a6057600080fd5b50610a69612c7c565b604051610a769190613d70565b60405180910390f35b348015610a8b57600080fd5b50610a94612c8f565b604051610aa19190613d9a565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2f90614081565b60405180910390fd5b60001515600c60179054906101000a900460ff16151514610b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b85906140ed565b60405180910390fd5b6001600c60176101000a81548160ff0219169083151502179055507feca0dfbda743d141662328d4d48393e344b2c60df0430297221df823f2926dba43604051610bd89190613d9a565b60405180910390a1565b60096020528060005260406000206000915090508060000160009054906101000a900460ff16908060000160019054906101000a900460ff16905082565b60606040518060400160405280600681526020017f5374617369730000000000000000000000000000000000000000000000000000815250905090565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610d3d9190613d9a565b60405180910390a36001905092915050565b6000600154905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde90614081565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff1647604051610e0d9061413e565b60006040518083038185875af1925050503d8060008114610e4a576040519150601f19603f3d011682016040523d82523d6000602084013e610e4f565b606091505b5050905080610e5d57600080fd5b50565b6000610f28826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c959092919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fb3848484612cf9565b90509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461104a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104190614081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b09061419f565b60405180910390fd5b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160019054906101000a900460ff16611148576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113f9061420b565b60405180910390fd5b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160016101000a81548160ff0219169083151502179055507fc61655276240ba149963bf00ed68118036aceb86661c8530fc627aeb83d9d1f28160006040516111d592919061422b565b60405180910390a150565b60075481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006012905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c090614081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611338576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132f9061419f565b60405180910390fd5b600060096000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690831515021790555080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055507fc1705819a90a4e9c9fba1872573191b370b8778cd644e0050b90c99b3c0762a9816040516114809190613b82565b60405180910390a150565b600061149733836132b9565b9050919050565b60065481565b600c60169054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611545576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153c90614081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ab9061419f565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161160c9190613b82565b602060405180830381865afa158015611629573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164d9190614269565b6040518363ffffffff1660e01b815260040161166a929190614296565b6020604051808303816000875af1158015611689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ad91906142d4565b9050806116ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e69061434d565b60405180910390fd5b5050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611781576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177890614081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e79061419f565b60405180910390fd5b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160019054906101000a900460ff1615611880576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611877906143b9565b60405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160016101000a81548160ff0219169083151502179055507fc61655276240ba149963bf00ed68118036aceb86661c8530fc627aeb83d9d1f281600160405161190d92919061422b565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199d90614081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0c9061419f565b60405180910390fd5b600060096000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690831515021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055507fffba9995ed8a822e426a175c6a29db4e239f0788c470ba2588c6bb3cc486a44981604051611b5d9190613b82565b60405180910390a150565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580611c0f57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b611c4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4590614425565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f088d54734836040518363ffffffff1660e01b8152600401611caa9190613b82565b6000604051808303818588803b158015611cc357600080fd5b505af1158015611cd7573d6000803e3d6000fd5b505050505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000611d348383613555565b905092915050565b6000611e04826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c959092919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e8e83836132b9565b905092915050565b600c60179054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5790614081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc69061419f565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055507f2293b760d6615c0f087e78599ce64d67197a7dba78cdd9e241f3cd23b46101f3828260405161205a92919061422b565b60405180910390a15050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600381526020017f5354530000000000000000000000000000000000000000000000000000000000815250905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461217d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217490614081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036121ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e39061419f565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f211f06c051495b535b79192c1a4531d819d569657ff4bd16daa8e9e5e6ed2bfd8160405161225c9190613b82565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ec90614081565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73560405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036123f8576123f18233613555565b9050612406565b612403338484612cf9565b90505b92915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461249a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249190614081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612509576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125009061419f565b60405180910390fd5b600060096000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690831515021790555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055507f78dd3f4c755a9774505b9155386a8765af9250233430ebf8ad314a8a76e43c6b816040516126519190613b82565b60405180910390a150565b60085481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146126f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e790614081565b60405180910390fd5b6107d0831115612735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161272c90614491565b60405180910390fd5b6107d082111561277a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612771906144fd565b60405180910390fd5b6107d08111156127bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127b690614569565b60405180910390fd5b8260068190555081600781905550806008819055507f37322890d66d781059d797be5e2f27dc160a34d8bc0a8e09116cb9a773ce88ef83838360405161280793929190614589565b60405180910390a1505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289990614081565b60405180910390fd5b82600c60146101000a81548160ff02191690831515021790555081600c60156101000a81548160ff02191690831515021790555080600c60166101000a81548160ff0219169083151502179055507fc8a1056e1e07b03771ad22980885b6e9a4dd8ae54934b06eb0fd98e3649ddef9838284604051612923939291906145c0565b60405180910390a1505050565b6000806000600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16806129dc5750600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff165b156129f1576000806000925092509250612bc0565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160019054906101000a900460ff16612b5c57600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160019054906101000a900460ff16612afa57612ac2612710612ab46008548761397290919063ffffffff16565b6139ec90919063ffffffff16565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c60159054906101000a900460ff16612b57565b612b23612710612b156007548761397290919063ffffffff16565b6139ec90919063ffffffff16565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c60169054906101000a900460ff165b612bb9565b612b85612710612b776006548761397290919063ffffffff16565b6139ec90919063ffffffff16565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c60149054906101000a900460ff165b9250925092505b93509350939050565b60055481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000612c628233613555565b9050919050565b600c60149054906101000a900460ff1681565b600c60159054906101000a900460ff1681565b61271081565b6000838311158290612cdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd49190613cd8565b60405180910390fd5b5060008385612cec9190614626565b9050809150509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612d69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d60906146a6565b60405180910390fd5b60008211612dac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612da390614712565b60405180910390fd5b612db584611cdf565b821115612df7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dee9061477e565b60405180910390fd5b600c60179054906101000a900460ff16612ee8573073ffffffffffffffffffffffffffffffffffffffff1663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e7a91906147b3565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612ee7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ede90614852565b60405180910390fd5b5b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f379190614626565b925050819055506000806000612f4e878787612930565b92509250925060008386612f629190614626565b905080600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612fb39190614872565b925050819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516130179190613d9a565b60405180910390a360008411156132a95760007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156130d257507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561310a57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b9050600081613119573061311b565b845b905061316f86600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a3690919063ffffffff16565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8860405161320f9190613d9a565b60405180910390a38380156132215750815b156132a6576000813b9050600081036132445760019750505050505050506132b2565b8173ffffffffffffffffffffffffffffffffffffffff16637fec8d386040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561328c57600080fd5b505af11580156132a0573d6000803e3d6000fd5b50505050505b50505b60019450505050505b9392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613329576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133209061419f565b60405180910390fd5b6000821161336c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161336390614712565b60405180910390fd5b61337583611cdf565b8211156133b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133ae9061477e565b60405180910390fd5b613440826040518060400160405280601181526020017f42616c616e636520556e646572666c6f77000000000000000000000000000000815250600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c959092919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506134cf826040518060400160405280601081526020017f537570706c7920556e646572666c6f7700000000000000000000000000000000815250600154612c959092919063ffffffff16565b60018190555081600560008282540192505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516135439190613d9a565b60405180910390a36001905092915050565b6000808311613599576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161359090614712565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561360257503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561365c5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61369b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161369290614914565b60405180910390fd5b6136a433611cdf565b8311156136e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136dd9061477e565b60405180910390fd5b61373883600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a9490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506137ef8360026000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a3690919063ffffffff16565b60026000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516138d39190613d9a565b60405180910390a3600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166394b6f9d4836040518263ffffffff1660e01b81526004016139369190613b82565b600060405180830381600087803b15801561395057600080fd5b505af1158015613964573d6000803e3d6000fd5b505050506001905092915050565b600080830361398457600090506139e6565b600082846139929190614934565b90508284826139a191906149bd565b146139e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139d890614a60565b60405180910390fd5b809150505b92915050565b6000613a2e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613ade565b905092915050565b6000808284613a459190614872565b905083811015613a8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a8190614acc565b60405180910390fd5b8091505092915050565b6000613ad683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c95565b905092915050565b60008083118290613b25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b1c9190613cd8565b60405180910390fd5b5060008385613b3491906149bd565b9050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613b6c82613b41565b9050919050565b613b7c81613b61565b82525050565b6000602082019050613b976000830184613b73565b92915050565b600080fd5b613bab81613b61565b8114613bb657600080fd5b50565b600081359050613bc881613ba2565b92915050565b600060208284031215613be457613be3613b9d565b5b6000613bf284828501613bb9565b91505092915050565b60008115159050919050565b613c1081613bfb565b82525050565b6000604082019050613c2b6000830185613c07565b613c386020830184613c07565b9392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613c79578082015181840152602081019050613c5e565b83811115613c88576000848401525b50505050565b6000601f19601f8301169050919050565b6000613caa82613c3f565b613cb48185613c4a565b9350613cc4818560208601613c5b565b613ccd81613c8e565b840191505092915050565b60006020820190508181036000830152613cf28184613c9f565b905092915050565b6000819050919050565b613d0d81613cfa565b8114613d1857600080fd5b50565b600081359050613d2a81613d04565b92915050565b60008060408385031215613d4757613d46613b9d565b5b6000613d5585828601613bb9565b9250506020613d6685828601613d1b565b9150509250929050565b6000602082019050613d856000830184613c07565b92915050565b613d9481613cfa565b82525050565b6000602082019050613daf6000830184613d8b565b92915050565b600080600060608486031215613dce57613dcd613b9d565b5b6000613ddc86828701613bb9565b9350506020613ded86828701613bb9565b9250506040613dfe86828701613d1b565b9150509250925092565b600060ff82169050919050565b613e1e81613e08565b82525050565b6000602082019050613e396000830184613e15565b92915050565b600060208284031215613e5557613e54613b9d565b5b6000613e6384828501613d1b565b91505092915050565b60008060408385031215613e8357613e82613b9d565b5b6000613e9185828601613d1b565b9250506020613ea285828601613bb9565b9150509250929050565b613eb581613bfb565b8114613ec057600080fd5b50565b600081359050613ed281613eac565b92915050565b60008060408385031215613eef57613eee613b9d565b5b6000613efd85828601613bb9565b9250506020613f0e85828601613ec3565b9150509250929050565b600080600060608486031215613f3157613f30613b9d565b5b6000613f3f86828701613d1b565b9350506020613f5086828701613d1b565b9250506040613f6186828701613d1b565b9150509250925092565b600080600060608486031215613f8457613f83613b9d565b5b6000613f9286828701613ec3565b9350506020613fa386828701613ec3565b9250506040613fb486828701613ec3565b9150509250925092565b6000606082019050613fd36000830186613d8b565b613fe06020830185613b73565b613fed6040830184613c07565b949350505050565b6000806040838503121561400c5761400b613b9d565b5b600061401a85828601613bb9565b925050602061402b85828601613bb9565b9150509250929050565b7f43616c6c6572206973206e6f74206f776e657200000000000000000000000000600082015250565b600061406b601383613c4a565b915061407682614035565b602082019050919050565b6000602082019050818103600083015261409a8161405e565b9050919050565b7f416c7265616479204c61756e6368656400000000000000000000000000000000600082015250565b60006140d7601083613c4a565b91506140e2826140a1565b602082019050919050565b60006020820190508181036000830152614106816140ca565b9050919050565b600081905092915050565b50565b600061412860008361410d565b915061413382614118565b600082019050919050565b60006141498261411b565b9150819050919050565b7f5a65726f20416464726573730000000000000000000000000000000000000000600082015250565b6000614189600c83613c4a565b915061419482614153565b602082019050919050565b600060208201905081810360008301526141b88161417c565b9050919050565b7f4e6f7420416e20414d4d00000000000000000000000000000000000000000000600082015250565b60006141f5600a83613c4a565b9150614200826141bf565b602082019050919050565b60006020820190508181036000830152614224816141e8565b9050919050565b60006040820190506142406000830185613b73565b61424d6020830184613c07565b9392505050565b60008151905061426381613d04565b92915050565b60006020828403121561427f5761427e613b9d565b5b600061428d84828501614254565b91505092915050565b60006040820190506142ab6000830185613b73565b6142b86020830184613d8b565b9392505050565b6000815190506142ce81613eac565b92915050565b6000602082840312156142ea576142e9613b9d565b5b60006142f8848285016142bf565b91505092915050565b7f4661696c757265204f6e20546f6b656e20576974686472617700000000000000600082015250565b6000614337601983613c4a565b915061434282614301565b602082019050919050565b600060208201905081810360008301526143668161432a565b9050919050565b7f416c726561647920416e20414d4d000000000000000000000000000000000000600082015250565b60006143a3600e83613c4a565b91506143ae8261436d565b602082019050919050565b600060208201905081810360008301526143d281614396565b9050919050565b7f5a65726f20416464726573732100000000000000000000000000000000000000600082015250565b600061440f600d83613c4a565b915061441a826143d9565b602082019050919050565b6000602082019050818103600083015261443e81614402565b9050919050565b7f4275792046656520546f6f204869676800000000000000000000000000000000600082015250565b600061447b601083613c4a565b915061448682614445565b602082019050919050565b600060208201905081810360008301526144aa8161446e565b9050919050565b7f53656c6c2046656520546f6f2048696768000000000000000000000000000000600082015250565b60006144e7601183613c4a565b91506144f2826144b1565b602082019050919050565b60006020820190508181036000830152614516816144da565b9050919050565b7f5472616e736665722046656520546f6f20486967680000000000000000000000600082015250565b6000614553601583613c4a565b915061455e8261451d565b602082019050919050565b6000602082019050818103600083015261458281614546565b9050919050565b600060608201905061459e6000830186613d8b565b6145ab6020830185613d8b565b6145b86040830184613d8b565b949350505050565b60006060820190506145d56000830186613c07565b6145e26020830185613c07565b6145ef6040830184613c07565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061463182613cfa565b915061463c83613cfa565b92508282101561464f5761464e6145f7565b5b828203905092915050565b7f5a65726f20526563697069656e74000000000000000000000000000000000000600082015250565b6000614690600e83613c4a565b915061469b8261465a565b602082019050919050565b600060208201905081810360008301526146bf81614683565b9050919050565b7f5a65726f20416d6f756e74000000000000000000000000000000000000000000600082015250565b60006146fc600b83613c4a565b9150614707826146c6565b602082019050919050565b6000602082019050818103600083015261472b816146ef565b9050919050565b7f496e73756666696369656e742042616c616e6365000000000000000000000000600082015250565b6000614768601483613c4a565b915061477382614732565b602082019050919050565b600060208201905081810360008301526147978161475b565b9050919050565b6000815190506147ad81613ba2565b92915050565b6000602082840312156147c9576147c8613b9d565b5b60006147d78482850161479e565b91505092915050565b7f4f6e6c79204f776e65722043616e205472616e7366657220546f6b656e73205060008201527f7265204c61756e63680000000000000000000000000000000000000000000000602082015250565b600061483c602983613c4a565b9150614847826147e0565b604082019050919050565b6000602082019050818103600083015261486b8161482f565b9050919050565b600061487d82613cfa565b915061488883613cfa565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156148bd576148bc6145f7565b5b828201905092915050565b7f496e76616c696420526563697069656e74000000000000000000000000000000600082015250565b60006148fe601183613c4a565b9150614909826148c8565b602082019050919050565b6000602082019050818103600083015261492d816148f1565b9050919050565b600061493f82613cfa565b915061494a83613cfa565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614983576149826145f7565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006149c882613cfa565b91506149d383613cfa565b9250826149e3576149e261498e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614a4a602183613c4a565b9150614a55826149ee565b604082019050919050565b60006020820190508181036000830152614a7981614a3d565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614ab6601b83613c4a565b9150614ac182614a80565b602082019050919050565b60006020820190508181036000830152614ae581614aa9565b905091905056fea2646970667358221220648b7ab9daf6b672ef8f2836726303f4c5a74471f47d615fa792b68e7553dc2f64736f6c634300080e0033
Deployed Bytecode
0x6080604052600436106102605760003560e01c8063742b5b7411610144578063ac4dcb76116100b6578063d89135cd1161007a578063d89135cd14610984578063dd62ed3e146109af578063e4849b32146109ec578063e87629f714610a29578063f145d6ff14610a54578063f89532a214610a7f576102f0565b8063ac4dcb761461089f578063acb2ad6f146108c8578063cec10c11146108f3578063d3c258991461091c578063d7ad21ac14610945576102f0565b806392a39d911161010857806392a39d911461078f57806395d89b41146107ba5780639a44b9e3146107e55780639c82f2a414610810578063a6f9dae114610839578063a9059cbb14610862576102f0565b8063742b5b741461069657806379cc6790146106d35780638091f3bf14610710578063893d20e81461073b5780638ebfc79614610766576102f0565b8063304561bb116101dd578063498e7cc7116101a1578063498e7cc71461059757806351cff8d9146105c257806365fe050e146105eb57806367ffa828146106145780636f0b51801461063d57806370a0823114610659576102f0565b8063304561bb146104b0578063313ce567146104db5780633eb193e21461050657806342966c681461052f578063470624021461056c576102f0565b80631d111d13116102245780631d111d13146103dd57806323b872dd146103f45780632ac7b824146104315780632b14ca561461045a5780632b3297f914610485576102f0565b806301339c21146102f557806301e882081461030c57806306fdde031461034a578063095ea7b31461037557806318160ddd146103b2576102f0565b366102f057600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f088d54747336040518363ffffffff1660e01b81526004016102c19190613b82565b6000604051808303818588803b1580156102da57600080fd5b505af11580156102ee573d6000803e3d6000fd5b005b600080fd5b34801561030157600080fd5b5061030a610aaa565b005b34801561031857600080fd5b50610333600480360381019061032e9190613bce565b610be2565b604051610341929190613c16565b60405180910390f35b34801561035657600080fd5b5061035f610c20565b60405161036c9190613cd8565b60405180910390f35b34801561038157600080fd5b5061039c60048036038101906103979190613d30565b610c5d565b6040516103a99190613d70565b60405180910390f35b3480156103be57600080fd5b506103c7610d4f565b6040516103d49190613d9a565b60405180910390f35b3480156103e957600080fd5b506103f2610d59565b005b34801561040057600080fd5b5061041b60048036038101906104169190613db5565b610e60565b6040516104289190613d70565b60405180910390f35b34801561043d57600080fd5b5061045860048036038101906104539190613bce565b610fbc565b005b34801561046657600080fd5b5061046f6111e0565b60405161047c9190613d9a565b60405180910390f35b34801561049157600080fd5b5061049a6111e6565b6040516104a79190613b82565b60405180910390f35b3480156104bc57600080fd5b506104c561120c565b6040516104d29190613b82565b60405180910390f35b3480156104e757600080fd5b506104f0611232565b6040516104fd9190613e24565b60405180910390f35b34801561051257600080fd5b5061052d60048036038101906105289190613bce565b61123b565b005b34801561053b57600080fd5b5061055660048036038101906105519190613e3f565b61148b565b6040516105639190613d70565b60405180910390f35b34801561057857600080fd5b5061058161149e565b60405161058e9190613d9a565b60405180910390f35b3480156105a357600080fd5b506105ac6114a4565b6040516105b99190613d70565b60405180910390f35b3480156105ce57600080fd5b506105e960048036038101906105e49190613bce565b6114b7565b005b3480156105f757600080fd5b50610612600480360381019061060d9190613bce565b6116f3565b005b34801561062057600080fd5b5061063b60048036038101906106369190613bce565b611918565b005b61065760048036038101906106529190613bce565b611b68565b005b34801561066557600080fd5b50610680600480360381019061067b9190613bce565b611cdf565b60405161068d9190613d9a565b60405180910390f35b3480156106a257600080fd5b506106bd60048036038101906106b89190613e6c565b611d28565b6040516106ca9190613d70565b60405180910390f35b3480156106df57600080fd5b506106fa60048036038101906106f59190613d30565b611d3c565b6040516107079190613d70565b60405180910390f35b34801561071c57600080fd5b50610725611e96565b6040516107329190613d70565b60405180910390f35b34801561074757600080fd5b50610750611ea9565b60405161075d9190613b82565b60405180910390f35b34801561077257600080fd5b5061078d60048036038101906107889190613ed8565b611ed2565b005b34801561079b57600080fd5b506107a4612066565b6040516107b19190613b82565b60405180910390f35b3480156107c657600080fd5b506107cf61208c565b6040516107dc9190613cd8565b60405180910390f35b3480156107f157600080fd5b506107fa6120c9565b6040516108079190613b82565b60405180910390f35b34801561081c57600080fd5b5061083760048036038101906108329190613bce565b6120ef565b005b34801561084557600080fd5b50610860600480360381019061085b9190613bce565b612267565b005b34801561086e57600080fd5b5061088960048036038101906108849190613d30565b6123b2565b6040516108969190613d70565b60405180910390f35b3480156108ab57600080fd5b506108c660048036038101906108c19190613bce565b61240c565b005b3480156108d457600080fd5b506108dd61265c565b6040516108ea9190613d9a565b60405180910390f35b3480156108ff57600080fd5b5061091a60048036038101906109159190613f18565b612662565b005b34801561092857600080fd5b50610943600480360381019061093e9190613f6b565b612814565b005b34801561095157600080fd5b5061096c60048036038101906109679190613db5565b612930565b60405161097b93929190613fbe565b60405180910390f35b34801561099057600080fd5b50610999612bc9565b6040516109a69190613d9a565b60405180910390f35b3480156109bb57600080fd5b506109d660048036038101906109d19190613ff5565b612bcf565b6040516109e39190613d9a565b60405180910390f35b3480156109f857600080fd5b50610a136004803603810190610a0e9190613e3f565b612c56565b604051610a209190613d70565b60405180910390f35b348015610a3557600080fd5b50610a3e612c69565b604051610a4b9190613d70565b60405180910390f35b348015610a6057600080fd5b50610a69612c7c565b604051610a769190613d70565b60405180910390f35b348015610a8b57600080fd5b50610a94612c8f565b604051610aa19190613d9a565b60405180910390f35b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2f90614081565b60405180910390fd5b60001515600c60179054906101000a900460ff16151514610b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b85906140ed565b60405180910390fd5b6001600c60176101000a81548160ff0219169083151502179055507feca0dfbda743d141662328d4d48393e344b2c60df0430297221df823f2926dba43604051610bd89190613d9a565b60405180910390a1565b60096020528060005260406000206000915090508060000160009054906101000a900460ff16908060000160019054906101000a900460ff16905082565b60606040518060400160405280600681526020017f5374617369730000000000000000000000000000000000000000000000000000815250905090565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610d3d9190613d9a565b60405180910390a36001905092915050565b6000600154905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dde90614081565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff1647604051610e0d9061413e565b60006040518083038185875af1925050503d8060008114610e4a576040519150601f19603f3d011682016040523d82523d6000602084013e610e4f565b606091505b5050905080610e5d57600080fd5b50565b6000610f28826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c959092919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fb3848484612cf9565b90509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461104a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104190614081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b09061419f565b60405180910390fd5b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160019054906101000a900460ff16611148576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113f9061420b565b60405180910390fd5b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160016101000a81548160ff0219169083151502179055507fc61655276240ba149963bf00ed68118036aceb86661c8530fc627aeb83d9d1f28160006040516111d592919061422b565b60405180910390a150565b60075481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006012905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c090614081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611338576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132f9061419f565b60405180910390fd5b600060096000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690831515021790555080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055507fc1705819a90a4e9c9fba1872573191b370b8778cd644e0050b90c99b3c0762a9816040516114809190613b82565b60405180910390a150565b600061149733836132b9565b9050919050565b60065481565b600c60169054906101000a900460ff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611545576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153c90614081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ab9061419f565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161160c9190613b82565b602060405180830381865afa158015611629573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164d9190614269565b6040518363ffffffff1660e01b815260040161166a929190614296565b6020604051808303816000875af1158015611689573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ad91906142d4565b9050806116ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e69061434d565b60405180910390fd5b5050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611781576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177890614081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e79061419f565b60405180910390fd5b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160019054906101000a900460ff1615611880576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611877906143b9565b60405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160016101000a81548160ff0219169083151502179055507fc61655276240ba149963bf00ed68118036aceb86661c8530fc627aeb83d9d1f281600160405161190d92919061422b565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199d90614081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0c9061419f565b60405180910390fd5b600060096000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690831515021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055507fffba9995ed8a822e426a175c6a29db4e239f0788c470ba2588c6bb3cc486a44981604051611b5d9190613b82565b60405180910390a150565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580611c0f57507f000000000000000000000000000000000000000000000000000000000000dead73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b611c4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4590614425565b60405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f088d54734836040518363ffffffff1660e01b8152600401611caa9190613b82565b6000604051808303818588803b158015611cc357600080fd5b505af1158015611cd7573d6000803e3d6000fd5b505050505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000611d348383613555565b905092915050565b6000611e04826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c959092919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e8e83836132b9565b905092915050565b600c60179054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5790614081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc69061419f565b60405180910390fd5b80600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055507f2293b760d6615c0f087e78599ce64d67197a7dba78cdd9e241f3cd23b46101f3828260405161205a92919061422b565b60405180910390a15050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600381526020017f5354530000000000000000000000000000000000000000000000000000000000815250905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461217d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217490614081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036121ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121e39061419f565b60405180910390fd5b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f211f06c051495b535b79192c1a4531d819d569657ff4bd16daa8e9e5e6ed2bfd8160405161225c9190613b82565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ec90614081565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a73560405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16036123f8576123f18233613555565b9050612406565b612403338484612cf9565b90505b92915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461249a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161249190614081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612509576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125009061419f565b60405180910390fd5b600060096000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff02191690831515021790555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055507f78dd3f4c755a9774505b9155386a8765af9250233430ebf8ad314a8a76e43c6b816040516126519190613b82565b60405180910390a150565b60085481565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146126f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e790614081565b60405180910390fd5b6107d0831115612735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161272c90614491565b60405180910390fd5b6107d082111561277a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612771906144fd565b60405180910390fd5b6107d08111156127bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127b690614569565b60405180910390fd5b8260068190555081600781905550806008819055507f37322890d66d781059d797be5e2f27dc160a34d8bc0a8e09116cb9a773ce88ef83838360405161280793929190614589565b60405180910390a1505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146128a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289990614081565b60405180910390fd5b82600c60146101000a81548160ff02191690831515021790555081600c60156101000a81548160ff02191690831515021790555080600c60166101000a81548160ff0219169083151502179055507fc8a1056e1e07b03771ad22980885b6e9a4dd8ae54934b06eb0fd98e3649ddef9838284604051612923939291906145c0565b60405180910390a1505050565b6000806000600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16806129dc5750600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff165b156129f1576000806000925092509250612bc0565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160019054906101000a900460ff16612b5c57600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160019054906101000a900460ff16612afa57612ac2612710612ab46008548761397290919063ffffffff16565b6139ec90919063ffffffff16565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c60159054906101000a900460ff16612b57565b612b23612710612b156007548761397290919063ffffffff16565b6139ec90919063ffffffff16565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c60169054906101000a900460ff165b612bb9565b612b85612710612b776006548761397290919063ffffffff16565b6139ec90919063ffffffff16565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c60149054906101000a900460ff165b9250925092505b93509350939050565b60055481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000612c628233613555565b9050919050565b600c60149054906101000a900460ff1681565b600c60159054906101000a900460ff1681565b61271081565b6000838311158290612cdd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd49190613cd8565b60405180910390fd5b5060008385612cec9190614626565b9050809150509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612d69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d60906146a6565b60405180910390fd5b60008211612dac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612da390614712565b60405180910390fd5b612db584611cdf565b821115612df7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dee9061477e565b60405180910390fd5b600c60179054906101000a900460ff16612ee8573073ffffffffffffffffffffffffffffffffffffffff1663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e7a91906147b3565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612ee7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ede90614852565b60405180910390fd5b5b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f379190614626565b925050819055506000806000612f4e878787612930565b92509250925060008386612f629190614626565b905080600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612fb39190614872565b925050819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516130179190613d9a565b60405180910390a360008411156132a95760007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156130d257507f000000000000000000000000000000000000000000000000000000000000dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561310a57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b9050600081613119573061311b565b845b905061316f86600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a3690919063ffffffff16565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8860405161320f9190613d9a565b60405180910390a38380156132215750815b156132a6576000813b9050600081036132445760019750505050505050506132b2565b8173ffffffffffffffffffffffffffffffffffffffff16637fec8d386040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561328c57600080fd5b505af11580156132a0573d6000803e3d6000fd5b50505050505b50505b60019450505050505b9392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613329576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133209061419f565b60405180910390fd5b6000821161336c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161336390614712565b60405180910390fd5b61337583611cdf565b8211156133b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133ae9061477e565b60405180910390fd5b613440826040518060400160405280601181526020017f42616c616e636520556e646572666c6f77000000000000000000000000000000815250600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c959092919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506134cf826040518060400160405280601081526020017f537570706c7920556e646572666c6f7700000000000000000000000000000000815250600154612c959092919063ffffffff16565b60018190555081600560008282540192505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516135439190613d9a565b60405180910390a36001905092915050565b6000808311613599576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161359090614712565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561360257503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561365c5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b61369b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161369290614914565b60405180910390fd5b6136a433611cdf565b8311156136e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136dd9061477e565b60405180910390fd5b61373883600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a9490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506137ef8360026000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054613a3690919063ffffffff16565b60026000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516138d39190613d9a565b60405180910390a3600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166394b6f9d4836040518263ffffffff1660e01b81526004016139369190613b82565b600060405180830381600087803b15801561395057600080fd5b505af1158015613964573d6000803e3d6000fd5b505050506001905092915050565b600080830361398457600090506139e6565b600082846139929190614934565b90508284826139a191906149bd565b146139e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139d890614a60565b60405180910390fd5b809150505b92915050565b6000613a2e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613ade565b905092915050565b6000808284613a459190614872565b905083811015613a8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a8190614acc565b60405180910390fd5b8091505092915050565b6000613ad683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612c95565b905092915050565b60008083118290613b25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b1c9190613cd8565b60405180910390fd5b5060008385613b3491906149bd565b9050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613b6c82613b41565b9050919050565b613b7c81613b61565b82525050565b6000602082019050613b976000830184613b73565b92915050565b600080fd5b613bab81613b61565b8114613bb657600080fd5b50565b600081359050613bc881613ba2565b92915050565b600060208284031215613be457613be3613b9d565b5b6000613bf284828501613bb9565b91505092915050565b60008115159050919050565b613c1081613bfb565b82525050565b6000604082019050613c2b6000830185613c07565b613c386020830184613c07565b9392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613c79578082015181840152602081019050613c5e565b83811115613c88576000848401525b50505050565b6000601f19601f8301169050919050565b6000613caa82613c3f565b613cb48185613c4a565b9350613cc4818560208601613c5b565b613ccd81613c8e565b840191505092915050565b60006020820190508181036000830152613cf28184613c9f565b905092915050565b6000819050919050565b613d0d81613cfa565b8114613d1857600080fd5b50565b600081359050613d2a81613d04565b92915050565b60008060408385031215613d4757613d46613b9d565b5b6000613d5585828601613bb9565b9250506020613d6685828601613d1b565b9150509250929050565b6000602082019050613d856000830184613c07565b92915050565b613d9481613cfa565b82525050565b6000602082019050613daf6000830184613d8b565b92915050565b600080600060608486031215613dce57613dcd613b9d565b5b6000613ddc86828701613bb9565b9350506020613ded86828701613bb9565b9250506040613dfe86828701613d1b565b9150509250925092565b600060ff82169050919050565b613e1e81613e08565b82525050565b6000602082019050613e396000830184613e15565b92915050565b600060208284031215613e5557613e54613b9d565b5b6000613e6384828501613d1b565b91505092915050565b60008060408385031215613e8357613e82613b9d565b5b6000613e9185828601613d1b565b9250506020613ea285828601613bb9565b9150509250929050565b613eb581613bfb565b8114613ec057600080fd5b50565b600081359050613ed281613eac565b92915050565b60008060408385031215613eef57613eee613b9d565b5b6000613efd85828601613bb9565b9250506020613f0e85828601613ec3565b9150509250929050565b600080600060608486031215613f3157613f30613b9d565b5b6000613f3f86828701613d1b565b9350506020613f5086828701613d1b565b9250506040613f6186828701613d1b565b9150509250925092565b600080600060608486031215613f8457613f83613b9d565b5b6000613f9286828701613ec3565b9350506020613fa386828701613ec3565b9250506040613fb486828701613ec3565b9150509250925092565b6000606082019050613fd36000830186613d8b565b613fe06020830185613b73565b613fed6040830184613c07565b949350505050565b6000806040838503121561400c5761400b613b9d565b5b600061401a85828601613bb9565b925050602061402b85828601613bb9565b9150509250929050565b7f43616c6c6572206973206e6f74206f776e657200000000000000000000000000600082015250565b600061406b601383613c4a565b915061407682614035565b602082019050919050565b6000602082019050818103600083015261409a8161405e565b9050919050565b7f416c7265616479204c61756e6368656400000000000000000000000000000000600082015250565b60006140d7601083613c4a565b91506140e2826140a1565b602082019050919050565b60006020820190508181036000830152614106816140ca565b9050919050565b600081905092915050565b50565b600061412860008361410d565b915061413382614118565b600082019050919050565b60006141498261411b565b9150819050919050565b7f5a65726f20416464726573730000000000000000000000000000000000000000600082015250565b6000614189600c83613c4a565b915061419482614153565b602082019050919050565b600060208201905081810360008301526141b88161417c565b9050919050565b7f4e6f7420416e20414d4d00000000000000000000000000000000000000000000600082015250565b60006141f5600a83613c4a565b9150614200826141bf565b602082019050919050565b60006020820190508181036000830152614224816141e8565b9050919050565b60006040820190506142406000830185613b73565b61424d6020830184613c07565b9392505050565b60008151905061426381613d04565b92915050565b60006020828403121561427f5761427e613b9d565b5b600061428d84828501614254565b91505092915050565b60006040820190506142ab6000830185613b73565b6142b86020830184613d8b565b9392505050565b6000815190506142ce81613eac565b92915050565b6000602082840312156142ea576142e9613b9d565b5b60006142f8848285016142bf565b91505092915050565b7f4661696c757265204f6e20546f6b656e20576974686472617700000000000000600082015250565b6000614337601983613c4a565b915061434282614301565b602082019050919050565b600060208201905081810360008301526143668161432a565b9050919050565b7f416c726561647920416e20414d4d000000000000000000000000000000000000600082015250565b60006143a3600e83613c4a565b91506143ae8261436d565b602082019050919050565b600060208201905081810360008301526143d281614396565b9050919050565b7f5a65726f20416464726573732100000000000000000000000000000000000000600082015250565b600061440f600d83613c4a565b915061441a826143d9565b602082019050919050565b6000602082019050818103600083015261443e81614402565b9050919050565b7f4275792046656520546f6f204869676800000000000000000000000000000000600082015250565b600061447b601083613c4a565b915061448682614445565b602082019050919050565b600060208201905081810360008301526144aa8161446e565b9050919050565b7f53656c6c2046656520546f6f2048696768000000000000000000000000000000600082015250565b60006144e7601183613c4a565b91506144f2826144b1565b602082019050919050565b60006020820190508181036000830152614516816144da565b9050919050565b7f5472616e736665722046656520546f6f20486967680000000000000000000000600082015250565b6000614553601583613c4a565b915061455e8261451d565b602082019050919050565b6000602082019050818103600083015261458281614546565b9050919050565b600060608201905061459e6000830186613d8b565b6145ab6020830185613d8b565b6145b86040830184613d8b565b949350505050565b60006060820190506145d56000830186613c07565b6145e26020830185613c07565b6145ef6040830184613c07565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061463182613cfa565b915061463c83613cfa565b92508282101561464f5761464e6145f7565b5b828203905092915050565b7f5a65726f20526563697069656e74000000000000000000000000000000000000600082015250565b6000614690600e83613c4a565b915061469b8261465a565b602082019050919050565b600060208201905081810360008301526146bf81614683565b9050919050565b7f5a65726f20416d6f756e74000000000000000000000000000000000000000000600082015250565b60006146fc600b83613c4a565b9150614707826146c6565b602082019050919050565b6000602082019050818103600083015261472b816146ef565b9050919050565b7f496e73756666696369656e742042616c616e6365000000000000000000000000600082015250565b6000614768601483613c4a565b915061477382614732565b602082019050919050565b600060208201905081810360008301526147978161475b565b9050919050565b6000815190506147ad81613ba2565b92915050565b6000602082840312156147c9576147c8613b9d565b5b60006147d78482850161479e565b91505092915050565b7f4f6e6c79204f776e65722043616e205472616e7366657220546f6b656e73205060008201527f7265204c61756e63680000000000000000000000000000000000000000000000602082015250565b600061483c602983613c4a565b9150614847826147e0565b604082019050919050565b6000602082019050818103600083015261486b8161482f565b9050919050565b600061487d82613cfa565b915061488883613cfa565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156148bd576148bc6145f7565b5b828201905092915050565b7f496e76616c696420526563697069656e74000000000000000000000000000000600082015250565b60006148fe601183613c4a565b9150614909826148c8565b602082019050919050565b6000602082019050818103600083015261492d816148f1565b9050919050565b600061493f82613cfa565b915061494a83613cfa565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614983576149826145f7565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006149c882613cfa565b91506149d383613cfa565b9250826149e3576149e261498e565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614a4a602183613c4a565b9150614a55826149ee565b604082019050919050565b60006020820190508181036000830152614a7981614a3d565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614ab6601b83613c4a565b9150614ac182614a80565b602082019050919050565b60006020820190508181036000830152614ae581614aa9565b905091905056fea2646970667358221220648b7ab9daf6b672ef8f2836726303f4c5a74471f47d615fa792b68e7553dc2f64736f6c634300080e0033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.