Overview ERC20
PRICE
$3.3560607564455243

ON-CHAIN MARKET CAP n/a

Total Supply:
500,000.00 GEM

Holders:
200
Profile Summary
Blockchain:
C-Chain (43114)


Decimals:
18
Contract Source Code Verified (Partial Match)
Contract Name:
GemNodesV2

Compiler Version
v0.8.2+commit.661d1103

Optimization Enabled:
Yes with 200 runs

Created At:
Thu, 28 Apr 2022 12:25:44 GMT
GemNodesV2.sol
GemNodesV2.sol
GemNodesV2.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "address[]",
        "name": "payees",
        "type": "address[]"
      },
      {
        "internalType": "uint256[]",
        "name": "shares",
        "type": "uint256[]"
      },
      {
        "internalType": "address[]",
        "name": "addresses",
        "type": "address[]"
      },
      {
        "internalType": "uint256[]",
        "name": "balances",
        "type": "uint256[]"
      },
      {
        "internalType": "uint256[]",
        "name": "fees",
        "type": "uint256[]"
      },
      {
        "internalType": "uint256",
        "name": "swapAmount",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "uniV2Router",
        "type": "address"
      }
    ],
    "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": "contract IERC20",
        "name": "token",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "ERC20PaymentReleased",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "newLiquidityWallet",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "oldLiquidityWallet",
        "type": "address"
      }
    ],
    "name": "LiquidityWalletUpdated",
    "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": false,
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "shares",
        "type": "uint256"
      }
    ],
    "name": "PayeeAdded",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "PaymentReceived",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "PaymentReleased",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "pair",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "bool",
        "name": "value",
        "type": "bool"
      }
    ],
    "name": "SetAutomatedMarketMakerPair",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "tokensSwapped",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "ethReceived",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "tokensIntoLiqudity",
        "type": "uint256"
      }
    ],
    "name": "SwapAndLiquify",
    "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": "newAddress",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "oldAddress",
        "type": "address"
      }
    ],
    "name": "UpdateUniswapV2Router",
    "type": "event"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "_isBlacklisted",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "_isSuper",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "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": [
      {
        "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": "",
        "type": "address"
      }
    ],
    "name": "automatedMarketMakerPairs",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "value",
        "type": "bool"
      }
    ],
    "name": "blacklistMalicious",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "boostReward",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "cashoutFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bool",
        "name": "newVal",
        "type": "bool"
      }
    ],
    "name": "changeSwapLiquify",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "decimals",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "subtractedValue",
        "type": "uint256"
      }
    ],
    "name": "decreaseAllowance",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "distributionPool",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "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": [
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "increaseLiquidityDistribution",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "liquidityPool",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "liquidityPoolFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxTx",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "nodeRewardManager",
    "outputs": [
      {
        "internalType": "contract NODERewardManager",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "openTrading",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "index",
        "type": "uint256"
      }
    ],
    "name": "payee",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address payable",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "release",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "contract IERC20",
        "name": "token",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "release",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "contract IERC20",
        "name": "token",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "released",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "released",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "rewardsFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "rwSwap",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "pair",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "value",
        "type": "bool"
      }
    ],
    "name": "setAutomatedMarketMakerPair",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "value",
        "type": "bool"
      }
    ],
    "name": "setIsSuper",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address payable",
        "name": "nodeManagement",
        "type": "address"
      }
    ],
    "name": "setNodeManagement",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "shares",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "swapTokensAmount",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalFees",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "contract IERC20",
        "name": "token",
        "type": "address"
      }
    ],
    "name": "totalReleased",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalReleased",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalShares",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transfer",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "sender",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "transferFrom",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "treasuryFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "treasuryUsePool",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "uniswapV2Pair",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "uniswapV2Router",
    "outputs": [
      {
        "internalType": "contract IJoeRouter02",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "updateCashoutFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "updateLiquiditFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "newMaxTx",
        "type": "uint256"
      }
    ],
    "name": "updateMaxTx",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "updateRewardsFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address payable",
        "name": "wall",
        "type": "address"
      }
    ],
    "name": "updateRewardsWall",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "updateRwSwapFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "newVal",
        "type": "uint256"
      }
    ],
    "name": "updateSwapTokensAmount",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "updateTreasuryFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address payable",
        "name": "wall",
        "type": "address"
      }
    ],
    "name": "updateTreasuryWall",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newAddress",
        "type": "address"
      }
    ],
    "name": "updateUniswapV2Router",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]


