Overview ERC20
PRICE
n/a

ON-CHAIN MARKET CAP n/a

Total Supply:
38,271.38 beJOE

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


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

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 200 runs

Created At:
Thu, 07 Apr 2022 21:32:04 GMT
VeJoeStaker.sol
contracts
BIFI
strategies
veJOE
VeJoeStaker.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_veJoe",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_keeper",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_reserveRate",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "_joeBatch",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_beJoeShare",
        "type": "uint256"
      },
      {
        "internalType": "address",
        "name": "_native",
        "type": "address"
      },
      {
        "internalType": "string",
        "name": "_name",
        "type": "string"
      },
      {
        "internalType": "string",
        "name": "_symbol",
        "type": "string"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "spender",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "Approval",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "tvl",
        "type": "uint256"
      }
    ],
    "name": "DepositWant",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "oldShare",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newShare",
        "type": "uint256"
      }
    ],
    "name": "NewBeJoeShare",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "oldBatch",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "newBatch",
        "type": "address"
      }
    ],
    "name": "NewJoeBatch",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "oldKeeper",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "newKeeper",
        "type": "address"
      }
    ],
    "name": "NewKeeper",
    "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"
      }
    ],
    "name": "Paused",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "address",
        "name": "token",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "RecoverTokens",
    "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": false,
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "Unpaused",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newRate",
        "type": "uint256"
      }
    ],
    "name": "UpdatedReserveRate",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "tvl",
        "type": "uint256"
      }
    ],
    "name": "Withdraw",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "MAX",
    "outputs": [
      {
        "internalType": "uint16",
        "name": "",
        "type": "uint16"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_rate",
        "type": "uint256"
      }
    ],
    "name": "adjustReserve",
    "outputs": [],
    "stateMutability": "nonpayable",
    "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": "account",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "balanceOfJoeInVe",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "joes",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "balanceOfVe",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "balanceOfWant",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "beJoeShare",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_strategy",
        "type": "address"
      }
    ],
    "name": "blacklistStrategy",
    "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": [
      {
        "internalType": "address",
        "name": "_joeChef",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_pid",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "deposit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "deposit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "depositAll",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_joeChef",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_pid",
        "type": "uint256"
      }
    ],
    "name": "emergencyWithdraw",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "harvestAndDepositJoe",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_token",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "_native",
        "type": "bool"
      }
    ],
    "name": "inCaseTokensGetStuck",
    "outputs": [],
    "stateMutability": "nonpayable",
    "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": "bytes32",
        "name": "_messageHash",
        "type": "bytes32"
      },
      {
        "internalType": "bytes",
        "name": "_signature",
        "type": "bytes"
      }
    ],
    "name": "isValidSignature",
    "outputs": [
      {
        "internalType": "bytes4",
        "name": "",
        "type": "bytes4"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "joeBatch",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "keeper",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "name",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "native",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "panic",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "pause",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "paused",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_oldStrategy",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_newStrategy",
        "type": "address"
      }
    ],
    "name": "proposeStrategy",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "replacementStrategy",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "requiredReserve",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "reqReserve",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "reserveRate",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_joeBatch",
        "type": "address"
      }
    ],
    "name": "setJoeBatch",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_keeper",
        "type": "address"
      }
    ],
    "name": "setKeeper",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_newBeJoeShare",
        "type": "uint256"
      }
    ],
    "name": "setbeJoeShare",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "speedUpTimestamp",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "time",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalJoes",
    "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": "unpause",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_joeChef",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_pid",
        "type": "uint256"
      }
    ],
    "name": "upgradeStrategy",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "veJoe",
    "outputs": [
      {
        "internalType": "contract IVeJoe",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "want",
    "outputs": [
      {
        "internalType": "contract IERC20",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_strategy",
        "type": "address"
      }
    ],
    "name": "whitelistStrategy",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "name": "whitelistedStrategy",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "withdraw",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_joeChef",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_pid",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_amount",
        "type": "uint256"
      }
    ],
    "name": "withdraw",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]


