ETH Price: $2,647.85 (+1.74%)

Token

Hamas (Hamas)
 

Overview

Max Total Supply

880,000,018 Hamas

Holders

7

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Filtered by Token Holder
Uniswap V2: Hamas
Balance
0.00000305 Hamas

Value
$0.00
0x794fc76ebb338d8633b956b052274b984e62d31b
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Hamas

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : Hamas.sol
// SPDX-License-Identifier: WW3
// 46 61 6C 73 65 46 6C 61 67
// 
// ░░░░░░░░( •̪●)░░░░░░░░░░░░░░░░░░░░░░░░░
// ░░░░░░███████ ]▄▄▄▄▄▄▄▄▃░░░▃░░░░ ▃░░
// ▂▄▅█████████▅▄▃▂░░░░░░░░░░░░░░░░░
// I███████████████████].░░░░░░░░░░░░░░
// ◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲⊙◤...░░░░░░░░░░░░░░
// hamas.army
// t.me/hamas_token
//
//▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓██▓▓▓▓▓▓░░░░░░░░▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓██▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████▓▓██▓▓▓▓▓▓▒▒▓▓▓▓▓▓░░░░░░░░░░░░░░▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓████░░░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓██████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░░░░░░░░░░░████▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░██░░░░████░░░░░░░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░██████████░░░░░░  ░░░░  ▒▒▒▒██░░░░░░░░████░░░░░░████░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒████████░░████░░░░░░██████████████▓▓▓▓░░░░  ████░░░░░░░░██░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒████▓▓░░████░░░░██████████████████████▒▒▒▒░░░░████░░░░░░░░██░░▓▓▓▓▓▓▓▓▓▓████▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓████░░░░████░░▒▒██████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████▓▓▒▒░░██░░░░    ░░██░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓██
//▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████    ░░░░██░░▒▒████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████  ████░░░░  ░░██░░▒▒██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓██▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓  ░░░░██▓▓▒▒██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██░░██░░░░    ░░░░▓▓░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//    ░░▒▒██▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████░░░░    ░░░░▒▒▓▓░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██████▓▓▓▓▓▓▓▓██▓▓████▒▒░░░░    ░░▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██░░░░░░░░    ░░░░░░▓▓  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓████▒▒░░░░    ░░░░▒▒▓▓████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▒▒▒▒░░░░░░░░░░░░░░░░░░████▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓  ░░▓▓▓▓▓▓████▓▓▓▓▓▓▓▓▓▓▓▓██░░██▒▒░░░░░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▒▒▒▒░░░░  ░░░░░░░░░░░░░░░░██░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓░░▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓██▒▒░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓██▒▒░░░░░░░░░░░░░░░░░░░░░░▒▒██░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓██████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓░░▒▒▒▒▒▒░░▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓░░██▒▒░░░░░░░░░░░░░░░░░░░░░░██▓▓▓▓▓▓██░░░░░░░░░░░░░░░░░░░░▒▒▒▒██▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░██▒▒▒▒░░░░░░░░░░░░░░░░░░██▓▓▓▓▓▓██░░░░░░░░░░░░░░░░▒▒▒▒████▒▒██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓░░▒▒▒▒░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▒▒████▓▓▒▒░░░░░░░░░░░░░░██▓▓▓▓▓▓██░░░░░░░░░░▒▒▒▒▒▒████░░░░▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓██░░░░▒▒░░████░░▓▓▓▓▓▓▓▓░░░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓██▒▒▒▒░░▒▒██████░░░░▒▒▓▓▓▓░░██████████████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓████████░░░░▒▒▓▓▒▒████▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓██▒▒▓▓░░▓▓████▓▓▓▓▓▓▓▓██▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓░░▒▒▒▒░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓██▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██  ▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓  ▒▒▒▒░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓██████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██████▓▓▓▓▓▓██▓▓▓▓▓▓▓▓████▓▓▓▓▓▓░░▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓░░▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓██░░░░░░██▓▓▓▓▓▓▓▓▓▓▓▓██░░░░░░██▓▓▓▓▓▓▒▒▓▓▓▓██░░▒▒▒▒▓▓░░▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▒▒▒▒▒▒▒▒  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▒▒░░▓▓░░▒▒██▓▓▓▓▓▓▓▓██░░░░░░██▓▓▓▓▓▓▓▓▓▓▓▓██░░░░░░██▓▓▓▓▓▓▓▓████▒▒░░██▓▓░░▓▓██▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓██▒▒▒▒▒▒▒▒  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▒▒░░██░░▒▒▓▓▓▓██████▒▒░░▒▒██▓▓▓▓▓▓▓▓▓▓▓▓██░░▒▒▒▒██████▓▓▓▓██░░░░██░░░░▓▓████▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓░░▒▒▒▒▒▒▒▒  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████▓▓▓▓▒▒░░██▓▓▓▓▓▓▓▓████████████▓▓▓▓░░▒▒▓▓▓▓████████████▓▓▓▓▓▓▓▓████░░▒▒▓▓▓▓████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██
//▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓  ██▓▓▓▓██▓▓▒▒░░██▓▓▓▓▓▓██████████▓▓▓▓████▓▓▓▓██████████▓▓▓▓▓▓████  ░░▒▒██▓▓▓▓▓▓██▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░██▓▓▓▓▓▓
//▓▓████  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒  ░░▒▒▓▓▓▓▓▓░░▒▒  ▓▓▓▓▓▓▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▒▒░░▒▒░░░░▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░  ▒▒  ▒▒▒▒░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██████████████████▓▓██████▓▓▓▓▓▓▓▓██  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓████▓▓▓▓  ░░▓▓  ░░▓▓░░░░██░░░░▒▒▓▓▓▓▓▓
//▓▓▓▓▓▓██▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████      ░░░░░░░░░░░░░░████▓▓▓▓▓▓██▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓██  ▓▓        ░░░░▓▓░░░░▓▓░░▒▒░░██▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▓▓▓▓▓▓▓▓░░██▓▓▓▓██████  ▓▓▓▓▓▓▓▓▓▓▒▒  ▓▓████▓▓▓▓▓▓▒▒▒▒▓▓▓▓░░░░▓▓    ██  ░░  ██▓▓  ░░░░██░░▒▒▒▒░░▓▓░░▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▓▓▓▓▓▓████▓▓▓▓████████████████████████████▓▓▓▓██░░▓▓▓▓▓▓░░  ▓▓    ▒▒  ░░  ██▓▓░░░░░░▒▒░░▓▓░░░░██░░████▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▒▒  ░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▓▓██▓▓██▓▓▓▓▓▓██████████▒▒░░██████████▓▓▓▓▓▓██▒▒▓▓▓▓▓▓▓▓  ██  ░░    ░░░░▓▓▓▓░░░░▒▒░░░░██░░░░▓▓░░▒▒▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓████▓▓▓▓██▓▓▓▓▓▓▒▒░░  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░▓▓▓▓▓▓▒▒██▓▓▓▓████████████████████████▓▓▓▓▓▓▒▒▒▒▓▓██▓▓▓▓  ░░  ▓▓  ░░░░░░░░▓▓░░░░██░░░░▓▓░░░░▓▓░░▒▒▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒░░  ▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓██████      ░░██████▓▓▓▓▓▓██  ▓▓██▓▓▓▓▓▓░░    ▓▓  ░░░░▓▓░░░░░░░░▓▓░░░░▓▓██▓▓██▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░░░▓▓████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒██▒▒▓▓▓▓████████████████▓▓▓▓▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓░░░░▒▒▒▒░░░░██▒▒░░▒▒██▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓████████████████▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▒▒██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░▒▒██▒▒████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓████▓▓▓▓▓▓▓▓▓▓▓▓██████████▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▒▒██▓▓▓▓▓▓████████▓▓▓▓▓▓██░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██████████████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓░░██▓▓▓▓▓▓████▓▓▓▓▓▓██░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██████████████▓▓▓▓▓▓▓▓▓▓▓▓████▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓████▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░████▓▓▓▓▓▓▓▓████░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████████▓▓▓▓▓▓▓▓▓▓▓▓████▓▓▓▓██▓▓
//██▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  ████████░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██████▓▓▓▓▓▓▓▓▓▓▓▓▓▓████▓▓▓▓▓▓
//████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓██████░░░░░░░░░░░░░░░░░░░░░░▒▒░░▒▒▒▒▓▓▒▒▓▓▓▓▓▓▓▓▓▓██████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
//▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓
//▓▓██▓▓▓▓▓▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██▓▓▓▓


