false
false
0

Contract Address Details

0x6717d9077Ba2fabDd3942ac416612A8F476B8CD5

Token
tEXFI (test EXFI)
Creator
0x4e1899–2008d7 at 0x58cf7b–b5ee04
Balance
0 CFLR
Tokens
Fetching tokens...
Transactions
1,824 Transactions
Transfers
2 Transfers
Gas Used
78,710,730
Last Balance Update
14527199
Warning! Contract bytecode has been changed and doesn't match the verified one. Therefore, interaction with this smart contract may be risky.
Contract name:
ERC20




Optimization enabled
true
Compiler version
v0.8.9+commit.e5eed63a




Optimization runs
200
EVM Version
default




Verified at
2022-11-13T23:57:01.437148Z

Constructor Arguments

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000033b2e3c9fd0803ce80000000000000000000000000000000000000000000000000000000000000000000005744558464900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000097465737420455846490000000000000000000000000000000000000000000000

Arg [0] (string) : tEXFI
Arg [1] (string) : test EXFI
Arg [2] (uint8) : 18
Arg [3] (uint256) : 1000000000000000000000000000

              

Contract source code

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

interface IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

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

/**
 * @dev Implementation of the {IERC20} interface.
 *
 * This implementation is agnostic to the way tokens are created. This means
 * that a supply mechanism has to be added in a derived contract using {_mint}.
 * For a generic mechanism see {ERC20PresetMinterPauser}.
 *
 * TIP: For a detailed writeup see our guide
 * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How
 * to implement supply mechanisms].
 *
 * We have followed general OpenZeppelin guidelines: functions revert instead
 * of returning `false` on failure. This behavior is nonetheless conventional
 * and does not conflict with the expectations of ERC20 applications.
 *
 * Additionally, an {Approval} event is emitted on calls to {transferFrom}.
 * This allows applications to reconstruct the allowance for all accounts just
 * by listening to said events. Other implementations of the EIP may not emit
 * these events, as it isn't required by the specification.
 *
 * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}
 * functions have been added to mitigate the well-known issues around setting
 * allowances. See {IERC20-approve}.
 */
