Overview ERC721
Total Supply:
613 AXM

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

Contract Source Code Verified (Partial Match)
Contract Name:
AvaxMachina

Compiler Version
v0.8.1+commit.df193b15

Optimization Enabled:
Yes with 200 runs

Created At:
Tue, 29 Mar 2022 18:59:08 GMT
AvaxMachina.sol
AvaxMachina.sol
AvaxMachina.sol


Contract ABI
[
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "nftName",
        "type": "string"
      },
      {
        "internalType": "string",
        "name": "nftSymbol",
        "type": "string"
      },
      {
        "internalType": "string",
        "name": "baseTokenURI",
        "type": "string"
      },
      {
        "internalType": "address",
        "name": "_royaltyRecipient",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "approved",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "Approval",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "approved",
        "type": "bool"
      }
    ],
    "name": "ApprovalForAll",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "_id",
        "type": "uint256"
      }
    ],
    "name": "Claim",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "previousOwner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnershipTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "Transfer",
    "type": "event"
  },
  {
    "stateMutability": "payable",
    "type": "fallback"
  },
  {
    "inputs": [],
    "name": "EARLY_NFT_PRICE",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "MAX_MINTABLE",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "MAX_PER_CLAIM",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "NFT_PRICE",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "ROYALTY_VALUE",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "approve",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      }
    ],
    "name": "balanceOf",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "canClaim",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "n",
        "type": "uint256"
      }
    ],
    "name": "claim",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "n",
        "type": "uint256"
      }
    ],
    "name": "earlyClaim",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "earlyMint",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_addr",
        "type": "address"
      }
    ],
    "name": "getAdmins",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "getApproved",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "operator",
        "type": "address"
      }
    ],
    "name": "isApprovedForAll",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_whitelistedAddress",
        "type": "address"
      }
    ],
    "name": "isEarlyMinter",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "minted",
    "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": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "ownerOf",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_addressToWhitelist",
        "type": "address"
      }
    ],
    "name": "removeEarlyUser",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "value",
        "type": "uint256"
      }
    ],
    "name": "royaltyInfo",
    "outputs": [
      {
        "internalType": "address",
        "name": "receiver",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "royaltyAmount",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "safeTransferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      },
      {
        "internalType": "bytes",
        "name": "_data",
        "type": "bytes"
      }
    ],
    "name": "safeTransferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address[]",
        "name": "_addr",
        "type": "address[]"
      }
    ],
    "name": "setAdmins",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "operator",
        "type": "address"
      },
      {
        "internalType": "bool",
        "name": "approved",
        "type": "bool"
      }
    ],
    "name": "setApprovalForAll",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "uri",
        "type": "string"
      }
    ],
    "name": "setBaseUri",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address[]",
        "name": "addresses",
        "type": "address[]"
      },
      {
        "internalType": "uint256",
        "name": "allowedToMint",
        "type": "uint256"
      }
    ],
    "name": "setEarlyMinters",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_royaltyRecipient",
        "type": "address"
      }
    ],
    "name": "setRoyaltyAddress",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes4",
        "name": "interfaceId",
        "type": "bytes4"
      }
    ],
    "name": "supportsInterface",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "symbol",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "toggleClaimability",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "toggleEarlyMint",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "index",
        "type": "uint256"
      }
    ],
    "name": "tokenByIndex",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "index",
        "type": "uint256"
      }
    ],
    "name": "tokenOfOwnerByIndex",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "tokenURI",
    "outputs": [
      {
        "internalType": "string",
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "totalSupply",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "from",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "to",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "tokenId",
        "type": "uint256"
      }
    ],
    "name": "transferFrom",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "withdraw",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]