Contract Creation Code
60806040523480156200001157600080fd5b506040516200482138038062004821833981016040819052620000349162000786565b8685858484816003908051906020019062000051929190620005e9565b50805162000067906004906020840190620005e9565b50506001600555506200007a33620001de565b6006805460ff60a01b19169055600780546001600160a01b038086166001600160a01b03199283161790925560088054928516929091169190911790556103e8811115620000fa5760405162461bcd60e51b81526020600482015260086024820152670a8dede409aeac6d60c31b60448201526064015b60405180910390fd5b6009555050600d80546001600160a01b0319166001600160a01b038a16908117909155604080516305cc2d1d60e51b8152905163b985a3a0916004808201926020929091908290030181865afa15801562000159573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017f91906200084f565b600c80546001600160a01b03199081166001600160a01b03938416908117909255600f899055600e8054909116868416179055600d54620001d0921660001962000230602090811b6200298017901c565b50505050505050506200093b565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b801580620002ae5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801562000286573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ac91906200086d565b155b620003225760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152608401620000f1565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b179091526200037a9185916200037f16565b505050565b6000620003db826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166200045d60201b62002acd179092919060201c565b8051909150156200037a5780806020019051810190620003fc919062000887565b6200037a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401620000f1565b60606200046e848460008562000478565b90505b9392505050565b606082471015620004db5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401620000f1565b843b6200052b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620000f1565b600080866001600160a01b03168587604051620005499190620008ab565b60006040518083038185875af1925050503d806000811462000588576040519150601f19603f3d011682016040523d82523d6000602084013e6200058d565b606091505b509092509050620005a0828286620005ab565b979650505050505050565b60608315620005bc57508162000471565b825115620005cd5782518084602001fd5b8160405162461bcd60e51b8152600401620000f19190620008c9565b828054620005f790620008fe565b90600052602060002090601f0160209004810192826200061b576000855562000666565b82601f106200063657805160ff191683800117855562000666565b8280016001018555821562000666579182015b828111156200066657825182559160200191906001019062000649565b506200067492915062000678565b5090565b5b8082111562000674576000815560010162000679565b80516001600160a01b0381168114620006a757600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620006df578181015183820152602001620006c5565b83811115620006ef576000848401525b50505050565b600082601f8301126200070757600080fd5b81516001600160401b0380821115620007245762000724620006ac565b604051601f8301601f19908116603f011681019082821181831017156200074f576200074f620006ac565b816040528381528660208588010111156200076957600080fd5b6200077c846020830160208901620006c2565b9695505050505050565b600080600080600080600080610100898b031215620007a457600080fd5b620007af896200068f565b9750620007bf60208a016200068f565b965060408901519550620007d660608a016200068f565b945060808901519350620007ed60a08a016200068f565b60c08a01519093506001600160401b03808211156200080b57600080fd5b620008198c838d01620006f5565b935060e08b01519150808211156200083057600080fd5b506200083f8b828c01620006f5565b9150509295985092959890939650565b6000602082840312156200086257600080fd5b62000471826200068f565b6000602082840312156200088057600080fd5b5051919050565b6000602082840312156200089a57600080fd5b815180151581146200047157600080fd5b60008251620008bf818460208701620006c2565b9190910192915050565b6020815260008251806020840152620008ea816040850160208701620006c2565b601f01601f19169190910160400192915050565b600181811c908216806200091357607f821691505b602082108114156200093557634e487b7160e01b600052602260045260246000fd5b50919050565b613ed6806200094b6000396000f3fe6080604052600436106102e85760003560e01c80638456cb5911610190578063b5c5f672116100dc578063d49d518111610095578063e5667e181161006f578063e5667e18146108ec578063e612a81e14610901578063f2fde38b14610921578063f9cca6851461094157600080fd5b8063d49d518114610868578063dd62ed3e14610891578063de5f6268146108d757600080fd5b8063b5c5f672146107be578063b6b55f25146107de578063bac86af5146107fe578063bc109e741461081e578063c1a3d44c1461083e578063c36d01ec1461085357600080fd5b80639cf522f911610149578063aced166111610123578063aced16611461073e578063ae7742561461075e578063b1a7c33e1461077e578063b339f3761461079e57600080fd5b80639cf522f9146106e9578063a457c2d7146106fe578063a9059cbb1461071e57600080fd5b80638456cb591461062057806384f32cde146106355780638da5cb5b1461065557806395ccea671461067357806395d89b411461069357806398239f79146106a857600080fd5b80632e1a7d4d1161024f5780634700d305116102085780636bffc39b116101e25780636bffc39b1461059f57806370a08231146105b5578063715018a6146105eb578063748747e61461060057600080fd5b80634700d3051461055557806358d7bf801461056a5780635c975abb1461058057600080fd5b80632e1a7d4d146104a4578063313ce567146104c457806339509351146104e05780633a8b52aa146105005780633f4ba83a146105205780633ff6bd781461053557600080fd5b806313c141c7116102a157806313c141c7146103ec5780631626ba7e1461040157806318160ddd1461043a5780631f1fcd511461044f57806323b872dd1461046f5780632a0e37c21461048f57600080fd5b806306fdde03146102f45780630757f4951461031f578063095ea7b3146103425780630efe6a8b1461037257806311b0b42d146103945780631290bb92146103cc57600080fd5b366102ef57005b600080fd5b34801561030057600080fd5b50610309610977565b6040516103169190613963565b60405180910390f35b34801561032b57600080fd5b50610334610a09565b604051908152602001610316565b34801561034e57600080fd5b5061036261035d3660046139ab565b610a7f565b6040519015158152602001610316565b34801561037e57600080fd5b5061039261038d3660046139d7565b610a95565b005b3480156103a057600080fd5b50600e546103b4906001600160a01b031681565b6040516001600160a01b039091168152602001610316565b3480156103d857600080fd5b506103926103e73660046139ab565b610f46565b3480156103f857600080fd5b50610392610fd5565b34801561040d57600080fd5b5061042161041c366004613a0c565b611117565b6040516001600160e01b03199091168152602001610316565b34801561044657600080fd5b50600254610334565b34801561045b57600080fd5b50600c546103b4906001600160a01b031681565b34801561047b57600080fd5b5061036261048a366004613a88565b6111b1565b34801561049b57600080fd5b5061033461125b565b3480156104b057600080fd5b506103926104bf366004613ac9565b61127a565b3480156104d057600080fd5b5060405160128152602001610316565b3480156104ec57600080fd5b506103626104fb3660046139ab565b611322565b34801561050c57600080fd5b506008546103b4906001600160a01b031681565b34801561052c57600080fd5b5061039261135e565b34801561054157600080fd5b50610392610550366004613ae2565b611457565b34801561056157600080fd5b506103926114ea565b34801561057657600080fd5b50610334600f5481565b34801561058c57600080fd5b50600654600160a01b900460ff16610362565b3480156105ab57600080fd5b5061033460095481565b3480156105c157600080fd5b506103346105d0366004613ae2565b6001600160a01b031660009081526020819052604090205490565b3480156105f757600080fd5b5061039261159c565b34801561060c57600080fd5b5061039261061b366004613ae2565b6115d0565b34801561062c57600080fd5b50610392611678565b34801561064157600080fd5b50610392610650366004613ae2565b6116dd565b34801561066157600080fd5b506006546001600160a01b03166103b4565b34801561067f57600080fd5b5061039261068e3660046139ab565b611896565b34801561069f57600080fd5b50610309611a79565b3480156106b457600080fd5b506103b46106c33660046139ab565b600a6020908152600092835260408084209091529082529020546001600160a01b031681565b3480156106f557600080fd5b50610334611a88565b34801561070a57600080fd5b506103626107193660046139ab565b611b61565b34801561072a57600080fd5b506103626107393660046139ab565b611bfa565b34801561074a57600080fd5b506007546103b4906001600160a01b031681565b34801561076a57600080fd5b50610392610779366004613ae2565b611c07565b34801561078a57600080fd5b50610392610799366004613aff565b611e96565b3480156107aa57600080fd5b506103926107b9366004613ac9565b611ffd565b3480156107ca57600080fd5b506103926107d93660046139d7565b6120ba565b3480156107ea57600080fd5b506103926107f9366004613ac9565b612517565b34801561080a57600080fd5b50610392610819366004613b46565b612520565b34801561082a57600080fd5b50600d546103b4906001600160a01b031681565b34801561084a57600080fd5b50610334612711565b34801561085f57600080fd5b50610334612742565b34801561087457600080fd5b5061087e61271081565b60405161ffff9091168152602001610316565b34801561089d57600080fd5b506103346108ac366004613aff565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156108e357600080fd5b506103926127b7565b3480156108f857600080fd5b5061033461282a565b34801561090d57600080fd5b5061039261091c366004613ac9565b612845565b34801561092d57600080fd5b5061039261093c366004613ae2565b6128e8565b34801561094d57600080fd5b506103b461095c366004613ae2565b600b602052600090815260409020546001600160a01b031681565b60606003805461098690613b74565b80601f01602080910402602001604051908101604052809291908181526020018280546109b290613b74565b80156109ff5780601f106109d4576101008083540402835291602001916109ff565b820191906000526020600020905b8154815290600101906020018083116109e257829003601f168201915b5050505050905090565b600d546040516343b0215f60e01b81523060048201526000916001600160a01b0316906343b0215f90602401608060405180830381865afa158015610a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a769190613baf565b50919392505050565b6000610a8c338484612adc565b50600192915050565b6001600160a01b038084166000908152600a6020908152604080832086845290915290205484918491163314610ae65760405162461bcd60e51b8152600401610add90613be5565b60405180910390fd5b604051631526fe2760e01b81526004810185905260009081906001600160a01b03881690631526fe279060240161012060405180830381865afa158015610b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b559190613c2f565b50505095505050505091506000610b6a612711565b9050610b816001600160a01b038416333089612c00565b600080806001600160a01b03851615610ccd57846001600160a01b031663f7c618c16040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf69190613ce2565b6040516370a0823160e01b81523060048201529093506001600160a01b038416906370a0823190602401602060405180830381865afa158015610c3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c619190613cff565b9150846001600160a01b03166373cfc6b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ca1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc59190613d18565b15610ccd5750475b604051631c57762b60e31b8152600481018b9052602481018a90526001600160a01b038c169063e2bbb15890604401600060405180830381600087803b158015610d1657600080fd5b505af1158015610d2a573d6000803e3d6000fd5b505050506000610d4285610d3c612711565b90612c38565b90508015610dba576000610d7161271061ffff16610d6b60095485612c4490919063ffffffff16565b90612c50565b600854600c54919250610d91916001600160a01b03908116911683612c5c565b6000610d9d8383612c38565b600c54909150610db7906001600160a01b03163383612c5c565b50505b6001600160a01b03861615610f3857856001600160a01b03166373cfc6b26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2b9190613d18565b15610eae576000610e3c4784612c38565b604051909150600090339083908381818185875af1925050503d8060008114610e81576040519150601f19603f3d011682016040523d82523d6000602084013e610e86565b606091505b5050905080610ea75760405162461bcd60e51b8152600401610add90613d35565b5050610f38565b6040516370a0823160e01b8152306004820152600090610f209085906001600160a01b038816906370a08231906024015b602060405180830381865afa158015610efc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3c9190613cff565b9050610f366001600160a01b0386163383612c5c565b505b505050505050505050505050565b6001600160a01b038083166000908152600a6020908152604080832085845290915290205483918391163314610f8e5760405162461bcd60e51b8152600401610add90613be5565b5050336000908152600b60209081526040808320546001600160a01b039586168452600a835281842094845293909152902080546001600160a01b03191691909216179055565b6000610fdf61282a565b111561111557610fed61125b565b610ff5612711565b111561110d57600061101061100861125b565b610d3c612711565b905060006110a16064610d6b600d60009054906101000a90046001600160a01b03166001600160a01b0316632db9680a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561106f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110939190613cff565b61109b610a09565b90612c44565b90508082111561110a57600d5460405163b6b55f2560e01b8152600481018490526001600160a01b039091169063b6b55f2590602401600060405180830381600087803b1580156110f157600080fd5b505af1158015611105573d6000803e3d6000fd5b505050505b50505b611115612c8c565b565b60008061115c84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508993925050612cdc9050565b6007549091506001600160a01b038083169116148061118857506006546001600160a01b038281169116145b1561119d5750630b135d3f60e11b90506111aa565b506001600160e01b031990505b9392505050565b60006111be848484612d00565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156112435760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610add565b6112508533858403612adc565b506001949350505050565b600061127561271061ffff16610d6b600f5461109b610a09565b905090565b611282612711565b8111156112c35760405162461bcd60e51b815260206004820152600f60248201526e4e6f7420656e6f756768204a4f457360881b6044820152606401610add565b6112cd3382612ece565b600c546112e4906001600160a01b03163383612c5c565b7f5b6b431d4476a211bb7d41c20d1aab9ae2321deee0d20be3d9fc9b1093fa6e3d61130d61282a565b6040519081526020015b60405180910390a150565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610a8c918590611359908690613d79565b612adc565b6006546001600160a01b031633148061138157506007546001600160a01b031633145b61139d5760405162461bcd60e51b8152600401610add90613d91565b6113a561301c565b600d54600c546113c4916001600160a01b039182169116600019612980565b60006113de61271061ffff16610d6b600f5461109b612711565b9050801561145457600d546001600160a01b031663b6b55f2561140383610d3c612711565b6040518263ffffffff1660e01b815260040161142191815260200190565b600060405180830381600087803b15801561143b57600080fd5b505af115801561144f573d6000803e3d6000fd5b505050505b50565b6006546001600160a01b031633146114815760405162461bcd60e51b8152600401610add90613db3565b600854604080516001600160a01b03928316815291831660208301527fa2d08258e4875e0f300d2277aa7509c0a1dcb2d4350d08e2aaad04e0c35935ac910160405180910390a1600880546001600160a01b0319166001600160a01b0392909216919091179055565b6006546001600160a01b031633148061150d57506007546001600160a01b031633145b6115295760405162461bcd60e51b8152600401610add90613d91565b611531611678565b600d546001600160a01b0316632e1a7d4d61154a610a09565b6040518263ffffffff1660e01b815260040161156891815260200190565b600060405180830381600087803b15801561158257600080fd5b505af1158015611596573d6000803e3d6000fd5b50505050565b6006546001600160a01b031633146115c65760405162461bcd60e51b8152600401610add90613db3565b61111560006130b9565b6006546001600160a01b03163314806115f357506007546001600160a01b031633145b61160f5760405162461bcd60e51b8152600401610add90613d91565b600754604080516001600160a01b03928316815291831660208301527f9d0a1d053755e10f981be1cd0eae0d9a256895b4f0684c32cafa2bd4da74db6d910160405180910390a1600780546001600160a01b0319166001600160a01b0392909216919091179055565b6006546001600160a01b031633148061169b57506007546001600160a01b031633145b6116b75760405162461bcd60e51b8152600401610add90613d91565b6116bf61310b565b600d54600c54611115916001600160a01b0391821691166000612980565b6006546001600160a01b031633148061170057506007546001600160a01b031633145b61171c5760405162461bcd60e51b8152600401610add90613d91565b6000816001600160a01b0316631f1fcd516040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117809190613ce2565b90506000826001600160a01b0316633e0dc34e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e69190613cff565b90506000836001600160a01b0316631fc8bc5d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184c9190613ce2565b90506118636001600160a01b038416826000612980565b6001600160a01b03166000908152600a602090815260408083209383529290522080546001600160a01b03191690555050565b6001600160a01b038083166000908152600a60209081526040808320858452909152902054839183911633146118de5760405162461bcd60e51b8152600401610add90613be5565b604051631526fe2760e01b8152600481018490526000906001600160a01b03861690631526fe279060240161012060405180830381865afa158015611927573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194b9190613c2f565b50506040516370a0823160e01b81523060048201529697506000966001600160a01b03891696506370a082319550602401935061198792505050565b602060405180830381865afa1580156119a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c89190613cff565b604051632989754760e11b8152600481018790529091506001600160a01b03871690635312ea8e90602401600060405180830381600087803b158015611a0d57600080fd5b505af1158015611a21573d6000803e3d6000fd5b50506040516370a0823160e01b815230600482015260009250611a5a915083906001600160a01b038616906370a0823190602401610edf565b9050611a706001600160a01b0384163383612c5c565b50505050505050565b60606004805461098690613b74565b600d5460408051632f04279d60e21b815290516000926001600160a01b03169163bc109e749160048083019260209291908290030181865afa158015611ad2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af69190613ce2565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a08231906024015b602060405180830381865afa158015611b3d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112759190613cff565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015611be35760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610add565b611bf03385858403612adc565b5060019392505050565b6000610a8c338484612d00565b6006546001600160a01b0316331480611c2a57506007546001600160a01b031633145b611c465760405162461bcd60e51b8152600401610add90613d91565b6000816001600160a01b0316631f1fcd516040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611caa9190613ce2565b90506000826001600160a01b0316633e0dc34e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d109190613cff565b90506000836001600160a01b0316631fc8bc5d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d769190613ce2565b6040516393f1a40b60e01b8152600481018490523060248201529091506000906001600160a01b038316906393f1a40b90604401606060405180830381865afa158015611dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611deb9190613de8565b5050905080600014611e2b5760405162461bcd60e51b815260206004820152600960248201526821696e61637469766560b81b6044820152606401610add565b611e406001600160a01b038516836000612980565b611e566001600160a01b03851683600019612980565b506001600160a01b039081166000908152600a60209081526040808320948352939052919091208054919093166001600160a01b03199091161790915550565b6006546001600160a01b0316331480611eb957506007546001600160a01b031633145b611ed55760405162461bcd60e51b8152600401610add90613d91565b806001600160a01b0316633e0dc34e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f379190613cff565b826001600160a01b0316633e0dc34e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f999190613cff565b14611fcf5760405162461bcd60e51b8152600401610add90602080825260049082015263085c1a5960e21b604082015260600190565b6001600160a01b039182166000908152600b6020526040902080546001600160a01b03191691909216179055565b6006546001600160a01b031633148061202057506007546001600160a01b031633145b61203c5760405162461bcd60e51b8152600401610add90613d91565b6103e88111156120795760405162461bcd60e51b81526020600482015260086024820152670e8dede40daeac6d60c31b6044820152606401610add565b60095460408051918252602082018390527f628bf064b3ebb0617498d4d3d7652ef41971b9044789818ce05e94b23bceeacf910160405180910390a1600955565b6001600160a01b038084166000908152600a60209081526040808320868452909152902054849184911633146121025760405162461bcd60e51b8152600401610add90613be5565b604051631526fe2760e01b81526004810185905260009081906001600160a01b03881690631526fe279060240161012060405180830381865afa15801561214d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121719190613c2f565b50505095505050505091506000612186612711565b9050600080806001600160a01b038516156122d457846001600160a01b031663f7c618c16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121fd9190613ce2565b6040516370a0823160e01b81523060048201529093506001600160a01b038416906370a0823190602401602060405180830381865afa158015612244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122689190613cff565b9150846001600160a01b03166373cfc6b26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122cc9190613d18565b156122d45750475b604051630441a3e760e41b8152600481018b9052602481018a90526001600160a01b038c169063441a3e7090604401600060405180830381600087803b15801561231d57600080fd5b505af1158015612331573d6000803e3d6000fd5b50505050600061234385610d3c612711565b90506123596001600160a01b038816338c612c5c565b6001600160a01b0386161561249a57856001600160a01b03166373cfc6b26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123ca9190613d18565b1561244d5760006123db4784612c38565b604051909150600090339083908381818185875af1925050503d8060008114612420576040519150601f19603f3d011682016040523d82523d6000602084013e612425565b606091505b50509050806124465760405162461bcd60e51b8152600401610add90613d35565b505061249a565b6040516370a0823160e01b81523060048201526000906124829085906001600160a01b038816906370a0823190602401610edf565b90506124986001600160a01b0386163383612c5c565b505b8015610f385760006124c161271061ffff16610d6b60095485612c4490919063ffffffff16565b600854600c549192506124e1916001600160a01b03908116911683612c5c565b60006124ed8383612c38565b600c54909150612507906001600160a01b03163383612c5c565b5050505050505050505050505050565b61145481613193565b6006546001600160a01b0316331461254a5760405162461bcd60e51b8152600401610add90613db3565b600c546001600160a01b03838116911614156125915760405162461bcd60e51b815260206004820152600660248201526510ba37b5b2b760d11b6044820152606401610add565b8015612649576040514790600090339083908381818185875af1925050503d80600081146125db576040519150601f19603f3d011682016040523d82523d6000602084013e6125e0565b606091505b50509050806126015760405162461bcd60e51b8152600401610add90613d35565b604080516001600160a01b0386168152602081018490527f645a125e23ffcd47445c706fd06c9455b6640943d3f1fd9c75211a5deca297b3910160405180910390a150505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015612690573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b49190613cff565b90506126ca6001600160a01b0384163383612c5c565b604080516001600160a01b0385168152602081018390527f645a125e23ffcd47445c706fd06c9455b6640943d3f1fd9c75211a5deca297b3910160405180910390a1505050565b600c546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401611b20565b600d546040516343b0215f60e01b81523060048201526000916001600160a01b0316906343b0215f90602401608060405180830381865afa15801561278b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127af9190613baf565b949350505050565b600c546040516370a0823160e01b8152336004820152611115916001600160a01b0316906370a0823190602401602060405180830381865afa158015612801573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128259190613cff565b613193565b6000611275612837610a09565b61283f612711565b906132d2565b6006546001600160a01b0316331461286f5760405162461bcd60e51b8152600401610add90613db3565b6127108111156128b35760405162461bcd60e51b815260206004820152600f60248201526e090d2ced0cae440e8d0c2dc40dac2f608b1b6044820152606401610add565b600f8190556040518181527f7f185f718ac615dca1b3b16420e410c6cad609a5be3fc66faa29cab784cab8be90602001611317565b6006546001600160a01b031633146129125760405162461bcd60e51b8152600401610add90613db3565b6001600160a01b0381166129775760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610add565b611454816130b9565b8015806129fa5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156129d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f89190613cff565b155b612a655760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610add565b6040516001600160a01b038316602482015260448101829052612ac890849063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526132de565b505050565b60606127af84846000856133b0565b6001600160a01b038316612b3e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610add565b6001600160a01b038216612b9f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610add565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6040516001600160a01b03808516602483015283166044820152606481018290526115969085906323b872dd60e01b90608401612a91565b60006111aa8284613e16565b60006111aa8284613e2d565b60006111aa8284613e4c565b6040516001600160a01b038316602482015260448101829052612ac890849063a9059cbb60e01b90606401612a91565b600d60009054906101000a90046001600160a01b03166001600160a01b0316634e71d92d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561158257600080fd5b6000806000612ceb85856134d8565b91509150612cf881613548565b509392505050565b6001600160a01b038316612d645760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610add565b6001600160a01b038216612dc65760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610add565b6001600160a01b03831660009081526020819052604090205481811015612e3e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610add565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290612e75908490613d79565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612ec191815260200190565b60405180910390a3611596565b6001600160a01b038216612f2e5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610add565b6001600160a01b03821660009081526020819052604090205481811015612fa25760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610add565b6001600160a01b0383166000908152602081905260408120838303905560028054849290612fd1908490613e16565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600654600160a01b900460ff1661306c5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610add565b6006805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600654600160a01b900460ff16156131585760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610add565b6006805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861309c3390565b600260055414156131e65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610add565b6002600555600654600160a01b900460ff16156132385760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610add565b613240610fd5565b600061324a612711565b600c54909150613265906001600160a01b0316333085612c00565b600061326f612711565b905061327b8183612c38565b925082156132c85761328d3384613703565b7fcce81a73106b1f897e8c451074728c7499edae3022ffc7a29ad27f2c25b8f5136132b661282a565b60405190815260200160405180910390a15b5050600160055550565b60006111aa8284613d79565b6000613333826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612acd9092919063ffffffff16565b805190915015612ac857808060200190518101906133519190613d18565b612ac85760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610add565b6060824710156134115760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610add565b843b61345f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610add565b600080866001600160a01b0316858760405161347b9190613e6e565b60006040518083038185875af1925050503d80600081146134b8576040519150601f19603f3d011682016040523d82523d6000602084013e6134bd565b606091505b50915091506134cd8282866137e2565b979650505050505050565b60008082516041141561350f5760208301516040840151606085015160001a6135038782858561381b565b94509450505050613541565b825160401415613539576020830151604084015161352e868383613908565b935093505050613541565b506000905060025b9250929050565b600081600481111561355c5761355c613e8a565b14156135655750565b600181600481111561357957613579613e8a565b14156135c75760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610add565b60028160048111156135db576135db613e8a565b14156136295760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610add565b600381600481111561363d5761363d613e8a565b14156136965760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610add565b60048160048111156136aa576136aa613e8a565b14156114545760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610add565b6001600160a01b0382166137595760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610add565b806002600082825461376b9190613d79565b90915550506001600160a01b03821660009081526020819052604081208054839290613798908490613d79565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b606083156137f15750816111aa565b8251156138015782518084602001fd5b8160405162461bcd60e51b8152600401610add9190613963565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561385257506000905060036138ff565b8460ff16601b1415801561386a57508460ff16601c14155b1561387b57506000905060046138ff565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156138cf573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166138f8576000600192509250506138ff565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b016139298782888561381b565b935093505050935093915050565b60005b8381101561395257818101518382015260200161393a565b838111156115965750506000910152565b6020815260008251806020840152613982816040850160208701613937565b601f01601f19169190910160400192915050565b6001600160a01b038116811461145457600080fd5b600080604083850312156139be57600080fd5b82356139c981613996565b946020939093013593505050565b6000806000606084860312156139ec57600080fd5b83356139f781613996565b95602085013595506040909401359392505050565b600080600060408486031215613a2157600080fd5b83359250602084013567ffffffffffffffff80821115613a4057600080fd5b818601915086601f830112613a5457600080fd5b813581811115613a6357600080fd5b876020828501011115613a7557600080fd5b6020830194508093505050509250925092565b600080600060608486031215613a9d57600080fd5b8335613aa881613996565b92506020840135613ab881613996565b929592945050506040919091013590565b600060208284031215613adb57600080fd5b5035919050565b600060208284031215613af457600080fd5b81356111aa81613996565b60008060408385031215613b1257600080fd5b8235613b1d81613996565b91506020830135613b2d81613996565b809150509250929050565b801515811461145457600080fd5b60008060408385031215613b5957600080fd5b8235613b6481613996565b91506020830135613b2d81613b38565b600181811c90821680613b8857607f821691505b60208210811415613ba957634e487b7160e01b600052602260045260246000fd5b50919050565b60008060008060808587031215613bc557600080fd5b505082516020840151604085015160609095015191969095509092509050565b6020808252600c908201526b085dda1a5d195b1a5cdd195960a21b604082015260600190565b8051613c1681613996565b919050565b805163ffffffff81168114613c1657600080fd5b60008060008060008060008060006101208a8c031215613c4e57600080fd5b8951613c5981613996565b60208b01519099506bffffffffffffffffffffffff81168114613c7b57600080fd5b8098505060408a0151965060608a0151955060808a015167ffffffffffffffff81168114613ca857600080fd5b9450613cb660a08b01613c0b565b9350613cc460c08b01613c1b565b925060e08a015191506101008a015190509295985092959850929598565b600060208284031215613cf457600080fd5b81516111aa81613996565b600060208284031215613d1157600080fd5b5051919050565b600060208284031215613d2a57600080fd5b81516111aa81613b38565b6020808252601490820152732330b4b632b2103a379039b2b7321022ba3432b960611b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115613d8c57613d8c613d63565b500190565b60208082526008908201526710b6b0b730b3b2b960c11b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600080600060608486031215613dfd57600080fd5b8351925060208401519150604084015190509250925092565b600082821015613e2857613e28613d63565b500390565b6000816000190483118215151615613e4757613e47613d63565b500290565b600082613e6957634e487b7160e01b600052601260045260246000fd5b500490565b60008251613e80818460208701613937565b9190910192915050565b634e487b7160e01b600052602160045260246000fdfea264697066735822122099607c199dfef3436b58023b3a0291717f99d7f9159f3a3fd77265766f8054d864736f6c634300080b003300000000000000000000000025d85e17dd9e544f6e9f8d44f99602dbf5a97341000000000000000000000000340465d9d2ebde78f15a3870884757584f97abb400000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c700000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000001242656566792076654a4f45205374616b65720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000562654a4f45000000000000000000000000000000000000000000000000000000
Constructor Arguments
(ABI-Encoded and is the last bytes of the Contract Creation Code above)
0xa264697066735822122099607c199dfef3436b58023b3a0291717f99d7f9159f3a3fd77265766f8054d864736f6c634300080b003300000000000000000000000025d85e17dd9e544f6e9f8d44f99602dbf5a97341000000000000000000000000340465d9d2ebde78f15a3870884757584f97abb400000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f4000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c700000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000001242656566792076654a4f45205374616b65720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000562654a4f45000000000000000000000000000000000000000000000000000000