contract ERC20 is IERC20 {
    mapping (address => uint256) private _balances;

    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    /**
     * @dev Sets the values for {name} and {symbol}.
     *
     * The default value of {decimals} is 18. To select a different value for
     * {decimals} you should overload it.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory name_, string memory symbol_, uint8 decimals_, uint totalSupply_) {
        _name = name_;
        _symbol = symbol_;
        _decimals = decimals_;
        _balances[msg.sender] = totalSupply_;
        _totalSupply = totalSupply_;
        emit Transfer(address(0), msg.sender, totalSupply_);
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

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

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }
    
    function mint() external {
        _mint(msg.sender, 1000 * 10 ** _decimals);
    }
    
    function mint(uint amount) external {
        _mint(msg.sender, amount);
    }
    
    function mintTo(address recipient) external {
        _mint(recipient, 1000 * 10 ** _decimals);
    }
    
    function mintTo(address recipient, uint amount) external {
        _mint(recipient, amount);
    }

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][msg.sender];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        _approve(sender, msg.sender, currentAllowance - amount);

        return true;
    }

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

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[msg.sender][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(msg.sender, spender, currentAllowance - subtractedValue);

        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function _mint(address recipient, uint amount) internal {
        _balances[recipient] += amount;
        _totalSupply += amount;
        emit Transfer(address(0), recipient, amount);
        
    }
}
        

Contract ABI

[{"type":"constructor","stateMutability":"nonpayable","inputs":[{"type":"string","name":"name_","internalType":"string"},{"type":"string","name":"symbol_","internalType":"string"},{"type":"uint8","name":"decimals_","internalType":"uint8"},{"type":"uint256","name":"totalSupply_","internalType":"uint256"}]},{"type":"event","name":"Approval","inputs":[{"type":"address","name":"owner","internalType":"address","indexed":true},{"type":"address","name":"spender","internalType":"address","indexed":true},{"type":"uint256","name":"value","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"type":"address","name":"from","internalType":"address","indexed":true},{"type":"address","name":"to","internalType":"address","indexed":true},{"type":"uint256","name":"value","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"allowance","inputs":[{"type":"address","name":"owner","internalType":"address"},{"type":"address","name":"spender","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"approve","inputs":[{"type":"address","name":"spender","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"balanceOf","inputs":[{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint8","name":"","internalType":"uint8"}],"name":"decimals","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"decreaseAllowance","inputs":[{"type":"address","name":"spender","internalType":"address"},{"type":"uint256","name":"subtractedValue","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"increaseAllowance","inputs":[{"type":"address","name":"spender","internalType":"address"},{"type":"uint256","name":"addedValue","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"mint","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"mint","inputs":[{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"mintTo","inputs":[{"type":"address","name":"recipient","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"mintTo","inputs":[{"type":"address","name":"recipient","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"name","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"string","name":"","internalType":"string"}],"name":"symbol","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"totalSupply","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transfer","inputs":[{"type":"address","name":"recipient","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"transferFrom","inputs":[{"type":"address","name":"sender","internalType":"address"},{"type":"address","name":"recipient","internalType":"address"},{"type":"uint256","name":"amount","internalType":"uint256"}]}]
              

Contract Creation Code

0x60806040523480156200001157600080fd5b5060405162000ea338038062000ea3833981016040819052620000349162000233565b835162000049906003906020870190620000c0565b5082516200005f906004906020860190620000c0565b506005805460ff191660ff8416179055336000818152602081815260408083208590556002859055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050620002fb565b828054620000ce90620002be565b90600052602060002090601f016020900481019282620000f257600085556200013d565b82601f106200010d57805160ff19168380011785556200013d565b828001600101855582156200013d579182015b828111156200013d57825182559160200191906001019062000120565b506200014b9291506200014f565b5090565b5b808211156200014b576000815560010162000150565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200018e57600080fd5b81516001600160401b0380821115620001ab57620001ab62000166565b604051601f8301601f19908116603f01168101908282118183101715620001d657620001d662000166565b81604052838152602092508683858801011115620001f357600080fd5b600091505b83821015620002175785820183015181830184015290820190620001f8565b83821115620002295760008385830101525b9695505050505050565b600080600080608085870312156200024a57600080fd5b84516001600160401b03808211156200026257600080fd5b62000270888389016200017c565b955060208701519150808211156200028757600080fd5b5062000296878288016200017c565b935050604085015160ff81168114620002ae57600080fd5b6060959095015193969295505050565b600181811c90821680620002d357607f821691505b60208210811415620002f557634e487b7160e01b600052602260045260246000fd5b50919050565b610b98806200030b6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063449a52f811610097578063a0712d6811610066578063a0712d68146101e9578063a457c2d7146101fc578063a9059cbb1461020f578063dd62ed3e1461022257600080fd5b8063449a52f81461019257806370a08231146101a5578063755edd17146101ce57806395d89b41146101e157600080fd5b806318160ddd116100d357806318160ddd1461014557806323b872dd14610157578063313ce5671461016a578063395093511461017f57600080fd5b806306fdde03146100fa578063095ea7b3146101185780631249c58b1461013b575b600080fd5b61010261025b565b60405161010f919061088b565b60405180910390f35b61012b6101263660046108fc565b6102ed565b604051901515815260200161010f565b610143610304565b005b6002545b60405190815260200161010f565b61012b610165366004610926565b61032e565b60055460405160ff909116815260200161010f565b61012b61018d3660046108fc565b6103e4565b6101436101a03660046108fc565b61041b565b6101496101b3366004610962565b6001600160a01b031660009081526020819052604090205490565b6101436101dc366004610962565b610429565b610102610443565b6101436101f7366004610984565b610452565b61012b61020a3660046108fc565b61045c565b61012b61021d3660046108fc565b6104f7565b61014961023036600461099d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60606003805461026a906109d0565b80601f0160208091040260200160405190810160405280929190818152602001828054610296906109d0565b80156102e35780601f106102b8576101008083540402835291602001916102e3565b820191906000526020600020905b8154815290600101906020018083116102c657829003601f168201915b5050505050905090565b60006102fa338484610504565b5060015b92915050565b60055461032c90339061031b9060ff16600a610b05565b610327906103e8610b14565b610628565b565b600061033b8484846106b3565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156103c55760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6103d985336103d48685610b33565b610504565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102fa9185906103d4908690610b4a565b6104258282610628565b5050565b60055461044090829061031b9060ff16600a610b05565b50565b60606004805461026a906109d0565b6104403382610628565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156104de5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016103bc565b6104ed33856103d48685610b33565b5060019392505050565b60006102fa3384846106b3565b6001600160a01b0383166105665760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103bc565b6001600160a01b0382166105c75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103bc565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03821660009081526020819052604081208054839290610650908490610b4a565b9250508190555080600260008282546106699190610b4a565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b0383166107175760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103bc565b6001600160a01b0382166107795760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103bc565b6001600160a01b038316600090815260208190526040902054818110156107f15760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103bc565b6107fb8282610b33565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290610831908490610b4a565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161087d91815260200190565b60405180910390a350505050565b600060208083528351808285015260005b818110156108b85785810183015185820160400152820161089c565b818111156108ca576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146108f757600080fd5b919050565b6000806040838503121561090f57600080fd5b610918836108e0565b946020939093013593505050565b60008060006060848603121561093b57600080fd5b610944846108e0565b9250610952602085016108e0565b9150604084013590509250925092565b60006020828403121561097457600080fd5b61097d826108e0565b9392505050565b60006020828403121561099657600080fd5b5035919050565b600080604083850312156109b057600080fd5b6109b9836108e0565b91506109c7602084016108e0565b90509250929050565b600181811c908216806109e457607f821691505b60208210811415610a0557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610a5c578160001904821115610a4257610a42610a0b565b80851615610a4f57918102915b93841c9390800290610a26565b509250929050565b600082610a73575060016102fe565b81610a80575060006102fe565b8160018114610a965760028114610aa057610abc565b60019150506102fe565b60ff841115610ab157610ab1610a0b565b50506001821b6102fe565b5060208310610133831016604e8410600b8410161715610adf575081810a6102fe565b610ae98383610a21565b8060001904821115610afd57610afd610a0b565b029392505050565b600061097d60ff841683610a64565b6000816000190483118215151615610b2e57610b2e610a0b565b500290565b600082821015610b4557610b45610a0b565b500390565b60008219821115610b5d57610b5d610a0b565b50019056fea26469706673582212201ae3462af09b8c59e15e358661244846a2a8a8f5926b4589c835db1041c13dc264736f6c63430008090033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000033b2e3c9fd0803ce80000000000000000000000000000000000000000000000000000000000000000000005744558464900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000097465737420455846490000000000000000000000000000000000000000000000

Deployed ByteCode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c8063449a52f811610097578063a0712d6811610066578063a0712d68146101e9578063a457c2d7146101fc578063a9059cbb1461020f578063dd62ed3e1461022257600080fd5b8063449a52f81461019257806370a08231146101a5578063755edd17146101ce57806395d89b41146101e157600080fd5b806318160ddd116100d357806318160ddd1461014557806323b872dd14610157578063313ce5671461016a578063395093511461017f57600080fd5b806306fdde03146100fa578063095ea7b3146101185780631249c58b1461013b575b600080fd5b61010261025b565b60405161010f919061088b565b60405180910390f35b61012b6101263660046108fc565b6102ed565b604051901515815260200161010f565b610143610304565b005b6002545b60405190815260200161010f565b61012b610165366004610926565b61032e565b60055460405160ff909116815260200161010f565b61012b61018d3660046108fc565b6103e4565b6101436101a03660046108fc565b61041b565b6101496101b3366004610962565b6001600160a01b031660009081526020819052604090205490565b6101436101dc366004610962565b610429565b610102610443565b6101436101f7366004610984565b610452565b61012b61020a3660046108fc565b61045c565b61012b61021d3660046108fc565b6104f7565b61014961023036600461099d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60606003805461026a906109d0565b80601f0160208091040260200160405190810160405280929190818152602001828054610296906109d0565b80156102e35780601f106102b8576101008083540402835291602001916102e3565b820191906000526020600020905b8154815290600101906020018083116102c657829003601f168201915b5050505050905090565b60006102fa338484610504565b5060015b92915050565b60055461032c90339061031b9060ff16600a610b05565b610327906103e8610b14565b610628565b565b600061033b8484846106b3565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156103c55760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6103d985336103d48685610b33565b610504565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916102fa9185906103d4908690610b4a565b6104258282610628565b5050565b60055461044090829061031b9060ff16600a610b05565b50565b60606004805461026a906109d0565b6104403382610628565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156104de5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016103bc565b6104ed33856103d48685610b33565b5060019392505050565b60006102fa3384846106b3565b6001600160a01b0383166105665760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103bc565b6001600160a01b0382166105c75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103bc565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03821660009081526020819052604081208054839290610650908490610b4a565b9250508190555080600260008282546106699190610b4a565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b0383166107175760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103bc565b6001600160a01b0382166107795760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103bc565b6001600160a01b038316600090815260208190526040902054818110156107f15760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103bc565b6107fb8282610b33565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290610831908490610b4a565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161087d91815260200190565b60405180910390a350505050565b600060208083528351808285015260005b818110156108b85785810183015185820160400152820161089c565b818111156108ca576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146108f757600080fd5b919050565b6000806040838503121561090f57600080fd5b610918836108e0565b946020939093013593505050565b60008060006060848603121561093b57600080fd5b610944846108e0565b9250610952602085016108e0565b9150604084013590509250925092565b60006020828403121561097457600080fd5b61097d826108e0565b9392505050565b60006020828403121561099657600080fd5b5035919050565b600080604083850312156109b057600080fd5b6109b9836108e0565b91506109c7602084016108e0565b90509250929050565b600181811c908216806109e457607f821691505b60208210811415610a0557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610a5c578160001904821115610a4257610a42610a0b565b80851615610a4f57918102915b93841c9390800290610a26565b509250929050565b600082610a73575060016102fe565b81610a80575060006102fe565b8160018114610a965760028114610aa057610abc565b60019150506102fe565b60ff841115610ab157610ab1610a0b565b50506001821b6102fe565b5060208310610133831016604e8410600b8410161715610adf575081810a6102fe565b610ae98383610a21565b8060001904821115610afd57610afd610a0b565b029392505050565b600061097d60ff841683610a64565b6000816000190483118215151615610b2e57610b2e610a0b565b500290565b600082821015610b4557610b45610a0b565b500390565b60008219821115610b5d57610b5d610a0b565b50019056fea26469706673582212201ae3462af09b8c59e15e358661244846a2a8a8f5926b4589c835db1041c13dc264736f6c63430008090033