Contract Creation Code
6108ae600d5560a0604081905260006080819052620000219160119162000144565b50600060128190556013805461ffff191690556014553480156200004457600080fd5b506040516200323e3803806200323e83398101604081905262000067916200029d565b8351849084906200008090600090602085019062000144565b5080516200009690600190602084019062000144565b505050620000b3620000ad620000ee60201b60201c565b620000f2565b601680546001600160a01b0319166001600160a01b0383161790558151620000e390601190602085019062000144565b50505050506200039e565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b82805462000152906200034b565b90600052602060002090601f016020900481019282620001765760008555620001c1565b82601f106200019157805160ff1916838001178555620001c1565b82800160010185558215620001c1579182015b82811115620001c1578251825591602001919060010190620001a4565b50620001cf929150620001d3565b5090565b5b80821115620001cf5760008155600101620001d4565b600082601f830112620001fb578081fd5b81516001600160401b038082111562000218576200021862000388565b604051601f8301601f19908116603f0116810190828211818310171562000243576200024362000388565b816040528381526020925086838588010111156200025f578485fd5b8491505b8382101562000282578582018301518183018401529082019062000263565b838211156200029357848385830101525b9695505050505050565b60008060008060808587031215620002b3578384fd5b84516001600160401b0380821115620002ca578586fd5b620002d888838901620001ea565b95506020870151915080821115620002ee578485fd5b620002fc88838901620001ea565b9450604087015191508082111562000312578384fd5b506200032187828801620001ea565b606087015190935090506001600160a01b038116811462000340578182fd5b939692955090935050565b6002810460018216806200036057607f821691505b602082108114156200038257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b612e9080620003ae6000396000f3fe60806040526004361061023e5760003560e01c8063676dd5631161012e578063a22cb465116100ab578063c87b56dd1161006f578063c87b56dd1461061e578063c94364e31461063e578063e985e9c514610653578063f2fde38b14610673578063fc68e62d1461069357610245565b8063a22cb4651461059e578063accc1d5e146105be578063ad5f2210146105de578063b52e6f4e146104b6578063b88d4fde146105fe57610245565b80638b42035a116100f25780638b42035a1461052a5780638da5cb5b1461053f57806393791b031461055457806395d89b4114610569578063a0bcfc7f1461057e57610245565b8063676dd563146104b65780636dc7a627146104cb5780636ff96293146104e057806370a08231146104f5578063715018a61461051557610245565b8063379607f5116101bc5780634f02c420116101805780634f02c420146104395780634f6ccce71461044e5780635471f49f1461046e5780636352211e1461048357806367675d65146104a357610245565b8063379607f5146103bc5780633ccfd60b146103cf5780633f879faf146103e457806340b89806146103f957806342842e0e1461041957610245565b8063095ea7b311610203578063095ea7b31461031957806318160ddd1461033957806323b872dd1461034e5780632a55205a1461036e5780632f745c591461039c57610245565b8062453a981461024757806301ffc9a71461027d57806306d254da146102aa57806306fdde03146102ca578063081812fc146102ec57610245565b3661024557005b005b34801561025357600080fd5b50610267610262366004612221565b6106b3565b6040516102749190612d01565b60405180910390f35b34801561028957600080fd5b5061029d610298366004612415565b6106d2565b60405161027491906125ce565b3480156102b657600080fd5b506102456102c5366004612221565b6106e3565b3480156102d657600080fd5b506102df61074d565b60405161027491906125d9565b3480156102f857600080fd5b5061030c610307366004612493565b6107e0565b6040516102749190612564565b34801561032557600080fd5b50610245610334366004612362565b610823565b34801561034557600080fd5b506102676108bb565b34801561035a57600080fd5b50610245610369366004612274565b6108c1565b34801561037a57600080fd5b5061038e6103893660046124ab565b6108f9565b6040516102749291906125b5565b3480156103a857600080fd5b506102676103b7366004612362565b610957565b6102456103ca366004612493565b6109a9565b3480156103db57600080fd5b50610245610bb4565b3480156103f057600080fd5b50610267610c61565b34801561040557600080fd5b50610245610414366004612221565b610c67565b34801561042557600080fd5b50610245610434366004612274565b610cc0565b34801561044557600080fd5b50610267610cdb565b34801561045a57600080fd5b50610267610469366004612493565b610ce1565b34801561047a57600080fd5b50610267610d3c565b34801561048f57600080fd5b5061030c61049e366004612493565b610d41565b6102456104b1366004612493565b610d76565b3480156104c257600080fd5b50610267610f61565b3480156104d757600080fd5b5061029d610f6d565b3480156104ec57600080fd5b50610245610f76565b34801561050157600080fd5b50610267610510366004612221565b610fd2565b34801561052157600080fd5b50610245611016565b34801561053657600080fd5b5061029d611061565b34801561054b57600080fd5b5061030c61106f565b34801561056057600080fd5b5061026761107e565b34801561057557600080fd5b506102df611084565b34801561058a57600080fd5b5061024561059936600461244d565b611093565b3480156105aa57600080fd5b506102456105b9366004612328565b6110e9565b3480156105ca57600080fd5b506102456105d936600461238b565b6110fb565b3480156105ea57600080fd5b5061029d6105f9366004612221565b6111ba565b34801561060a57600080fd5b506102456106193660046122af565b61121a565b34801561062a57600080fd5b506102df610639366004612493565b611253565b34801561064a57600080fd5b506102456112e5565b34801561065f57600080fd5b5061029d61066e366004612242565b611338565b34801561067f57600080fd5b5061024561068e366004612221565b611366565b34801561069f57600080fd5b506102456106ae3660046123cb565b6113d4565b6001600160a01b0381166000908152601060205260409020545b919050565b60006106dd82611484565b92915050565b6106eb6114a9565b6001600160a01b03166106fc61106f565b6001600160a01b03161461072b5760405162461bcd60e51b815260040161072290612b9f565b60405180910390fd5b601680546001600160a01b0319166001600160a01b0392909216919091179055565b60606000805461075c90612d98565b80601f016020809104026020016040519081016040528092919081815260200182805461078890612d98565b80156107d55780601f106107aa576101008083540402835291602001916107d5565b820191906000526020600020905b8154815290600101906020018083116107b857829003601f168201915b505050505090505b90565b60006107eb826114ad565b6108075760405162461bcd60e51b815260040161072290612b53565b506000908152600460205260409020546001600160a01b031690565b600061082e82610d41565b9050806001600160a01b0316836001600160a01b031614156108625760405162461bcd60e51b815260040161072290612c23565b806001600160a01b03166108746114a9565b6001600160a01b0316148061089057506108908161066e6114a9565b6108ac5760405162461bcd60e51b8152600401610722906129b4565b6108b683836114ca565b505050565b60085490565b6108d26108cc6114a9565b82611538565b6108ee5760405162461bcd60e51b815260040161072290612c64565b6108b68383836115b5565b6000828152600b602090815260408083208151808301909252546001600160a01b038116808352600160a01b90910462ffffff169282018390529291612710906109439086612d36565b61094d9190612d22565b9150509250929050565b600061096283610fd2565b82106109805760405162461bcd60e51b8152600401610722906126cb565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b60135460ff166109cb5760405162461bcd60e51b81526004016107229061265a565b6108ae601254826109dc9190612d0a565b11156109fa5760405162461bcd60e51b8152600401610722906125ec565b60008111610a1a5760405162461bcd60e51b81526004016107229061294d565b600a811115610a3b5760405162461bcd60e51b81526004016107229061282a565b610a4d816716345785d8a00000612d36565b341015610a6c5760405162461bcd60e51b815260040161072290612aa4565b6000610a80826716345785d8a00000612d36565b90508060146000828254610a949190612d0a565b9091555060009050610aa68234612d55565b604051909150309083156108fc029084906000818181858888f19350505050158015610ad6573d6000803e3d6000fd5b5060005b83811015610b6757610af5610aed6114a9565b6012546116e8565b601254601654610b1191906001600160a01b031661012c611758565b600160126000828254610b249190612d0a565b90915550506012546040517f7bb2b3c10797baccb6f8c4791f1edd6ca2f0d028ee0eda64b01a9a57e3a653f790600090a280610b5f81612dd3565b915050610ada565b5080156108b657610b766114a9565b6001600160a01b03166108fc829081150290604051600060405180830381858888f19350505050158015610bae573d6000803e3d6000fd5b50505050565b60156000610bc06114a9565b6001600160a01b0316815260208101919091526040016000205460ff161515600114610bfe5760405162461bcd60e51b815260040161072290612984565b60004711610c1e5760405162461bcd60e51b81526004016107229061269e565b610c266114a9565b6001600160a01b03166108fc479081150290604051600060405180830381858888f19350505050158015610c5e573d6000803e3d6000fd5b50565b6108ae81565b610c6f6114a9565b6001600160a01b0316610c8061106f565b6001600160a01b031614610ca65760405162461bcd60e51b815260040161072290612b9f565b6001600160a01b0316600090815260106020526040812055565b6108b68383836040518060200160405280600081525061121a565b60125481565b6000610ceb6108bb565b8210610d095760405162461bcd60e51b815260040161072290612cb5565b60088281548110610d2a57634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b600a81565b6000818152600260205260408120546001600160a01b0316806106dd5760405162461bcd60e51b815260040161072290612a5b565b601354610100900460ff16610d9d5760405162461bcd60e51b81526004016107229061265a565b33600090815260106020526040902054610dc95760405162461bcd60e51b815260040161072290612b1c565b60008111610de95760405162461bcd60e51b81526004016107229061294d565b33600090815260106020526040902054811115610e185760405162461bcd60e51b815260040161072290612857565b610e2a816716345785d8a00000612d36565b341015610e495760405162461bcd60e51b815260040161072290612aa4565b3360009081526010602052604081208054839290610e68908490612d55565b9091555060009050610e82826716345785d8a00000612d36565b90508060146000828254610e969190612d0a565b9091555060009050610ea88234612d55565b604051909150309083156108fc029084906000818181858888f19350505050158015610ed8573d6000803e3d6000fd5b5060005b83811015610b6757610eef610aed6114a9565b601254601654610f0b91906001600160a01b031661012c611758565b600160126000828254610f1e9190612d0a565b90915550506012546040517f7bb2b3c10797baccb6f8c4791f1edd6ca2f0d028ee0eda64b01a9a57e3a653f790600090a280610f5981612dd3565b915050610edc565b6716345785d8a0000081565b60135460ff1681565b610f7e6114a9565b6001600160a01b0316610f8f61106f565b6001600160a01b031614610fb55760405162461bcd60e51b815260040161072290612b9f565b6013805461ff001981166101009182900460ff1615909102179055565b60006001600160a01b038216610ffa5760405162461bcd60e51b815260040161072290612a11565b506001600160a01b031660009081526003602052604090205490565b61101e6114a9565b6001600160a01b031661102f61106f565b6001600160a01b0316146110555760405162461bcd60e51b815260040161072290612b9f565b61105f60006117da565b565b601354610100900460ff1681565b600a546001600160a01b031690565b61012c81565b60606001805461075c90612d98565b61109b6114a9565b6001600160a01b03166110ac61106f565b6001600160a01b0316146110d25760405162461bcd60e51b815260040161072290612b9f565b80516110e59060119060208401906120b2565b5050565b6110e56110f46114a9565b838361182c565b6111036114a9565b6001600160a01b031661111461106f565b6001600160a01b03161461113a5760405162461bcd60e51b815260040161072290612b9f565b60005b818110156108b65760016015600085858581811061116b57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906111809190612221565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806111b281612dd3565b91505061113d565b60006111c46114a9565b6001600160a01b03166111d561106f565b6001600160a01b0316146111fb5760405162461bcd60e51b815260040161072290612b9f565b506001600160a01b031660009081526015602052604090205460ff1690565b61122b6112256114a9565b83611538565b6112475760405162461bcd60e51b815260040161072290612c64565b610bae848484846118cf565b606061125e826114ad565b61127a5760405162461bcd60e51b815260040161072290612bd4565b6000611284611902565b6000848152600e60205260409020548151919250906112b257604051806020016040528060008152506112dd565b816112bc82611911565b6040516020016112cd9291906124f8565b6040516020818303038152906040525b949350505050565b6112ed6114a9565b6001600160a01b03166112fe61106f565b6001600160a01b0316146113245760405162461bcd60e51b815260040161072290612b9f565b6013805460ff19811660ff90911615179055565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61136e6114a9565b6001600160a01b031661137f61106f565b6001600160a01b0316146113a55760405162461bcd60e51b815260040161072290612b9f565b6001600160a01b0381166113cb5760405162461bcd60e51b815260040161072290612768565b610c5e816117da565b6113dc6114a9565b6001600160a01b03166113ed61106f565b6001600160a01b0316146114135760405162461bcd60e51b815260040161072290612b9f565b60005b82811015610bae57816010600086868581811061144357634e487b7160e01b600052603260045260246000fd5b90506020020160208101906114589190612221565b6001600160a01b031681526020810191909152604001600020558061147c81612dd3565b915050611416565b60006001600160e01b0319821663152a902d60e11b14806106dd57506106dd82611a2c565b3390565b6000908152600260205260409020546001600160a01b0316151590565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906114ff82610d41565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611543826114ad565b61155f5760405162461bcd60e51b815260040161072290612901565b600061156a83610d41565b9050806001600160a01b0316846001600160a01b031614806115a55750836001600160a01b031661159a846107e0565b6001600160a01b0316145b806112dd57506112dd8185611338565b826001600160a01b03166115c882610d41565b6001600160a01b0316146115ee5760405162461bcd60e51b8152600401610722906127ae565b6001600160a01b0382166116145760405162461bcd60e51b815260040161072290612886565b61161f838383611a51565b61162a6000826114ca565b6001600160a01b0383166000908152600360205260408120805460019290611653908490612d55565b90915550506001600160a01b0382166000908152600360205260408120805460019290611681908490612d0a565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a46108b68383836108b6565b60006116f2611a5c565b905060006116ff82611abd565b6000818152600f60205260409020549091501561172c57634e487b7160e01b600052600160045260246000fd5b6000818152600f6020908152604080832060019055858352600e9091529020819055610bae8484611b74565b61271081111561177a5760405162461bcd60e51b815260040161072290612623565b6040805180820182526001600160a01b03938416815262ffffff92831660208083019182526000968752600b905291909420935184549151909216600160a01b0262ffffff60a01b19929093166001600160a01b03199091161716179055565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316141561185e5760405162461bcd60e51b8152600401610722906128ca565b6001600160a01b0383811660008181526005602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31906118c29085906125ce565b60405180910390a3505050565b6118da8484846115b5565b6118e684848484611b8e565b610bae5760405162461bcd60e51b815260040161072290612716565b60606011805461075c90612d98565b60608161193657506040805180820190915260018152600360fc1b60208201526106cd565b8160005b8115611960578061194a81612dd3565b91506119599050600a83612d22565b915061193a565b60008167ffffffffffffffff81111561198957634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156119b3576020820181803683370190505b5090505b84156112dd576119c8600183612d55565b91506119d5600a86612dee565b6119e0906030612d0a565b60f81b818381518110611a0357634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350611a25600a86612d22565b94506119b7565b60006001600160e01b0319821663780e9d6360e01b14806106dd57506106dd82611ca9565b6108b6838383611ce9565b60006012546108ae611a6e9190612d55565b611a7a575060006107dd565b600d544442334340604051602001611a959493929190612537565b6040516020818303038152906040528051906020012060001c611ab89190612dee565b905090565b6000818152600c602052604081205480611ad45750815b600c60006001600d54611ae79190612d55565b81526020019081526020016000205460001415611b21576001600d54611b0d9190612d55565b6000848152600c6020526040902055611b55565b600c60006001600d54611b349190612d55565b81526020808201929092526040908101600090812054868252600c90935220555b6001600d6000828254611b689190612d55565b90915550909392505050565b6110e5828260405180602001604052806000815250611d72565b6000611ba2846001600160a01b0316611da5565b15611c9e57836001600160a01b031663150b7a02611bbe6114a9565b8786866040518563ffffffff1660e01b8152600401611be09493929190612578565b602060405180830381600087803b158015611bfa57600080fd5b505af1925050508015611c2a575060408051601f3d908101601f19168201909252611c2791810190612431565b60015b611c84573d808015611c58576040519150601f19603f3d011682016040523d82523d6000602084013e611c5d565b606091505b508051611c7c5760405162461bcd60e51b815260040161072290612716565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506112dd565b506001949350505050565b60006001600160e01b031982166380ac58cd60e01b1480611cda57506001600160e01b03198216635b5e139f60e01b145b806106dd57506106dd82611db4565b611cf48383836108b6565b6001600160a01b038316611d1057611d0b81611dcd565b611d33565b816001600160a01b0316836001600160a01b031614611d3357611d338382611e11565b6001600160a01b038216611d4f57611d4a81611eae565b6108b6565b826001600160a01b0316826001600160a01b0316146108b6576108b68282611f87565b611d7c8383611fcb565b611d896000848484611b8e565b6108b65760405162461bcd60e51b815260040161072290612716565b6001600160a01b03163b151590565b6001600160e01b031981166301ffc9a760e01b14919050565b600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b60006001611e1e84610fd2565b611e289190612d55565b600083815260076020526040902054909150808214611e7b576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b600854600090611ec090600190612d55565b60008381526009602052604081205460088054939450909284908110611ef657634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508060088381548110611f2557634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480611f6b57634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b6000611f9283610fd2565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6001600160a01b038216611ff15760405162461bcd60e51b815260040161072290612ae7565b611ffa816114ad565b156120175760405162461bcd60e51b8152600401610722906127f3565b61202360008383611a51565b6001600160a01b038216600090815260036020526040812080546001929061204c908490612d0a565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46110e5600083836108b6565b8280546120be90612d98565b90600052602060002090601f0160209004810192826120e05760008555612126565b82601f106120f957805160ff1916838001178555612126565b82800160010185558215612126579182015b8281111561212657825182559160200191906001019061210b565b50612132929150612136565b5090565b5b808211156121325760008155600101612137565b600067ffffffffffffffff8084111561216657612166612e2e565b604051601f8501601f19908116603f0116810190828211818310171561218e5761218e612e2e565b816040528093508581528686860111156121a757600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b03811681146106cd57600080fd5b60008083601f8401126121e9578081fd5b50813567ffffffffffffffff811115612200578182fd5b602083019150836020808302850101111561221a57600080fd5b9250929050565b600060208284031215612232578081fd5b61223b826121c1565b9392505050565b60008060408385031215612254578081fd5b61225d836121c1565b915061226b602084016121c1565b90509250929050565b600080600060608486031215612288578081fd5b612291846121c1565b925061229f602085016121c1565b9150604084013590509250925092565b600080600080608085870312156122c4578081fd5b6122cd856121c1565b93506122db602086016121c1565b925060408501359150606085013567ffffffffffffffff8111156122fd578182fd5b8501601f8101871361230d578182fd5b61231c8782356020840161214b565b91505092959194509250565b6000806040838503121561233a578182fd5b612343836121c1565b915060208301358015158114612357578182fd5b809150509250929050565b60008060408385031215612374578182fd5b61237d836121c1565b946020939093013593505050565b6000806020838503121561239d578182fd5b823567ffffffffffffffff8111156123b3578283fd5b6123bf858286016121d8565b90969095509350505050565b6000806000604084860312156123df578283fd5b833567ffffffffffffffff8111156123f5578384fd5b612401868287016121d8565b909790965060209590950135949350505050565b600060208284031215612426578081fd5b813561223b81612e44565b600060208284031215612442578081fd5b815161223b81612e44565b60006020828403121561245e578081fd5b813567ffffffffffffffff811115612474578182fd5b8201601f81018413612484578182fd5b6112dd8482356020840161214b565b6000602082840312156124a4578081fd5b5035919050565b600080604083850312156124bd578182fd5b50508035926020909101359150565b600081518084526124e4816020860160208601612d6c565b601f01601f19169290920160200192915050565b6000835161250a818460208801612d6c565b83519083019061251e818360208801612d6c565b64173539b7b760d91b9101908152600501949350505050565b938452602084019290925260601b6bffffffffffffffffffffffff19166040830152605482015260740190565b6001600160a01b0391909116815260200190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906125ab908301846124cc565b9695505050505050565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b60006020825261223b60208301846124cc565b60208082526018908201527f4e6f7420656e6f756768206c65667420746f206d696e742e0000000000000000604082015260600190565b6020808252601a908201527f45524332393831526f79616c746965733a20546f6f2068696768000000000000604082015260600190565b60208082526024908201527f49742773206e6f7420706f737369626c6520746f20636c61696d206a757374206040820152633cb2ba1760e11b606082015260800190565b6020808252601390820152724e6f7468696e6720746f20776974686472617760681b604082015260600190565b6020808252602b908201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560408201526a74206f6620626f756e647360a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b60208082526013908201527204d61782070657220636c61696d20697320313606c1b604082015260600190565b602080825260159082015274139bdd08195b9bdd59da0819585c9b1e481b5a5b9d605a1b604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252601f908201527f4e756d626572206e65656420746f20626520686967686572207468616e203000604082015260600190565b6020808252601690820152752cb7bab91030b932903737ba103a34329037bbb732b960511b604082015260600190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604082015269726f206164647265737360b01b606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201526832b73a103a37b5b2b760b91b606082015260800190565b60208082526023908201527f45746865722076616c75652073656e742069732062656c6f772074686520707260408201526269636560e81b606082015260800190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b60208082526017908201527f596f7520617265206e6f742077686974656c6973746564000000000000000000604082015260600190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602f908201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60408201526e3732bc34b9ba32b73a103a37b5b2b760891b606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656040820152603960f91b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252602c908201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60408201526b7574206f6620626f756e647360a01b606082015260800190565b90815260200190565b60008219821115612d1d57612d1d612e02565b500190565b600082612d3157612d31612e18565b500490565b6000816000190483118215151615612d5057612d50612e02565b500290565b600082821015612d6757612d67612e02565b500390565b60005b83811015612d87578181015183820152602001612d6f565b83811115610bae5750506000910152565b600281046001821680612dac57607f821691505b60208210811415612dcd57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612de757612de7612e02565b5060010190565b600082612dfd57612dfd612e18565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610c5e57600080fdfea264697066735822122069be3e1eee0ab793eb37610cea0c6d1ac53a8386730540d48dd2cc9b3cd5ab3a64736f6c63430008010033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000b5d102c2524304139309edf14183ba777a5b40c2000000000000000000000000000000000000000000000000000000000000000c41766178204d616368696e610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000341584d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d636a445a6363484c464b6662673475546d51467070505a6344774c64323275677262576956524d4e414a6f752f00000000000000000000