Contract Creation Code
60806040526019805461ffff19166101001790556000601b55601c805460ff191690553480156200002f57600080fd5b5060405162004005380380620040058339810160408190526200005291620010b4565b86866040518060400160405280600a81526020016923b2b6a737b232b9ab1960b11b8152506040518060400160405280600381526020016247454d60e81b8152508160039080519060200190620000ab92919062000ef6565b508051620000c190600490602084019062000ef6565b505050620000de620000d862000acd60201b60201c565b62000ad1565b8051825114620001505760405162461bcd60e51b815260206004820152603260248201527f5061796d656e7453706c69747465723a2070617965657320616e6420736861726044820152710cae640d8cadccee8d040dad2e6dac2e8c6d60731b60648201526084015b60405180910390fd5b6000825111620001a35760405162461bcd60e51b815260206004820152601a60248201527f5061796d656e7453706c69747465723a206e6f20706179656573000000000000604482015260640162000147565b60005b8251811015620002275762000212838281518110620001d557634e487b7160e01b600052603260045260246000fd5b6020026020010151838381518110620001fe57634e487b7160e01b600052603260045260246000fd5b602002602001015162000b2360201b60201c565b806200021e816200127e565b915050620001a6565b505050846001815181106200024c57634e487b7160e01b600052603260045260246000fd5b6020026020010151601060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550846002815181106200029c57634e487b7160e01b600052603260045260246000fd5b6020026020010151601160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555084600381518110620002ec57634e487b7160e01b600052603260045260246000fd5b6020908102919091010151601280546001600160a01b0319166001600160a01b0392831617905560105416158015906200033057506011546001600160a01b031615155b80156200034757506012546001600160a01b031615155b620003ac5760405162461bcd60e51b815260206004820152602e60248201527f54524541535552592c20524557415244202620504f4f4c20414444524553532060448201526d43414e4e4f54204245205a45524f60901b606482015260840162000147565b6001600160a01b038116620004045760405162461bcd60e51b815260206004820152601560248201527f524f555445522043414e4e4f54204245205a45524f0000000000000000000000604482015260640162000147565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200044557600080fd5b505afa1580156200045a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000480919062001097565b6001600160a01b031663c9c6539630846001600160a01b03166373b295c26040518163ffffffff1660e01b815260040160206040518083038186803b158015620004c957600080fd5b505afa158015620004de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000504919062001097565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200054d57600080fd5b505af115801562000562573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000588919062001097565b600e80546001600160a01b038086166001600160a01b031992831617909255600f8054928416929091169190911790559050620005c781600162000d11565b84600081518110620005e957634e487b7160e01b600052603260045260246000fd5b60200260200101516000141580156200062c5750846001815181106200061f57634e487b7160e01b600052603260045260246000fd5b6020026020010151600014155b8015620006635750846002815181106200065657634e487b7160e01b600052603260045260246000fd5b6020026020010151600014155b80156200069a5750846003815181106200068d57634e487b7160e01b600052603260045260246000fd5b6020026020010151600014155b620006e85760405162461bcd60e51b815260206004820152601460248201527f434f4e5354523a204665657320657175616c2030000000000000000000000000604482015260640162000147565b846000815181106200070a57634e487b7160e01b600052603260045260246000fd5b6020026020010151601581905550846001815181106200073a57634e487b7160e01b600052603260045260246000fd5b6020026020010151601381905550846002815181106200076a57634e487b7160e01b600052603260045260246000fd5b6020026020010151601481905550846003815181106200079a57634e487b7160e01b600052603260045260246000fd5b602002602001015160178190555084600481518110620007ca57634e487b7160e01b600052603260045260246000fd5b602002602001015160188190555062000811601554620007fd60145460135462000dfc60201b62001ae71790919060201c565b62000dfc60201b62001ae71790919060201c565b60165586511580159062000826575060008651115b6200089a5760405162461bcd60e51b815260206004820152603860248201527f434f4e5354523a20616464726573736573206172726179206c656e677468206d60448201527f7573742062652067726561746572207468616e207a65726f0000000000000000606482015260840162000147565b8551875114620008fe5760405162461bcd60e51b815260206004820152602860248201527f434f4e5354523a2061646472657373657320617272617973206c656e677468206044820152670dad2e6dac2e8c6d60c31b606482015260840162000147565b60005b8751811015620009ea576200097c8882815181106200093057634e487b7160e01b600052603260045260246000fd5b60200260200101518883815181106200095957634e487b7160e01b600052603260045260246000fd5b6020026020010151670de0b6b3a76400006200097691906200121f565b62000e11565b6001601f60008a8481518110620009a357634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580620009e1816200127e565b91505062000901565b506002546969e10de76676d08000001462000a545760405162461bcd60e51b815260206004820152602360248201527f434f4e5354523a20746f74616c537570706c79206d75737420657175616c203560448201526230304b60e81b606482015260840162000147565b6000841162000aa65760405162461bcd60e51b815260206004820152601d60248201527f434f4e5354523a205377617020616d6f756e7420696e636f7272656374000000604482015260640162000147565b62000aba84670de0b6b3a76400006200121f565b601a5550620012c8975050505050505050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03821662000b905760405162461bcd60e51b815260206004820152602c60248201527f5061796d656e7453706c69747465723a206163636f756e74206973207468652060448201526b7a65726f206164647265737360a01b606482015260840162000147565b6000811162000be25760405162461bcd60e51b815260206004820152601d60248201527f5061796d656e7453706c69747465723a20736861726573206172652030000000604482015260640162000147565b6001600160a01b0382166000908152600860205260409020541562000c5e5760405162461bcd60e51b815260206004820152602b60248201527f5061796d656e7453706c69747465723a206163636f756e7420616c726561647960448201526a206861732073686172657360a81b606482015260840162000147565b600a8054600181019091557fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b0319166001600160a01b038416908117909155600090815260086020526040902081905560065462000cc890829062001204565b600655604080516001600160a01b0384168152602081018390527f40c340f65e17194d14ddddb073d3c9f888e3cb52b5aae0c6c7706b4fbc905fac910160405180910390a15050565b6001600160a01b0382166000908152601e602052604090205460ff161515811515141562000da85760405162461bcd60e51b815260206004820152603d60248201527f544b4e3a204175746f6d61746564206d61726b6574206d616b6572207061697260448201527f20697320616c72656164792073657420746f20746861742076616c7565000000606482015260840162000147565b6001600160a01b0382166000818152601e6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b600062000e0a828462001204565b9392505050565b6001600160a01b03821662000e695760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000147565b806002600082825462000e7d919062001204565b90915550506001600160a01b0382166000908152602081905260408120805483929062000eac90849062001204565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b82805462000f049062001241565b90600052602060002090601f01602090048101928262000f28576000855562000f73565b82601f1062000f4357805160ff191683800117855562000f73565b8280016001018555821562000f73579182015b8281111562000f7357825182559160200191906001019062000f56565b5062000f8192915062000f85565b5090565b5b8082111562000f81576000815560010162000f86565b80516001600160a01b038116811462000fb457600080fd5b919050565b600082601f83011262000fca578081fd5b8151602062000fe362000fdd83620011de565b620011ab565b828152818101908583018385028701840188101562001000578586fd5b855b858110156200102957620010168262000f9c565b8452928401929084019060010162001002565b5090979650505050505050565b600082601f83011262001047578081fd5b815160206200105a62000fdd83620011de565b828152818101908583018385028701840188101562001077578586fd5b855b85811015620010295781518452928401929084019060010162001079565b600060208284031215620010a9578081fd5b62000e0a8262000f9c565b600080600080600080600060e0888a031215620010cf578283fd5b87516001600160401b0380821115620010e6578485fd5b620010f48b838c0162000fb9565b985060208a01519150808211156200110a578485fd5b620011188b838c0162001036565b975060408a01519150808211156200112e578485fd5b6200113c8b838c0162000fb9565b965060608a015191508082111562001152578485fd5b620011608b838c0162001036565b955060808a015191508082111562001176578485fd5b50620011858a828b0162001036565b93505060a088015191506200119d60c0890162000f9c565b905092959891949750929550565b604051601f8201601f191681016001600160401b0381118282101715620011d657620011d6620012b2565b604052919050565b60006001600160401b03821115620011fa57620011fa620012b2565b5060209081020190565b600082198211156200121a576200121a6200129c565b500190565b60008160001904831182151516156200123c576200123c6200129c565b500290565b6002810460018216806200125657607f821691505b602082108114156200127857634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156200129557620012956200129c565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b612d2d80620012d86000396000f3fe6080604052600436106103855760003560e01c80637437681e116101d1578063b62496f511610102578063d79779b2116100a0578063f2fde38b1161006f578063f2fde38b14610b1c578063f598194914610b3c578063f5c3749514610b52578063fb0a749414610b72576103ce565b8063d79779b214610a6b578063d892934214610aa1578063dd62ed3e14610ac1578063e33b7de314610b07576103ce565b8063c9567bf9116100dc578063c9567bf9146109ea578063c9a34468146109ff578063cc32d17614610a1f578063ce7c2ac214610a35576103ce565b8063b62496f51461097a578063c2d0ffca146109aa578063c5ca7d6d146109ca576103ce565b8063972328301161016f578063a457c2d711610149578063a457c2d7146108fa578063a9059cbb1461091a578063aed4b3161461093a578063b5f8b7291461095a576103ce565b806397232830146108845780639852595c146108a45780639a7a23d6146108da576103ce565b80638bc9c7b0116101ab5780638bc9c7b0146108115780638da5cb5b146108315780639349c47d1461084f57806395d89b411461086f576103ce565b80637437681e146107bb5780637628b3d7146107d15780638b83209b146107f1576103ce565b8063406072a9116102b65780635f1c3182116102545780636815a91c116102235780636815a91c1461073a5780636d9ae0be1461075a57806370a0823114610770578063715018a6146107a6576103ce565b80635f1c3182146106c457806365b8dbc0146106da578063665a11ca146106fa5780636770474b1461071a576103ce565b806348b750441161029057806348b750441461064e57806349bd5a5e1461066e57806354f12f1f1461068e578063583bd7a6146106a4576103ce565b8063406072a9146105c85780634195fbf31461060e57806342bc9fca1461062e576103ce565b806319165587116103235780632bb14e1d116102fd5780632bb14e1d14610561578063313ce5671461057757806339509351146105935780633a98ef39146105b3576103ce565b806319165587146104f15780631cdd3be31461051157806323b872dd14610541576103ce565b80630f512fc71161035f5780630f512fc71461045057806313114a9d146104805780631694505e146104a457806318160ddd146104dc576103ce565b806306fdde03146103d3578063084a6bff146103fe578063095ea7b314610420576103ce565b366103ce577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be77033604080516001600160a01b0390921682523460208301520160405180910390a1005b600080fd5b3480156103df57600080fd5b506103e8610b92565b6040516103f591906129b5565b60405180910390f35b34801561040a57600080fd5b5061041e61041936600461293d565b610c24565b005b34801561042c57600080fd5b5061044061043b3660046128c8565b610c7e565b60405190151581526020016103f5565b34801561045c57600080fd5b5061044061046b3660046127eb565b601f6020526000908152604090205460ff1681565b34801561048c57600080fd5b5061049660165481565b6040519081526020016103f5565b3480156104b057600080fd5b50600e546104c4906001600160a01b031681565b6040516001600160a01b0390911681526020016103f5565b3480156104e857600080fd5b50600254610496565b3480156104fd57600080fd5b5061041e61050c3660046127eb565b610c94565b34801561051d57600080fd5b5061044061052c3660046127eb565b601d6020526000908152604090205460ff1681565b34801561054d57600080fd5b5061044061055c36600461285b565b610dc2565b34801561056d57600080fd5b5061049660135481565b34801561058357600080fd5b50604051601281526020016103f5565b34801561059f57600080fd5b506104406105ae3660046128c8565b610efb565b3480156105bf57600080fd5b50600654610496565b3480156105d457600080fd5b506104966105e336600461292b565b6001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b34801561061a57600080fd5b5061041e61062936600461293d565b610f37565b34801561063a57600080fd5b5061041e61064936600461293d565b610faa565b34801561065a57600080fd5b5061041e61066936600461292b565b610fee565b34801561067a57600080fd5b50600f546104c4906001600160a01b031681565b34801561069a57600080fd5b5061049660145481565b3480156106b057600080fd5b5061041e6106bf3660046128f3565b6111d6565b3480156106d057600080fd5b50610496601a5481565b3480156106e657600080fd5b5061041e6106f53660046127eb565b61121a565b34801561070657600080fd5b506012546104c4906001600160a01b031681565b34801561072657600080fd5b5061041e61073536600461293d565b6114bd565b34801561074657600080fd5b5061041e61075536600461293d565b6114ec565b34801561076657600080fd5b5061049660175481565b34801561077c57600080fd5b5061049661078b3660046127eb565b6001600160a01b031660009081526020819052604090205490565b3480156107b257600080fd5b5061041e61151b565b3480156107c757600080fd5b50610496601b5481565b3480156107dd57600080fd5b50600d546104c4906001600160a01b031681565b3480156107fd57600080fd5b506104c461080c36600461293d565b611551565b34801561081d57600080fd5b5061041e61082c36600461293d565b61158f565b34801561083d57600080fd5b506005546001600160a01b03166104c4565b34801561085b57600080fd5b5061041e61086a3660046127eb565b6115be565b34801561087b57600080fd5b506103e861160a565b34801561089057600080fd5b5061041e61089f36600461293d565b611619565b3480156108b057600080fd5b506104966108bf3660046127eb565b6001600160a01b031660009081526009602052604090205490565b3480156108e657600080fd5b5061041e6108f536600461289b565b61165d565b34801561090657600080fd5b506104406109153660046128c8565b611728565b34801561092657600080fd5b506104406109353660046128c8565b6117c1565b34801561094657600080fd5b506010546104c4906001600160a01b031681565b34801561096657600080fd5b5061041e61097536600461293d565b6117ce565b34801561098657600080fd5b506104406109953660046127eb565b601e6020526000908152604090205460ff1681565b3480156109b657600080fd5b5061041e6109c536600461293d565b611852565b3480156109d657600080fd5b506011546104c4906001600160a01b031681565b3480156109f657600080fd5b5061041e611881565b348015610a0b57600080fd5b5061041e610a1a36600461289b565b61190d565b348015610a2b57600080fd5b5061049660155481565b348015610a4157600080fd5b50610496610a503660046127eb565b6001600160a01b031660009081526008602052604090205490565b348015610a7757600080fd5b50610496610a863660046127eb565b6001600160a01b03166000908152600b602052604090205490565b348015610aad57600080fd5b5061041e610abc36600461289b565b611962565b348015610acd57600080fd5b50610496610adc366004612823565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610b1357600080fd5b50600754610496565b348015610b2857600080fd5b5061041e610b373660046127eb565b6119b7565b348015610b4857600080fd5b5061049660185481565b348015610b5e57600080fd5b5061041e610b6d3660046127eb565b611a4f565b348015610b7e57600080fd5b5061041e610b8d3660046127eb565b611a9b565b606060038054610ba190612c35565b80601f0160208091040260200160405190810160405280929190818152602001828054610bcd90612c35565b8015610c1a5780601f10610bef57610100808354040283529160200191610c1a565b820191906000526020600020905b815481529060010190602001808311610bfd57829003601f168201915b5050505050905090565b6005546001600160a01b03163314610c575760405162461bcd60e51b8152600401610c4e90612b21565b60405180910390fd5b6013819055601554601454610c789190610c72908490611ae7565b90611ae7565b60165550565b6000610c8b338484611af3565b50600192915050565b6001600160a01b038116600090815260086020526040902054610cc95760405162461bcd60e51b8152600401610c4e90612a90565b6000610cd460075490565b610cde9047612b9b565b90506000610d0b8383610d06866001600160a01b031660009081526009602052604090205490565b611cbd565b905080610d2a5760405162461bcd60e51b8152600401610c4e90612ad6565b6001600160a01b03831660009081526009602052604081208054839290610d52908490612b9b565b925050819055508060076000828254610d6b9190612b9b565b90915550610d7b90508382611d03565b604080516001600160a01b0385168152602081018390527fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056910160405180910390a1505050565b6000610dcf848484611e21565b610e016040518060400160405280600e81526020016d7472616e7366657246726f6d203160901b81525085858561209f565b610e5c6040518060400160405280600e81526020016d3a3930b739b332b9233937b6901960911b81525085610e333390565b6001600160a01b038816600090815260016020908152604080832033845290915290205461209f565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610ee15760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610c4e565b610eee8533858403611af3565b60019150505b9392505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610c8b918590610f32908690612b9b565b611af3565b6005546001600160a01b03163314610f615760405162461bcd60e51b8152600401610c4e90612b21565b47811115610f6c5750475b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610fa6573d6000803e3d6000fd5b5050565b6005546001600160a01b03163314610fd45760405162461bcd60e51b8152600401610c4e90612b21565b6014819055601554601354610c789190610c729084611ae7565b6001600160a01b0381166000908152600860205260409020546110235760405162461bcd60e51b8152600401610c4e90612a90565b6001600160a01b0382166000908152600b60205260408120546040516370a0823160e01b81523060048201526001600160a01b038516906370a082319060240160206040518083038186803b15801561107b57600080fd5b505afa15801561108f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b39190612955565b6110bd9190612b9b565b905060006110f68383610d0687876001600160a01b039182166000908152600c6020908152604080832093909416825291909152205490565b9050806111155760405162461bcd60e51b8152600401610c4e90612ad6565b6001600160a01b038085166000908152600c602090815260408083209387168352929052908120805483929061114c908490612b9b565b90915550506001600160a01b0384166000908152600b602052604081208054839290611179908490612b9b565b9091555061118a90508484836120ee565b604080516001600160a01b038581168252602082018490528616917f3be5b7a71e84ed12875d241991c70855ac5817d847039e17a9d895c1ceb0f18a910160405180910390a250505050565b6005546001600160a01b031633146112005760405162461bcd60e51b8152600401610c4e90612b21565b601980549115156101000261ff0019909216919091179055565b6005546001600160a01b031633146112445760405162461bcd60e51b8152600401610c4e90612b21565b600e546001600160a01b03828116911614156112b35760405162461bcd60e51b815260206004820152602860248201527f544b4e3a2054686520726f7574657220616c7265616479206861732074686174604482015267206164647265737360c01b6064820152608401610c4e565b600e546040516001600160a01b03918216918316907f8fc842bbd331dfa973645f4ed48b11683d501ebf1352708d77a5da2ab49a576e90600090a3600e80546001600160a01b0319166001600160a01b0383811691909117918290556040805163c45a015560e01b815290516000939092169163c45a015591600480820192602092909190829003018186803b15801561134c57600080fd5b505afa158015611360573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113849190612807565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b03166373b295c26040518163ffffffff1660e01b815260040160206040518083038186803b1580156113e157600080fd5b505afa1580156113f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114199190612807565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561146157600080fd5b505af1158015611475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114999190612807565b600f80546001600160a01b0319166001600160a01b03929092169190911790555050565b6005546001600160a01b031633146114e75760405162461bcd60e51b8152600401610c4e90612b21565b601a55565b6005546001600160a01b031633146115165760405162461bcd60e51b8152600401610c4e90612b21565b601755565b6005546001600160a01b031633146115455760405162461bcd60e51b8152600401610c4e90612b21565b61154f6000612140565b565b6000600a828154811061157457634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b031692915050565b6005546001600160a01b031633146115b95760405162461bcd60e51b8152600401610c4e90612b21565b601855565b6005546001600160a01b031633146115e85760405162461bcd60e51b8152600401610c4e90612b21565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b606060048054610ba190612c35565b6005546001600160a01b031633146116435760405162461bcd60e51b8152600401610c4e90612b21565b6015819055601454601354610c78918391610c7291611ae7565b6005546001600160a01b031633146116875760405162461bcd60e51b8152600401610c4e90612b21565b600f546001600160a01b038381169116141561171e5760405162461bcd60e51b815260206004820152604a60248201527f544b4e3a205468652050616e63616b655377617020706169722063616e6e6f7460448201527f2062652072656d6f7665642066726f6d206175746f6d617465644d61726b65746064820152694d616b6572506169727360b01b608482015260a401610c4e565b610fa68282612192565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156117aa5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610c4e565b6117b73385858403611af3565b5060019392505050565b6000610c8b338484611e21565b6005546001600160a01b031633146117f85760405162461bcd60e51b8152600401610c4e90612b21565b600081116118395760405162461bcd60e51b815260206004820152600e60248201526d416d6f756e7420746f6f206c6f7760901b6044820152606401610c4e565b60115461184f906001600160a01b03168261227b565b50565b6005546001600160a01b0316331461187c5760405162461bcd60e51b8152600401610c4e90612b21565b601b55565b6005546001600160a01b031633146118ab5760405162461bcd60e51b8152600401610c4e90612b21565b601c5460ff16156118fe5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610c4e565b601c805460ff19166001179055565b6005546001600160a01b031633146119375760405162461bcd60e51b8152600401610c4e90612b21565b6001600160a01b03919091166000908152601f60205260409020805460ff1916911515919091179055565b6005546001600160a01b0316331461198c5760405162461bcd60e51b8152600401610c4e90612b21565b6001600160a01b03919091166000908152601d60205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146119e15760405162461bcd60e51b8152600401610c4e90612b21565b6001600160a01b038116611a465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c4e565b61184f81612140565b6005546001600160a01b03163314611a795760405162461bcd60e51b8152600401610c4e90612b21565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611ac55760405162461bcd60e51b8152600401610c4e90612b21565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610ef48284612b9b565b6001600160a01b038316611b555760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c4e565b6001600160a01b038216611bb65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c4e565b611be56040518060400160405280600d81526020016c5f617070726f7665207468697360981b8152503061235b565b611c11604051806040016040528060088152602001675f617070726f766560c01b81525084848461209f565b6001600160a01b038084166000908152600160209081526040808320938616808452848352818420869055815180830190925260088252675f617070726f766560c01b8284015290925291909152611c6b9084848461209f565b816001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611cb091815260200190565b60405180910390a3505050565b6006546001600160a01b03841660009081526008602052604081205490918391611ce79086612bd3565b611cf19190612bb3565b611cfb9190612bf2565b949350505050565b80471015611d535760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610c4e565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611da0576040519150601f19603f3d011682016040523d82523d6000602084013e611da5565b606091505b5050905080611e1c5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610c4e565b505050565b6001600160a01b038316611e475760405162461bcd60e51b8152600401610c4e90612b56565b6001600160a01b038216611e6d5760405162461bcd60e51b8152600401610c4e90612a4d565b6001600160a01b0383166000908152601d602052604090205460ff16158015611eaf57506001600160a01b0382166000908152601d602052604090205460ff16155b611ef15760405162461bcd60e51b8152602060048201526013602482015272426c61636b6c6973746564206164647265737360681b6044820152606401610c4e565b6005546001600160a01b03848116911614801590611f1d57506005546001600160a01b03838116911614155b8015611f3257506001600160a01b0383163014155b8015611f4757506001600160a01b0382163014155b8015611f6c57506001600160a01b0383166000908152601f602052604090205460ff16155b8015611f9157506001600160a01b0382166000908152601f602052604090205460ff16155b8015611fab5750600f546001600160a01b03838116911614155b8015611fc55750600e546001600160a01b03838116911614155b1561209457601c5460ff161561204b576001600160a01b038216600090815260208190526040902054601b54611ffb8383611ae7565b11156120495760405162461bcd60e51b815260206004820152601860248201527f5472616e7366657220616d6f756e7420746f6f206869676800000000000000006044820152606401610c4e565b505b601c5460ff1615801561206b5750600f546001600160a01b038481169116145b15612094576001600160a01b0382166000908152601d60205260409020805460ff191660011790555b611e1c8383836123a0565b6120e8848484846040516024016120b994939291906129f2565b60408051601f198184030181529190526020810180516001600160e01b0316636eb7943d60e01b1790526125a6565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611e1c9084906125c7565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166000908152601e602052604090205460ff16151581151514156122275760405162461bcd60e51b815260206004820152603d60248201527f544b4e3a204175746f6d61746564206d61726b6574206d616b6572207061697260448201527f20697320616c72656164792073657420746f20746861742076616c75650000006064820152608401610c4e565b6001600160a01b0382166000818152601e6020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0382166122d15760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610c4e565b80600260008282546122e39190612b9b565b90915550506001600160a01b03821660009081526020819052604081208054839290612310908490612b9b565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3610fa6565b610fa682826040516024016123719291906129c8565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b1790526125a6565b6001600160a01b0383166123c65760405162461bcd60e51b8152600401610c4e90612b56565b6001600160a01b0382166123ec5760405162461bcd60e51b8152600401610c4e90612a4d565b612410604051806060016040528060278152602001612caa6027913984848461209f565b61244b604051806060016040528060278152602001612cd1602791396001600160a01b03851660009081526020819052604090205483612699565b6001600160a01b038316600090815260208190526040902054818110156124c35760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610c4e565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906124fa908490612b9b565b925050819055506125546040518060400160405280600b81526020016a5f7472616e73666572203360a81b8152508585600080886001600160a01b03166001600160a01b031681526020019081526020016000205461209f565b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161259991815260200190565b60405180910390a36120e8565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b600061261c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166126e09092919063ffffffff16565b805190915015611e1c578080602001905181019061263a919061290f565b611e1c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610c4e565b611e1c8383836040516024016126b193929190612a28565b60408051601f198184030181529190526020810180516001600160e01b031663969cdd0360e01b1790526125a6565b6060611cfb848460008585843b6127395760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610c4e565b600080866001600160a01b031685876040516127559190612999565b60006040518083038185875af1925050503d8060008114612792576040519150601f19603f3d011682016040523d82523d6000602084013e612797565b606091505b50915091506127a78282866127b2565b979650505050505050565b606083156127c1575081610ef4565b8251156127d15782518084602001fd5b8160405162461bcd60e51b8152600401610c4e91906129b5565b6000602082840312156127fc578081fd5b8135610ef481612c86565b600060208284031215612818578081fd5b8151610ef481612c86565b60008060408385031215612835578081fd5b823561284081612c86565b9150602083013561285081612c86565b809150509250929050565b60008060006060848603121561286f578081fd5b833561287a81612c86565b9250602084013561288a81612c86565b929592945050506040919091013590565b600080604083850312156128ad578182fd5b82356128b881612c86565b9150602083013561285081612c9b565b600080604083850312156128da578182fd5b82356128e581612c86565b946020939093013593505050565b600060208284031215612904578081fd5b8135610ef481612c9b565b600060208284031215612920578081fd5b8151610ef481612c9b565b60008060408385031215612835578182fd5b60006020828403121561294e578081fd5b5035919050565b600060208284031215612966578081fd5b5051919050565b60008151808452612985816020860160208601612c09565b601f01601f19169290920160200192915050565b600082516129ab818460208701612c09565b9190910192915050565b600060208252610ef4602083018461296d565b6000604082526129db604083018561296d565b905060018060a01b03831660208301529392505050565b600060808252612a05608083018761296d565b6001600160a01b0395861660208401529390941660408201526060015292915050565b600060608252612a3b606083018661296d565b60208301949094525060400152919050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526026908201527f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060408201526573686172657360d01b606082015260800190565b6020808252602b908201527f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060408201526a191d59481c185e5b595b9d60aa1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60008219821115612bae57612bae612c70565b500190565b600082612bce57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615612bed57612bed612c70565b500290565b600082821015612c0457612c04612c70565b500390565b60005b83811015612c24578181015183820152602001612c0c565b838111156120e85750506000910152565b600281046001821680612c4957607f821691505b60208210811415612c6a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461184f57600080fd5b801515811461184f57600080fdfe5f7472616e736665722031202d2073656e6465722c20726563697069656e742c20616d6f756e745f7472616e736665722032202d205f62616c616e6365735b73656e6465725d2c20616d6f756e74a2646970667358221220d144d6f6a7977d9095254aeca71deb1dff4df61929e87bb3447e4f372f5ef65264736f6c6343000802003300000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000186a000000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d400000000000000000000000000000000000000000000000000000000000000030000000000000000000000007e629b588a49edb07e5e3b9c0d9082e61dbc9e570000000000000000000000000ae182c758d91f72cf15a278142acf88bafc88f000000000000000000000000097d511cca93ead7f5bcf024c8876fa6eb0d34fac0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000007000000000000000000000000e562f7f61831a2c8812baeb6e23b64618ea1ac4b000000000000000000000000bcc93737f83499c2764473882429bb3675c6303c0000000000000000000000001cc54925ca640ef2d87305f6d4af9eeea61b3fc0000000000000000000000000d1654973675be0f563d6fda67aacb3028c225c620000000000000000000000007e629b588a49edb07e5e3b9c0d9082e61dbc9e570000000000000000000000000ae182c758d91f72cf15a278142acf88bafc88f000000000000000000000000097d511cca93ead7f5bcf024c8876fa6eb0d34fac000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000004f58800000000000000000000000000000000000000000000000000000000000186a00000000000000000000000000000000000000000000000000000000000003a980000000000000000000000000000000000000000000000000000000000007530000000000000000000000000000000000000000000000000000000000000752e0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001