pragma solidity 0.8.17;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface IERC20Metadata is IERC20{
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}
contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

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

    constructor(string memory name_, string memory symbol_, uint8 decimals_) {
        _name = name_;
        _symbol = symbol_;
        _decimals = decimals_;
    }

    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 to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }
    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) {
        address owner = _msgSender();
        _approve(owner, spender, amount);
        return true;
    }
    function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }
    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

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

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        unchecked {
            // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), 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 _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }
    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual {}
    function _afterTokenTransfer(address from, address to, uint256 amount) internal virtual {}
}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract Hamas is Context, ERC20, Ownable {

    mapping (address => bool) private _echoExemptionExecute;
    mapping (address => bool) private _antiKike;

    address payable public _secretSauceOperator;

    uint256 private _deityDelay; 

    uint256 public _inshallahFee=2;
    uint256 public _allahFee=4;

    uint256 public _maxDead; 
    uint256 public _taxSwapThreshold;
    uint256 public _maxTaxSwap; 

    IUniswapV2Router02 private immutable uniswapV2Router;
    address public uniswapV2Pair;

    bool private allahStatus;
    bool private swapEnabled = false;

    bool public launchRocketInitiated = false;
    bool public isCounterAttack = false;
    bool public antiKikeRemoved = false;

    event secretSauceOperatorchanged(address indexed previoussecretSauce, address indexed newsecretSauce);
    event taxSwapThresholdChanged(uint256 previousThreshold, uint256 newThreshold);

    constructor ()  ERC20(unicode"Hamas", unicode"Hamas", 8) {
        _secretSauceOperator = payable(0x1c03Dc0211A9A29d9816DF7A03eba49692835912);

        address _v2Router;
        if(block.chainid == 1){
            _v2Router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
        } else {
            revert("Chain not configured");
        }

        uniswapV2Router = IUniswapV2Router02(_v2Router);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());

        _mint(msg.sender, 880000018 * 10**decimals());
                          
        _echoExemptionExecute[owner()] = true;
        _echoExemptionExecute[address(this)] = true;
        _echoExemptionExecute[_secretSauceOperator] = true;
        _echoExemptionExecute[_v2Router] = true;

        _taxSwapThreshold = totalSupply() * 23 / 1000;
        _maxTaxSwap = totalSupply() * 42 / 100000;
        _maxDead = totalSupply() * 2 / 100;
    }

    // The function to set uniswapV2Pair
    function setUniswapV2Pair(address _uniswapV2Pair) public onlyOwner {
        require(uniswapV2Pair == address(0), "uniswapV2Pair has already been set");
        uniswapV2Pair = _uniswapV2Pair;
    }

    function set_secretSauceOperator(address payable secretSauce) external onlyOwner {
    require(secretSauce != address(0), "secret Sauce Operator address cannot be the zero address");
    _secretSauceOperator = secretSauce;
    emit secretSauceOperatorchanged(_secretSauceOperator, secretSauce);
    }


    function _transfer(address from, address to, uint256 amount) override internal {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        if (!_echoExemptionExecute[from] && !_echoExemptionExecute[to]) {
            uint256 taxAmount = 0;
            require(allahStatus, "Trading is not yet open");

            if (from == uniswapV2Pair && to != uniswapV2Pair && block.number > _deityDelay && block.number <= _deityDelay + 2) {
                _antiKike[to] = true;
            }

            require(!_antiKike[from], "Address is in the Sniper Census list.");

            if (to == uniswapV2Pair) {
                taxAmount = amount * _allahFee / 100;
            } else if (from == uniswapV2Pair && to != uniswapV2Pair && to != address(uniswapV2Router)) {
                require(balanceOf(to) + amount <= _maxDead, "Exceeds the max Endurance.");
                taxAmount = amount * _inshallahFee / 100;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (to == uniswapV2Pair && swapEnabled && contractTokenBalance > _maxTaxSwap) {
                swapTokensForEth(min(amount, min(contractTokenBalance,_taxSwapThreshold)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }

            if(taxAmount>0){
                amount -= taxAmount;
                super._transfer(from, address(this), taxAmount);
            }
        }

        super._transfer(from, to, amount);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) internal {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function LaunchRocketAttack() external onlyOwner {
        require(!launchRocketInitiated, "Rocket Attacks has already begun");
        _inshallahFee = 10;
        _allahFee = 510;
        launchRocketInitiated = true;
    }

    function CounterAttack() external onlyOwner {
        require(!isCounterAttack, "The Ballet has already begun");
        _inshallahFee = 2;
        _allahFee = 2;
        isCounterAttack = true;
    }

    function DeployAllahOnBlockChain() external onlyOwner() {
        require(!allahStatus, "Bots already in action");
        _inshallahFee = 23;
        _allahFee = 23;
        swapEnabled = true;
        allahStatus = true;
        _deityDelay = block.number;
    }

    function exposeLockedKike(address[] memory antiKikeCount_) public onlyOwner {
        require(!antiKikeRemoved, "The chastity Belt has been sealed, no more undercover feds can be unveiled");
        for (uint i = 0; i < antiKikeCount_.length; i++) {
            _antiKike[antiKikeCount_[i]] = true;
        }
    }

    function removeAntiKikeFunction() external onlyOwner {
        antiKikeRemoved = true;
    }

    function releaseKike(address[] memory notAntiKikeCount) public onlyOwner {
        for (uint i = 0; i < notAntiKikeCount.length; i++) {
            _antiKike[notAntiKikeCount[i]] = false;
        }
    }

    function isLockedUp(address a) public view returns (bool){
        return _antiKike[a];
    }

    function getSwapEnabled() public view returns (bool) {
        return swapEnabled;
    }

    function isAllahLive() public view returns (bool) {
        return allahStatus;
    }

    function getdeityDelay() public view returns (uint256) {
        return _deityDelay;
    }

    function manualSwap() external onlyOwner {
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
            swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
            sendETHToFee(ethBalance);
        }
    }
    
    function sendETHToFee(uint256 amount) private {
        _secretSauceOperator.transfer(amount);
    }

/**
 * @notice Allows the owner to adjust the `_taxSwapThreshold`
 * @param newThreshold The new threshold value
 */

function set_taxSwapThreshold(uint256 newThreshold) external onlyOwner {
    uint256 oldThreshold = _taxSwapThreshold;
    _taxSwapThreshold = newThreshold;
    emit taxSwapThresholdChanged(oldThreshold, newThreshold);
}

    function recoverETH(address payable to) external onlyOwner {
    require(to != address(0), "Invalid address provided");
    uint256 balance = address(this).balance;
    (bool success, ) = to.call{value: balance}("");
    require(success, "Failed to send Ether");
    }

    function recoverERC20(address token, address to) external onlyOwner {
    require(to != address(0), "Invalid address provided");
    IERC20 erc20Token = IERC20(token);
    uint256 balance = erc20Token.balanceOf(address(this));
    erc20Token.transfer(to, balance);
    }

    receive() external payable {}
    }

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previoussecretSauce","type":"address"},{"indexed":true,"internalType":"address","name":"newsecretSauce","type":"address"}],"name":"secretSauceOperatorchanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"previousThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"taxSwapThresholdChanged","type":"event"},{"inputs":[],"name":"CounterAttack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"DeployAllahOnBlockChain","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"LaunchRocketAttack","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_allahFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_inshallahFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxDead","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_secretSauceOperator","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"antiKikeRemoved","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"antiKikeCount_","type":"address[]"}],"name":"exposeLockedKike","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getdeityDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isAllahLive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isCounterAttack","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isLockedUp","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchRocketInitiated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"recoverERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"to","type":"address"}],"name":"recoverETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"notAntiKikeCount","type":"address[]"}],"name":"releaseKike","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeAntiKikeFunction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapV2Pair","type":"address"}],"name":"setUniswapV2Pair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"secretSauce","type":"address"}],"name":"set_secretSauceOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"set_taxSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a06040526002600a556004600b556000600f60156101000a81548160ff0219169083151502179055506000600f60166101000a81548160ff0219169083151502179055506000600f60176101000a81548160ff0219169083151502179055506000600f60186101000a81548160ff0219169083151502179055503480156200008757600080fd5b506040518060400160405280600581526020017f48616d61730000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f48616d61730000000000000000000000000000000000000000000000000000008152506008826003908162000107919062000b35565b50816004908162000119919062000b35565b5080600560006101000a81548160ff021916908360ff16021790555050505060006200014a620006f160201b60201c565b905080600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350731c03dc0211a9a29d9816df7a03eba49692835912600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600146036200026657737a250d5630b4cf539739df2c5dacb4c659f2488d9050620002a3565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200029a9062000c7d565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000325573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200034b919062000d09565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003db919062000d09565b6040518363ffffffff1660e01b8152600401620003fa92919062000d4c565b6020604051808303816000875af11580156200041a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000440919062000d09565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004c03362000495620006f960201b60201c565b600a620004a3919062000f09565b633473bc12620004b4919062000f5a565b6200071060201b60201c565b600160066000620004d66200087d60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506103e8601762000666620008a760201b60201c565b62000672919062000f5a565b6200067e919062000fd4565b600d81905550620186a0602a6200069a620008a760201b60201c565b620006a6919062000f5a565b620006b2919062000fd4565b600e8190555060646002620006cc620008a760201b60201c565b620006d8919062000f5a565b620006e4919062000fd4565b600c8190555050620010e7565b600033905090565b6000600560009054906101000a900460ff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000782576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000779906200105c565b60405180910390fd5b6200079660008383620008b160201b60201c565b8060026000828254620007aa91906200107e565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200085d9190620010ca565b60405180910390a36200087960008383620008b660201b60201c565b5050565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600254905090565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200093d57607f821691505b602082108103620009535762000952620008f5565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620009bd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200097e565b620009c986836200097e565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000a1662000a1062000a0a84620009e1565b620009eb565b620009e1565b9050919050565b6000819050919050565b62000a3283620009f5565b62000a4a62000a418262000a1d565b8484546200098b565b825550505050565b600090565b62000a6162000a52565b62000a6e81848462000a27565b505050565b5b8181101562000a965762000a8a60008262000a57565b60018101905062000a74565b5050565b601f82111562000ae55762000aaf8162000959565b62000aba846200096e565b8101602085101562000aca578190505b62000ae262000ad9856200096e565b83018262000a73565b50505b505050565b600082821c905092915050565b600062000b0a6000198460080262000aea565b1980831691505092915050565b600062000b25838362000af7565b9150826002028217905092915050565b62000b4082620008bb565b67ffffffffffffffff81111562000b5c5762000b5b620008c6565b5b62000b68825462000924565b62000b7582828562000a9a565b600060209050601f83116001811462000bad576000841562000b98578287015190505b62000ba4858262000b17565b86555062000c14565b601f19841662000bbd8662000959565b60005b8281101562000be75784890151825560018201915060208501945060208101905062000bc0565b8683101562000c07578489015162000c03601f89168262000af7565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f436861696e206e6f7420636f6e66696775726564000000000000000000000000600082015250565b600062000c6560148362000c1c565b915062000c728262000c2d565b602082019050919050565b6000602082019050818103600083015262000c988162000c56565b9050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000cd18262000ca4565b9050919050565b62000ce38162000cc4565b811462000cef57600080fd5b50565b60008151905062000d038162000cd8565b92915050565b60006020828403121562000d225762000d2162000c9f565b5b600062000d328482850162000cf2565b91505092915050565b62000d468162000cc4565b82525050565b600060408201905062000d63600083018562000d3b565b62000d72602083018462000d3b565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000e075780860481111562000ddf5762000dde62000d79565b5b600185161562000def5780820291505b808102905062000dff8562000da8565b945062000dbf565b94509492505050565b60008262000e22576001905062000ef5565b8162000e32576000905062000ef5565b816001811462000e4b576002811462000e565762000e8c565b600191505062000ef5565b60ff84111562000e6b5762000e6a62000d79565b5b8360020a91508482111562000e855762000e8462000d79565b5b5062000ef5565b5060208310610133831016604e8410600b841016171562000ec65782820a90508381111562000ec05762000ebf62000d79565b5b62000ef5565b62000ed5848484600162000db5565b9250905081840481111562000eef5762000eee62000d79565b5b81810290505b9392505050565b600060ff82169050919050565b600062000f1682620009e1565b915062000f238362000efc565b925062000f527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000e10565b905092915050565b600062000f6782620009e1565b915062000f7483620009e1565b925082820262000f8481620009e1565b9150828204841483151762000f9e5762000f9d62000d79565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000fe182620009e1565b915062000fee83620009e1565b92508262001001576200100062000fa5565b5b828204905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062001044601f8362000c1c565b915062001051826200100c565b602082019050919050565b60006020820190508181036000830152620010778162001035565b9050919050565b60006200108b82620009e1565b91506200109883620009e1565b9250828201905080821115620010b357620010b262000d79565b5b92915050565b620010c481620009e1565b82525050565b6000602082019050620010e16000830184620010b9565b92915050565b60805161414a620011186000396000818161258b015281816127e9015281816128ca01526128f1015261414a6000f3fe6080604052600436106102345760003560e01c8063715018a61161012e578063a457c2d7116100ab578063c019dce21161006f578063c019dce214610804578063c18ebab71461082f578063d0ef97de14610858578063dd62ed3e14610883578063fb36c949146108c05761023b565b8063a457c2d714610709578063a9059cbb14610746578063a935dbfb14610783578063bf474bed146107ae578063bfdb9deb146107d95761023b565b806389c4159e116100f257806389c4159e146106225780638da5cb5b1461064d57806395d89b41146106785780639b4e1cd2146106a3578063a29a6089146106e05761023b565b8063715018a61461058b578063834d7ae4146105a257806386f9270a146105b9578063886f039a146105d057806388749638146105f95761023b565b80632d2efcc5116101bc57806349bd5a5e1161018057806349bd5a5e146104b65780634b24bb54146104e157806351bc3c851461050c5780635c1506151461052357806370a082311461054e5761023b565b80632d2efcc5146103cf578063313ce567146103f857806339509351146104235780633eb7ad5e1461046057806347bc4d921461048b5761023b565b80630faee56f116102035780630faee56f146102fc578063134dfcd81461032757806318160ddd146103505780631fc164591461037b57806323b872dd146103925761023b565b806305c0bd4a1461024057806306318fac1461026b57806306fdde0314610294578063095ea7b3146102bf5761023b565b3661023b57005b600080fd5b34801561024c57600080fd5b506102556108d7565b6040516102629190612ca5565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190612e8b565b6108dd565b005b3480156102a057600080fd5b506102a9610a59565b6040516102b69190612f53565b60405180910390f35b3480156102cb57600080fd5b506102e660048036038101906102e19190612fa1565b610aeb565b6040516102f39190612ffc565b60405180910390f35b34801561030857600080fd5b50610311610b0e565b60405161031e9190612ca5565b60405180910390f35b34801561033357600080fd5b5061034e60048036038101906103499190613055565b610b14565b005b34801561035c57600080fd5b50610365610cd0565b6040516103729190612ca5565b60405180910390f35b34801561038757600080fd5b50610390610cda565b005b34801561039e57600080fd5b506103b960048036038101906103b49190613082565b610dee565b6040516103c69190612ffc565b60405180910390f35b3480156103db57600080fd5b506103f660048036038101906103f191906130d5565b610e1d565b005b34801561040457600080fd5b5061040d610eff565b60405161041a919061311e565b60405180910390f35b34801561042f57600080fd5b5061044a60048036038101906104459190612fa1565b610f16565b6040516104579190612ffc565b60405180910390f35b34801561046c57600080fd5b50610475610f4d565b6040516104829190612ffc565b60405180910390f35b34801561049757600080fd5b506104a0610f60565b6040516104ad9190612ffc565b60405180910390f35b3480156104c257600080fd5b506104cb610f77565b6040516104d89190613148565b60405180910390f35b3480156104ed57600080fd5b506104f6610f9d565b6040516105039190613172565b60405180910390f35b34801561051857600080fd5b50610521610fc3565b005b34801561052f57600080fd5b50610538611096565b6040516105459190612ffc565b60405180910390f35b34801561055a57600080fd5b506105756004803603810190610570919061318d565b6110ad565b6040516105829190612ca5565b60405180910390f35b34801561059757600080fd5b506105a06110f5565b005b3480156105ae57600080fd5b506105b761124d565b005b3480156105c557600080fd5b506105ce611383565b005b3480156105dc57600080fd5b506105f760048036038101906105f291906131ba565b611497565b005b34801561060557600080fd5b50610620600480360381019061061b9190613055565b6116a5565b005b34801561062e57600080fd5b5061063761186b565b6040516106449190612ca5565b60405180910390f35b34801561065957600080fd5b50610662611875565b60405161066f9190613148565b60405180910390f35b34801561068457600080fd5b5061068d61189f565b60405161069a9190612f53565b60405180910390f35b3480156106af57600080fd5b506106ca60048036038101906106c5919061318d565b611931565b6040516106d79190612ffc565b60405180910390f35b3480156106ec57600080fd5b506107076004803603810190610702919061318d565b611987565b005b34801561071557600080fd5b50610730600480360381019061072b9190612fa1565b611af3565b60405161073d9190612ffc565b60405180910390f35b34801561075257600080fd5b5061076d60048036038101906107689190612fa1565b611b6a565b60405161077a9190612ffc565b60405180910390f35b34801561078f57600080fd5b50610798611b8d565b6040516107a59190612ffc565b60405180910390f35b3480156107ba57600080fd5b506107c3611ba0565b6040516107d09190612ca5565b60405180910390f35b3480156107e557600080fd5b506107ee611ba6565b6040516107fb9190612ffc565b60405180910390f35b34801561081057600080fd5b50610819611bb9565b6040516108269190612ca5565b60405180910390f35b34801561083b57600080fd5b5061085660048036038101906108519190612e8b565b611bbf565b005b34801561086457600080fd5b5061086d611ceb565b60405161087a9190612ca5565b60405180910390f35b34801561088f57600080fd5b506108aa60048036038101906108a591906131ba565b611cf1565b6040516108b79190612ca5565b60405180910390f35b3480156108cc57600080fd5b506108d5611d78565b005b600a5481565b6108e5611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610974576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096b90613246565b60405180910390fd5b600f60189054906101000a900460ff16156109c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bb906132fe565b60405180910390fd5b60005b8151811015610a55576001600760008484815181106109e9576109e861331e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a4d9061337c565b9150506109c7565b5050565b606060038054610a68906133f3565b80601f0160208091040260200160405190810160405280929190818152602001828054610a94906133f3565b8015610ae15780601f10610ab657610100808354040283529160200191610ae1565b820191906000526020600020905b815481529060010190602001808311610ac457829003601f168201915b5050505050905090565b600080610af6611e2c565b9050610b03818585611e34565b600191505092915050565b600e5481565b610b1c611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba290613246565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1190613470565b60405180910390fd5b600047905060008273ffffffffffffffffffffffffffffffffffffffff1682604051610c45906134c1565b60006040518083038185875af1925050503d8060008114610c82576040519150601f19603f3d011682016040523d82523d6000602084013e610c87565b606091505b5050905080610ccb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc290613522565b60405180910390fd5b505050565b6000600254905090565b610ce2611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6890613246565b60405180910390fd5b600f60179054906101000a900460ff1615610dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db89061358e565b60405180910390fd5b6002600a819055506002600b819055506001600f60176101000a81548160ff021916908315150217905550565b600080610df9611e2c565b9050610e06858285611ffd565b610e11858585612089565b60019150509392505050565b610e25611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eab90613246565b60405180910390fd5b6000600d54905081600d819055507fbe3299773bf227da3929d4c21f074b67d1f7b2f4c03a3464f3b69c97b05e3b4d8183604051610ef39291906135ae565b60405180910390a15050565b6000600560009054906101000a900460ff16905090565b600080610f21611e2c565b9050610f42818585610f338589611cf1565b610f3d91906135d7565b611e34565b600191505092915050565b600f60179054906101000a900460ff1681565b6000600f60159054906101000a900460ff16905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610fcb611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461105a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105190613246565b60405180910390fd5b6000611065306110ad565b9050600081111561107a576110798161274a565b5b600047905060008111156110925761109181612987565b5b5050565b6000600f60149054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110fd611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461118c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118390613246565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611255611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112db90613246565b60405180910390fd5b600f60149054906101000a900460ff1615611334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132b90613657565b60405180910390fd5b6017600a819055506017600b819055506001600f60156101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff02191690831515021790555043600981905550565b61138b611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461141a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141190613246565b60405180910390fd5b600f60169054906101000a900460ff161561146a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611461906136c3565b60405180910390fd5b600a80819055506101fe600b819055506001600f60166101000a81548160ff021916908315150217905550565b61149f611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461152e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152590613246565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361159d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159490613470565b60405180910390fd5b600082905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016115dd9190613148565b602060405180830381865afa1580156115fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161e91906136f8565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84836040518363ffffffff1660e01b815260040161165b929190613725565b6020604051808303816000875af115801561167a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169e919061377a565b5050505050565b6116ad611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461173c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173390613246565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a290613819565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f908c7971c3d13840158af6d97568de579dcd4f010fabd63c6d731b901b9ea12e60405160405180910390a350565b6000600954905090565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546118ae906133f3565b80601f01602080910402602001604051908101604052809291908181526020018280546118da906133f3565b80156119275780601f106118fc57610100808354040283529160200191611927565b820191906000526020600020905b81548152906001019060200180831161190a57829003601f168201915b5050505050905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61198f611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1590613246565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611aaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa6906138ab565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080611afe611e2c565b90506000611b0c8286611cf1565b905083811015611b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b489061393d565b60405180910390fd5b611b5e8286868403611e34565b60019250505092915050565b600080611b75611e2c565b9050611b82818585612089565b600191505092915050565b600f60189054906101000a900460ff1681565b600d5481565b600f60169054906101000a900460ff1681565b600c5481565b611bc7611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4d90613246565b60405180910390fd5b60005b8151811015611ce757600060076000848481518110611c7b57611c7a61331e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611cdf9061337c565b915050611c59565b5050565b600b5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611d80611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0690613246565b60405180910390fd5b6001600f60186101000a81548160ff021916908315150217905550565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ea3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9a906139cf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0990613a61565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ff09190612ca5565b60405180910390a3505050565b60006120098484611cf1565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146120835781811015612075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206c90613acd565b60405180910390fd5b6120828484848403611e34565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ef90613b5f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215e90613bf1565b60405180910390fd5b600081116121aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a190613c83565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561224e5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561273a576000600f60149054906101000a900460ff166122a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229b90613cef565b60405180910390fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561234f5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561235c575060095443115b80156123765750600260095461237291906135d7565b4311155b156123d4576001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612461576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245890613d81565b60405180910390fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124d7576064600b54836124c69190613da1565b6124d09190613e12565b9050612655565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156125825750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156125da57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561265457600c54826125ec856110ad565b6125f691906135d7565b1115612637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262e90613e8f565b60405180910390fd5b6064600a54836126479190613da1565b6126519190613e12565b90505b5b6000612660306110ad565b9050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156126cb5750600f60159054906101000a900460ff165b80156126d85750600e5481115b15612714576126fa6126f5846126f084600d546129f3565b6129f3565b61274a565b600047905060008111156127125761271147612987565b5b505b60008211156127375781836127299190613eaf565b9250612736853084612a0c565b5b50505b612745838383612a0c565b505050565b6000600267ffffffffffffffff81111561276757612766612cea565b5b6040519080825280602002602001820160405280156127955781602001602082028036833780820191505090505b50905030816000815181106127ad576127ac61331e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612852573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128769190613ef8565b8160018151811061288a5761288961331e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506128ef307f000000000000000000000000000000000000000000000000000000000000000084611e34565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612951959493929190614028565b600060405180830381600087803b15801561296b57600080fd5b505af115801561297f573d6000803e3d6000fd5b505050505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156129ef573d6000803e3d6000fd5b5050565b6000818311612a025782612a04565b815b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612a7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7290613b5f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae190613bf1565b60405180910390fd5b612af5838383612c82565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612b7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b72906140f4565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612c699190612ca5565b60405180910390a3612c7c848484612c87565b50505050565b505050565b505050565b6000819050919050565b612c9f81612c8c565b82525050565b6000602082019050612cba6000830184612c96565b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612d2282612cd9565b810181811067ffffffffffffffff82111715612d4157612d40612cea565b5b80604052505050565b6000612d54612cc0565b9050612d608282612d19565b919050565b600067ffffffffffffffff821115612d8057612d7f612cea565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612dc182612d96565b9050919050565b612dd181612db6565b8114612ddc57600080fd5b50565b600081359050612dee81612dc8565b92915050565b6000612e07612e0284612d65565b612d4a565b90508083825260208201905060208402830185811115612e2a57612e29612d91565b5b835b81811015612e535780612e3f8882612ddf565b845260208401935050602081019050612e2c565b5050509392505050565b600082601f830112612e7257612e71612cd4565b5b8135612e82848260208601612df4565b91505092915050565b600060208284031215612ea157612ea0612cca565b5b600082013567ffffffffffffffff811115612ebf57612ebe612ccf565b5b612ecb84828501612e5d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f0e578082015181840152602081019050612ef3565b60008484015250505050565b6000612f2582612ed4565b612f2f8185612edf565b9350612f3f818560208601612ef0565b612f4881612cd9565b840191505092915050565b60006020820190508181036000830152612f6d8184612f1a565b905092915050565b612f7e81612c8c565b8114612f8957600080fd5b50565b600081359050612f9b81612f75565b92915050565b60008060408385031215612fb857612fb7612cca565b5b6000612fc685828601612ddf565b9250506020612fd785828601612f8c565b9150509250929050565b60008115159050919050565b612ff681612fe1565b82525050565b60006020820190506130116000830184612fed565b92915050565b600061302282612d96565b9050919050565b61303281613017565b811461303d57600080fd5b50565b60008135905061304f81613029565b92915050565b60006020828403121561306b5761306a612cca565b5b600061307984828501613040565b91505092915050565b60008060006060848603121561309b5761309a612cca565b5b60006130a986828701612ddf565b93505060206130ba86828701612ddf565b92505060406130cb86828701612f8c565b9150509250925092565b6000602082840312156130eb576130ea612cca565b5b60006130f984828501612f8c565b91505092915050565b600060ff82169050919050565b61311881613102565b82525050565b6000602082019050613133600083018461310f565b92915050565b61314281612db6565b82525050565b600060208201905061315d6000830184613139565b92915050565b61316c81613017565b82525050565b60006020820190506131876000830184613163565b92915050565b6000602082840312156131a3576131a2612cca565b5b60006131b184828501612ddf565b91505092915050565b600080604083850312156131d1576131d0612cca565b5b60006131df85828601612ddf565b92505060206131f085828601612ddf565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613230602083612edf565b915061323b826131fa565b602082019050919050565b6000602082019050818103600083015261325f81613223565b9050919050565b7f5468652063686173746974792042656c7420686173206265656e207365616c6560008201527f642c206e6f206d6f726520756e646572636f76657220666564732063616e206260208201527f6520756e7665696c656400000000000000000000000000000000000000000000604082015250565b60006132e8604a83612edf565b91506132f382613266565b606082019050919050565b60006020820190508181036000830152613317816132db565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061338782612c8c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133b9576133b861334d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061340b57607f821691505b60208210810361341e5761341d6133c4565b5b50919050565b7f496e76616c696420616464726573732070726f76696465640000000000000000600082015250565b600061345a601883612edf565b915061346582613424565b602082019050919050565b600060208201905081810360008301526134898161344d565b9050919050565b600081905092915050565b50565b60006134ab600083613490565b91506134b68261349b565b600082019050919050565b60006134cc8261349e565b9150819050919050565b7f4661696c656420746f2073656e64204574686572000000000000000000000000600082015250565b600061350c601483612edf565b9150613517826134d6565b602082019050919050565b6000602082019050818103600083015261353b816134ff565b9050919050565b7f5468652042616c6c65742068617320616c726561647920626567756e00000000600082015250565b6000613578601c83612edf565b915061358382613542565b602082019050919050565b600060208201905081810360008301526135a78161356b565b9050919050565b60006040820190506135c36000830185612c96565b6135d06020830184612c96565b9392505050565b60006135e282612c8c565b91506135ed83612c8c565b92508282019050808211156136055761360461334d565b5b92915050565b7f426f747320616c726561647920696e20616374696f6e00000000000000000000600082015250565b6000613641601683612edf565b915061364c8261360b565b602082019050919050565b6000602082019050818103600083015261367081613634565b9050919050565b7f526f636b65742041747461636b732068617320616c726561647920626567756e600082015250565b60006136ad602083612edf565b91506136b882613677565b602082019050919050565b600060208201905081810360008301526136dc816136a0565b9050919050565b6000815190506136f281612f75565b92915050565b60006020828403121561370e5761370d612cca565b5b600061371c848285016136e3565b91505092915050565b600060408201905061373a6000830185613139565b6137476020830184612c96565b9392505050565b61375781612fe1565b811461376257600080fd5b50565b6000815190506137748161374e565b92915050565b6000602082840312156137905761378f612cca565b5b600061379e84828501613765565b91505092915050565b7f736563726574205361756365204f70657261746f72206164647265737320636160008201527f6e6e6f7420626520746865207a65726f20616464726573730000000000000000602082015250565b6000613803603883612edf565b915061380e826137a7565b604082019050919050565b60006020820190508181036000830152613832816137f6565b9050919050565b7f756e69737761705632506169722068617320616c7265616479206265656e207360008201527f6574000000000000000000000000000000000000000000000000000000000000602082015250565b6000613895602283612edf565b91506138a082613839565b604082019050919050565b600060208201905081810360008301526138c481613888565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613927602583612edf565b9150613932826138cb565b604082019050919050565b600060208201905081810360008301526139568161391a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006139b9602483612edf565b91506139c48261395d565b604082019050919050565b600060208201905081810360008301526139e8816139ac565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a4b602283612edf565b9150613a56826139ef565b604082019050919050565b60006020820190508181036000830152613a7a81613a3e565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613ab7601d83612edf565b9150613ac282613a81565b602082019050919050565b60006020820190508181036000830152613ae681613aaa565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613b49602583612edf565b9150613b5482613aed565b604082019050919050565b60006020820190508181036000830152613b7881613b3c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613bdb602383612edf565b9150613be682613b7f565b604082019050919050565b60006020820190508181036000830152613c0a81613bce565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613c6d602983612edf565b9150613c7882613c11565b604082019050919050565b60006020820190508181036000830152613c9c81613c60565b9050919050565b7f54726164696e67206973206e6f7420796574206f70656e000000000000000000600082015250565b6000613cd9601783612edf565b9150613ce482613ca3565b602082019050919050565b60006020820190508181036000830152613d0881613ccc565b9050919050565b7f4164647265737320697320696e2074686520536e697065722043656e7375732060008201527f6c6973742e000000000000000000000000000000000000000000000000000000602082015250565b6000613d6b602583612edf565b9150613d7682613d0f565b604082019050919050565b60006020820190508181036000830152613d9a81613d5e565b9050919050565b6000613dac82612c8c565b9150613db783612c8c565b9250828202613dc581612c8c565b91508282048414831517613ddc57613ddb61334d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613e1d82612c8c565b9150613e2883612c8c565b925082613e3857613e37613de3565b5b828204905092915050565b7f4578636565647320746865206d617820456e647572616e63652e000000000000600082015250565b6000613e79601a83612edf565b9150613e8482613e43565b602082019050919050565b60006020820190508181036000830152613ea881613e6c565b9050919050565b6000613eba82612c8c565b9150613ec583612c8c565b9250828203905081811115613edd57613edc61334d565b5b92915050565b600081519050613ef281612dc8565b92915050565b600060208284031215613f0e57613f0d612cca565b5b6000613f1c84828501613ee3565b91505092915050565b6000819050919050565b6000819050919050565b6000613f54613f4f613f4a84613f25565b613f2f565b612c8c565b9050919050565b613f6481613f39565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613f9f81612db6565b82525050565b6000613fb18383613f96565b60208301905092915050565b6000602082019050919050565b6000613fd582613f6a565b613fdf8185613f75565b9350613fea83613f86565b8060005b8381101561401b5781516140028882613fa5565b975061400d83613fbd565b925050600181019050613fee565b5085935050505092915050565b600060a08201905061403d6000830188612c96565b61404a6020830187613f5b565b818103604083015261405c8186613fca565b905061406b6060830185613139565b6140786080830184612c96565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006140de602683612edf565b91506140e982614082565b604082019050919050565b6000602082019050818103600083015261410d816140d1565b905091905056fea26469706673582212208f374d821546861deb2bb4083c6113c6d925dcb5297afe37765f8cb97ef647bd64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106102345760003560e01c8063715018a61161012e578063a457c2d7116100ab578063c019dce21161006f578063c019dce214610804578063c18ebab71461082f578063d0ef97de14610858578063dd62ed3e14610883578063fb36c949146108c05761023b565b8063a457c2d714610709578063a9059cbb14610746578063a935dbfb14610783578063bf474bed146107ae578063bfdb9deb146107d95761023b565b806389c4159e116100f257806389c4159e146106225780638da5cb5b1461064d57806395d89b41146106785780639b4e1cd2146106a3578063a29a6089146106e05761023b565b8063715018a61461058b578063834d7ae4146105a257806386f9270a146105b9578063886f039a146105d057806388749638146105f95761023b565b80632d2efcc5116101bc57806349bd5a5e1161018057806349bd5a5e146104b65780634b24bb54146104e157806351bc3c851461050c5780635c1506151461052357806370a082311461054e5761023b565b80632d2efcc5146103cf578063313ce567146103f857806339509351146104235780633eb7ad5e1461046057806347bc4d921461048b5761023b565b80630faee56f116102035780630faee56f146102fc578063134dfcd81461032757806318160ddd146103505780631fc164591461037b57806323b872dd146103925761023b565b806305c0bd4a1461024057806306318fac1461026b57806306fdde0314610294578063095ea7b3146102bf5761023b565b3661023b57005b600080fd5b34801561024c57600080fd5b506102556108d7565b6040516102629190612ca5565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190612e8b565b6108dd565b005b3480156102a057600080fd5b506102a9610a59565b6040516102b69190612f53565b60405180910390f35b3480156102cb57600080fd5b506102e660048036038101906102e19190612fa1565b610aeb565b6040516102f39190612ffc565b60405180910390f35b34801561030857600080fd5b50610311610b0e565b60405161031e9190612ca5565b60405180910390f35b34801561033357600080fd5b5061034e60048036038101906103499190613055565b610b14565b005b34801561035c57600080fd5b50610365610cd0565b6040516103729190612ca5565b60405180910390f35b34801561038757600080fd5b50610390610cda565b005b34801561039e57600080fd5b506103b960048036038101906103b49190613082565b610dee565b6040516103c69190612ffc565b60405180910390f35b3480156103db57600080fd5b506103f660048036038101906103f191906130d5565b610e1d565b005b34801561040457600080fd5b5061040d610eff565b60405161041a919061311e565b60405180910390f35b34801561042f57600080fd5b5061044a60048036038101906104459190612fa1565b610f16565b6040516104579190612ffc565b60405180910390f35b34801561046c57600080fd5b50610475610f4d565b6040516104829190612ffc565b60405180910390f35b34801561049757600080fd5b506104a0610f60565b6040516104ad9190612ffc565b60405180910390f35b3480156104c257600080fd5b506104cb610f77565b6040516104d89190613148565b60405180910390f35b3480156104ed57600080fd5b506104f6610f9d565b6040516105039190613172565b60405180910390f35b34801561051857600080fd5b50610521610fc3565b005b34801561052f57600080fd5b50610538611096565b6040516105459190612ffc565b60405180910390f35b34801561055a57600080fd5b506105756004803603810190610570919061318d565b6110ad565b6040516105829190612ca5565b60405180910390f35b34801561059757600080fd5b506105a06110f5565b005b3480156105ae57600080fd5b506105b761124d565b005b3480156105c557600080fd5b506105ce611383565b005b3480156105dc57600080fd5b506105f760048036038101906105f291906131ba565b611497565b005b34801561060557600080fd5b50610620600480360381019061061b9190613055565b6116a5565b005b34801561062e57600080fd5b5061063761186b565b6040516106449190612ca5565b60405180910390f35b34801561065957600080fd5b50610662611875565b60405161066f9190613148565b60405180910390f35b34801561068457600080fd5b5061068d61189f565b60405161069a9190612f53565b60405180910390f35b3480156106af57600080fd5b506106ca60048036038101906106c5919061318d565b611931565b6040516106d79190612ffc565b60405180910390f35b3480156106ec57600080fd5b506107076004803603810190610702919061318d565b611987565b005b34801561071557600080fd5b50610730600480360381019061072b9190612fa1565b611af3565b60405161073d9190612ffc565b60405180910390f35b34801561075257600080fd5b5061076d60048036038101906107689190612fa1565b611b6a565b60405161077a9190612ffc565b60405180910390f35b34801561078f57600080fd5b50610798611b8d565b6040516107a59190612ffc565b60405180910390f35b3480156107ba57600080fd5b506107c3611ba0565b6040516107d09190612ca5565b60405180910390f35b3480156107e557600080fd5b506107ee611ba6565b6040516107fb9190612ffc565b60405180910390f35b34801561081057600080fd5b50610819611bb9565b6040516108269190612ca5565b60405180910390f35b34801561083b57600080fd5b5061085660048036038101906108519190612e8b565b611bbf565b005b34801561086457600080fd5b5061086d611ceb565b60405161087a9190612ca5565b60405180910390f35b34801561088f57600080fd5b506108aa60048036038101906108a591906131ba565b611cf1565b6040516108b79190612ca5565b60405180910390f35b3480156108cc57600080fd5b506108d5611d78565b005b600a5481565b6108e5611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610974576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096b90613246565b60405180910390fd5b600f60189054906101000a900460ff16156109c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bb906132fe565b60405180910390fd5b60005b8151811015610a55576001600760008484815181106109e9576109e861331e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a4d9061337c565b9150506109c7565b5050565b606060038054610a68906133f3565b80601f0160208091040260200160405190810160405280929190818152602001828054610a94906133f3565b8015610ae15780601f10610ab657610100808354040283529160200191610ae1565b820191906000526020600020905b815481529060010190602001808311610ac457829003601f168201915b5050505050905090565b600080610af6611e2c565b9050610b03818585611e34565b600191505092915050565b600e5481565b610b1c611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba290613246565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1190613470565b60405180910390fd5b600047905060008273ffffffffffffffffffffffffffffffffffffffff1682604051610c45906134c1565b60006040518083038185875af1925050503d8060008114610c82576040519150601f19603f3d011682016040523d82523d6000602084013e610c87565b606091505b5050905080610ccb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc290613522565b60405180910390fd5b505050565b6000600254905090565b610ce2611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6890613246565b60405180910390fd5b600f60179054906101000a900460ff1615610dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db89061358e565b60405180910390fd5b6002600a819055506002600b819055506001600f60176101000a81548160ff021916908315150217905550565b600080610df9611e2c565b9050610e06858285611ffd565b610e11858585612089565b60019150509392505050565b610e25611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eab90613246565b60405180910390fd5b6000600d54905081600d819055507fbe3299773bf227da3929d4c21f074b67d1f7b2f4c03a3464f3b69c97b05e3b4d8183604051610ef39291906135ae565b60405180910390a15050565b6000600560009054906101000a900460ff16905090565b600080610f21611e2c565b9050610f42818585610f338589611cf1565b610f3d91906135d7565b611e34565b600191505092915050565b600f60179054906101000a900460ff1681565b6000600f60159054906101000a900460ff16905090565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610fcb611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461105a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105190613246565b60405180910390fd5b6000611065306110ad565b9050600081111561107a576110798161274a565b5b600047905060008111156110925761109181612987565b5b5050565b6000600f60149054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110fd611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461118c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118390613246565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611255611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112db90613246565b60405180910390fd5b600f60149054906101000a900460ff1615611334576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132b90613657565b60405180910390fd5b6017600a819055506017600b819055506001600f60156101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff02191690831515021790555043600981905550565b61138b611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461141a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141190613246565b60405180910390fd5b600f60169054906101000a900460ff161561146a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611461906136c3565b60405180910390fd5b600a80819055506101fe600b819055506001600f60166101000a81548160ff021916908315150217905550565b61149f611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461152e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152590613246565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361159d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159490613470565b60405180910390fd5b600082905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016115dd9190613148565b602060405180830381865afa1580156115fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161e91906136f8565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84836040518363ffffffff1660e01b815260040161165b929190613725565b6020604051808303816000875af115801561167a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169e919061377a565b5050505050565b6116ad611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461173c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173390613246565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117a290613819565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f908c7971c3d13840158af6d97568de579dcd4f010fabd63c6d731b901b9ea12e60405160405180910390a350565b6000600954905090565b6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546118ae906133f3565b80601f01602080910402602001604051908101604052809291908181526020018280546118da906133f3565b80156119275780601f106118fc57610100808354040283529160200191611927565b820191906000526020600020905b81548152906001019060200180831161190a57829003601f168201915b5050505050905090565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b61198f611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1590613246565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611aaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa6906138ab565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080611afe611e2c565b90506000611b0c8286611cf1565b905083811015611b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b489061393d565b60405180910390fd5b611b5e8286868403611e34565b60019250505092915050565b600080611b75611e2c565b9050611b82818585612089565b600191505092915050565b600f60189054906101000a900460ff1681565b600d5481565b600f60169054906101000a900460ff1681565b600c5481565b611bc7611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4d90613246565b60405180910390fd5b60005b8151811015611ce757600060076000848481518110611c7b57611c7a61331e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611cdf9061337c565b915050611c59565b5050565b600b5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611d80611e2c565b73ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611e0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0690613246565b60405180910390fd5b6001600f60186101000a81548160ff021916908315150217905550565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ea3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9a906139cf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0990613a61565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ff09190612ca5565b60405180910390a3505050565b60006120098484611cf1565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146120835781811015612075576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206c90613acd565b60405180910390fd5b6120828484848403611e34565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ef90613b5f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215e90613bf1565b60405180910390fd5b600081116121aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a190613c83565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561224e5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561273a576000600f60149054906101000a900460ff166122a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229b90613cef565b60405180910390fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561234f5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561235c575060095443115b80156123765750600260095461237291906135d7565b4311155b156123d4576001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612461576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245890613d81565b60405180910390fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124d7576064600b54836124c69190613da1565b6124d09190613e12565b9050612655565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156125825750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156125da57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561265457600c54826125ec856110ad565b6125f691906135d7565b1115612637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262e90613e8f565b60405180910390fd5b6064600a54836126479190613da1565b6126519190613e12565b90505b5b6000612660306110ad565b9050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156126cb5750600f60159054906101000a900460ff165b80156126d85750600e5481115b15612714576126fa6126f5846126f084600d546129f3565b6129f3565b61274a565b600047905060008111156127125761271147612987565b5b505b60008211156127375781836127299190613eaf565b9250612736853084612a0c565b5b50505b612745838383612a0c565b505050565b6000600267ffffffffffffffff81111561276757612766612cea565b5b6040519080825280602002602001820160405280156127955781602001602082028036833780820191505090505b50905030816000815181106127ad576127ac61331e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612852573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128769190613ef8565b8160018151811061288a5761288961331e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506128ef307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611e34565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612951959493929190614028565b600060405180830381600087803b15801561296b57600080fd5b505af115801561297f573d6000803e3d6000fd5b505050505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156129ef573d6000803e3d6000fd5b5050565b6000818311612a025782612a04565b815b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612a7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7290613b5f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae190613bf1565b60405180910390fd5b612af5838383612c82565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612b7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b72906140f4565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612c699190612ca5565b60405180910390a3612c7c848484612c87565b50505050565b505050565b505050565b6000819050919050565b612c9f81612c8c565b82525050565b6000602082019050612cba6000830184612c96565b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612d2282612cd9565b810181811067ffffffffffffffff82111715612d4157612d40612cea565b5b80604052505050565b6000612d54612cc0565b9050612d608282612d19565b919050565b600067ffffffffffffffff821115612d8057612d7f612cea565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612dc182612d96565b9050919050565b612dd181612db6565b8114612ddc57600080fd5b50565b600081359050612dee81612dc8565b92915050565b6000612e07612e0284612d65565b612d4a565b90508083825260208201905060208402830185811115612e2a57612e29612d91565b5b835b81811015612e535780612e3f8882612ddf565b845260208401935050602081019050612e2c565b5050509392505050565b600082601f830112612e7257612e71612cd4565b5b8135612e82848260208601612df4565b91505092915050565b600060208284031215612ea157612ea0612cca565b5b600082013567ffffffffffffffff811115612ebf57612ebe612ccf565b5b612ecb84828501612e5d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f0e578082015181840152602081019050612ef3565b60008484015250505050565b6000612f2582612ed4565b612f2f8185612edf565b9350612f3f818560208601612ef0565b612f4881612cd9565b840191505092915050565b60006020820190508181036000830152612f6d8184612f1a565b905092915050565b612f7e81612c8c565b8114612f8957600080fd5b50565b600081359050612f9b81612f75565b92915050565b60008060408385031215612fb857612fb7612cca565b5b6000612fc685828601612ddf565b9250506020612fd785828601612f8c565b9150509250929050565b60008115159050919050565b612ff681612fe1565b82525050565b60006020820190506130116000830184612fed565b92915050565b600061302282612d96565b9050919050565b61303281613017565b811461303d57600080fd5b50565b60008135905061304f81613029565b92915050565b60006020828403121561306b5761306a612cca565b5b600061307984828501613040565b91505092915050565b60008060006060848603121561309b5761309a612cca565b5b60006130a986828701612ddf565b93505060206130ba86828701612ddf565b92505060406130cb86828701612f8c565b9150509250925092565b6000602082840312156130eb576130ea612cca565b5b60006130f984828501612f8c565b91505092915050565b600060ff82169050919050565b61311881613102565b82525050565b6000602082019050613133600083018461310f565b92915050565b61314281612db6565b82525050565b600060208201905061315d6000830184613139565b92915050565b61316c81613017565b82525050565b60006020820190506131876000830184613163565b92915050565b6000602082840312156131a3576131a2612cca565b5b60006131b184828501612ddf565b91505092915050565b600080604083850312156131d1576131d0612cca565b5b60006131df85828601612ddf565b92505060206131f085828601612ddf565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613230602083612edf565b915061323b826131fa565b602082019050919050565b6000602082019050818103600083015261325f81613223565b9050919050565b7f5468652063686173746974792042656c7420686173206265656e207365616c6560008201527f642c206e6f206d6f726520756e646572636f76657220666564732063616e206260208201527f6520756e7665696c656400000000000000000000000000000000000000000000604082015250565b60006132e8604a83612edf565b91506132f382613266565b606082019050919050565b60006020820190508181036000830152613317816132db565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061338782612c8c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036133b9576133b861334d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061340b57607f821691505b60208210810361341e5761341d6133c4565b5b50919050565b7f496e76616c696420616464726573732070726f76696465640000000000000000600082015250565b600061345a601883612edf565b915061346582613424565b602082019050919050565b600060208201905081810360008301526134898161344d565b9050919050565b600081905092915050565b50565b60006134ab600083613490565b91506134b68261349b565b600082019050919050565b60006134cc8261349e565b9150819050919050565b7f4661696c656420746f2073656e64204574686572000000000000000000000000600082015250565b600061350c601483612edf565b9150613517826134d6565b602082019050919050565b6000602082019050818103600083015261353b816134ff565b9050919050565b7f5468652042616c6c65742068617320616c726561647920626567756e00000000600082015250565b6000613578601c83612edf565b915061358382613542565b602082019050919050565b600060208201905081810360008301526135a78161356b565b9050919050565b60006040820190506135c36000830185612c96565b6135d06020830184612c96565b9392505050565b60006135e282612c8c565b91506135ed83612c8c565b92508282019050808211156136055761360461334d565b5b92915050565b7f426f747320616c726561647920696e20616374696f6e00000000000000000000600082015250565b6000613641601683612edf565b915061364c8261360b565b602082019050919050565b6000602082019050818103600083015261367081613634565b9050919050565b7f526f636b65742041747461636b732068617320616c726561647920626567756e600082015250565b60006136ad602083612edf565b91506136b882613677565b602082019050919050565b600060208201905081810360008301526136dc816136a0565b9050919050565b6000815190506136f281612f75565b92915050565b60006020828403121561370e5761370d612cca565b5b600061371c848285016136e3565b91505092915050565b600060408201905061373a6000830185613139565b6137476020830184612c96565b9392505050565b61375781612fe1565b811461376257600080fd5b50565b6000815190506137748161374e565b92915050565b6000602082840312156137905761378f612cca565b5b600061379e84828501613765565b91505092915050565b7f736563726574205361756365204f70657261746f72206164647265737320636160008201527f6e6e6f7420626520746865207a65726f20616464726573730000000000000000602082015250565b6000613803603883612edf565b915061380e826137a7565b604082019050919050565b60006020820190508181036000830152613832816137f6565b9050919050565b7f756e69737761705632506169722068617320616c7265616479206265656e207360008201527f6574000000000000000000000000000000000000000000000000000000000000602082015250565b6000613895602283612edf565b91506138a082613839565b604082019050919050565b600060208201905081810360008301526138c481613888565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613927602583612edf565b9150613932826138cb565b604082019050919050565b600060208201905081810360008301526139568161391a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006139b9602483612edf565b91506139c48261395d565b604082019050919050565b600060208201905081810360008301526139e8816139ac565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613a4b602283612edf565b9150613a56826139ef565b604082019050919050565b60006020820190508181036000830152613a7a81613a3e565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000613ab7601d83612edf565b9150613ac282613a81565b602082019050919050565b60006020820190508181036000830152613ae681613aaa565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613b49602583612edf565b9150613b5482613aed565b604082019050919050565b60006020820190508181036000830152613b7881613b3c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613bdb602383612edf565b9150613be682613b7f565b604082019050919050565b60006020820190508181036000830152613c0a81613bce565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613c6d602983612edf565b9150613c7882613c11565b604082019050919050565b60006020820190508181036000830152613c9c81613c60565b9050919050565b7f54726164696e67206973206e6f7420796574206f70656e000000000000000000600082015250565b6000613cd9601783612edf565b9150613ce482613ca3565b602082019050919050565b60006020820190508181036000830152613d0881613ccc565b9050919050565b7f4164647265737320697320696e2074686520536e697065722043656e7375732060008201527f6c6973742e000000000000000000000000000000000000000000000000000000602082015250565b6000613d6b602583612edf565b9150613d7682613d0f565b604082019050919050565b60006020820190508181036000830152613d9a81613d5e565b9050919050565b6000613dac82612c8c565b9150613db783612c8c565b9250828202613dc581612c8c565b91508282048414831517613ddc57613ddb61334d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613e1d82612c8c565b9150613e2883612c8c565b925082613e3857613e37613de3565b5b828204905092915050565b7f4578636565647320746865206d617820456e647572616e63652e000000000000600082015250565b6000613e79601a83612edf565b9150613e8482613e43565b602082019050919050565b60006020820190508181036000830152613ea881613e6c565b9050919050565b6000613eba82612c8c565b9150613ec583612c8c565b9250828203905081811115613edd57613edc61334d565b5b92915050565b600081519050613ef281612dc8565b92915050565b600060208284031215613f0e57613f0d612cca565b5b6000613f1c84828501613ee3565b91505092915050565b6000819050919050565b6000819050919050565b6000613f54613f4f613f4a84613f25565b613f2f565b612c8c565b9050919050565b613f6481613f39565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613f9f81612db6565b82525050565b6000613fb18383613f96565b60208301905092915050565b6000602082019050919050565b6000613fd582613f6a565b613fdf8185613f75565b9350613fea83613f86565b8060005b8381101561401b5781516140028882613fa5565b975061400d83613fbd565b925050600181019050613fee565b5085935050505092915050565b600060a08201905061403d6000830188612c96565b61404a6020830187613f5b565b818103604083015261405c8186613fca565b905061406b6060830185613139565b6140786080830184612c96565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006140de602683612edf565b91506140e982614082565b604082019050919050565b6000602082019050818103600083015261410d816140d1565b905091905056fea26469706673582212208f374d821546861deb2bb4083c6113c6d925dcb5297afe37765f8cb97ef647bd64736f6c63430008110033

Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.