[ { "inputs": [], "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": "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" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "allowlist", "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": [ { "internalType": "uint256", "name": "quantity", "type": "uint256" }, { "internalType": "address", "name": "devMintReceiver", "type": "address" } ], "name": "devMint", "outputs": [], "stateMutability": "nonpayable", "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": "uint256", "name": "quantity", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "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": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "_salePrice", "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": "_addresses", "type": "address[]" }, { "internalType": "uint256[]", "name": "_numNfts", "type": "uint256[]" } ], "name": "seedAllowlist", "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": "customBaseURI_", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "setMintActive", "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": [ { "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" } ]
60806040523480156200001157600080fd5b506040518060400160405280600e81526020017f48616e61204265617273204e46540000000000000000000000000000000000008152506040518060400160405280600981526020017f48616e614265617273000000000000000000000000000000000000000000000081525081600090816200008f919062000479565b508060019081620000a1919062000479565b505050620000c4620000b86200013160201b60201c565b6200013960201b60201c565b60405180608001604052806043815260200162003e8760439139600b9081620000ee919062000479565b506000600981905550606f600a819055506103e8600c819055506000600e60006101000a81548160ff021916908315150217905550600b600d8190555062000560565b600033905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200028157607f821691505b60208210810362000297576200029662000239565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620002c2565b6200030d8683620002c2565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200035a620003546200034e8462000325565b6200032f565b62000325565b9050919050565b6000819050919050565b620003768362000339565b6200038e620003858262000361565b848454620002cf565b825550505050565b600090565b620003a562000396565b620003b28184846200036b565b505050565b5b81811015620003da57620003ce6000826200039b565b600181019050620003b8565b5050565b601f8211156200042957620003f3816200029d565b620003fe84620002b2565b810160208510156200040e578190505b620004266200041d85620002b2565b830182620003b7565b50505b505050565b600082821c905092915050565b60006200044e600019846008026200042e565b1980831691505092915050565b60006200046983836200043b565b9150826002028217905092915050565b6200048482620001ff565b67ffffffffffffffff811115620004a0576200049f6200020a565b5b620004ac825462000268565b620004b9828285620003de565b600060209050601f831160018114620004f15760008415620004dc578287015190505b620004e885826200045b565b86555062000558565b601f19841662000501866200029d565b60005b828110156200052b5784890151825560018201915060208501945060208101905062000504565b868310156200054b578489015162000547601f8916826200043b565b8355505b6001600288020188555050505b505050505050565b61391780620005706000396000f3fe60806040526004361061014b5760003560e01c8063715018a6116100b6578063b05863d51161006f578063b05863d514610494578063b88d4fde146104bd578063c87b56dd146104e6578063e985e9c514610523578063ee1cc94414610560578063f2fde38b146105895761014b565b8063715018a6146103a55780638da5cb5b146103bc57806395d89b41146103e7578063a0712d6814610412578063a22cb4651461042e578063a7cd52cb146104575761014b565b80632a55205a116101085780632a55205a146102725780632d1a12f6146102b057806342842e0e146102d957806355f804b3146103025780636352211e1461032b57806370a08231146103685761014b565b806301ffc9a71461015057806306fdde031461018d578063081812fc146101b8578063095ea7b3146101f557806318160ddd1461021e57806323b872dd14610249575b600080fd5b34801561015c57600080fd5b506101776004803603810190610172919061211a565b6105b2565b6040516101849190612162565b60405180910390f35b34801561019957600080fd5b506101a261061a565b6040516101af919061220d565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da9190612265565b6106ac565b6040516101ec91906122d3565b60405180910390f35b34801561020157600080fd5b5061021c6004803603810190610217919061231a565b6106f2565b005b34801561022a57600080fd5b50610233610809565b6040516102409190612369565b60405180910390f35b34801561025557600080fd5b50610270600480360381019061026b9190612384565b61081a565b005b34801561027e57600080fd5b50610299600480360381019061029491906123d7565b61087a565b6040516102a7929190612417565b60405180910390f35b3480156102bc57600080fd5b506102d760048036038101906102d29190612440565b6108ab565b005b3480156102e557600080fd5b5061030060048036038101906102fb9190612384565b6108df565b005b34801561030e57600080fd5b50610329600480360381019061032491906125b5565b6108ff565b005b34801561033757600080fd5b50610352600480360381019061034d9190612265565b61091a565b60405161035f91906122d3565b60405180910390f35b34801561037457600080fd5b5061038f600480360381019061038a91906125fe565b6109cb565b60405161039c9190612369565b60405180910390f35b3480156103b157600080fd5b506103ba610a82565b005b3480156103c857600080fd5b506103d1610a96565b6040516103de91906122d3565b60405180910390f35b3480156103f357600080fd5b506103fc610ac0565b604051610409919061220d565b60405180910390f35b61042c60048036038101906104279190612265565b610b52565b005b34801561043a57600080fd5b5061045560048036038101906104509190612657565b610d87565b005b34801561046357600080fd5b5061047e600480360381019061047991906125fe565b610d9d565b60405161048b9190612369565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b6919061274d565b610db5565b005b3480156104c957600080fd5b506104e460048036038101906104df919061286f565b610eb4565b005b3480156104f257600080fd5b5061050d60048036038101906105089190612265565b610f16565b60405161051a919061220d565b60405180910390f35b34801561052f57600080fd5b5061054a600480360381019061054591906128f2565b611028565b6040516105579190612162565b60405180910390f35b34801561056c57600080fd5b5061058760048036038101906105829190612932565b6110bc565b005b34801561059557600080fd5b506105b060048036038101906105ab91906125fe565b6110e1565b005b6000632a55205a60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916036106095760019050610615565b61061282611164565b90505b919050565b6060600080546106299061298e565b80601f01602080910402602001604051908101604052809291908181526020018280546106559061298e565b80156106a25780601f10610677576101008083540402835291602001916106a2565b820191906000526020600020905b81548152906001019060200180831161068557829003601f168201915b5050505050905090565b60006106b782611246565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006106fd8261091a565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361076d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076490612a31565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661078c611291565b73ffffffffffffffffffffffffffffffffffffffff1614806107bb57506107ba816107b5611291565b611028565b5b6107fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f190612ac3565b60405180910390fd5b6108048383611299565b505050565b60006108156008611352565b905090565b61082b610825611291565b82611360565b61086a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086190612b55565b60405180910390fd5b6108758383836113f5565b505050565b600080610885610a96565b612710600c54856108969190612ba4565b6108a09190612c15565b915091509250929050565b6108b361165b565b60005b828110156108da576108c7826116d9565b80806108d290612c46565b9150506108b6565b505050565b6108fa83838360405180602001604052806000815250610eb4565b505050565b61090761165b565b80600b90816109169190612e3a565b5050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b990612f58565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3290612fea565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610a8a61165b565b610a94600061174d565b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610acf9061298e565b80601f0160208091040260200160405190810160405280929190818152602001828054610afb9061298e565b8015610b485780601f10610b1d57610100808354040283529160200191610b48565b820191906000526020600020905b815481529060010190602001808311610b2b57829003601f168201915b5050505050905090565b600e60009054906101000a900460ff16610ba1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9890613056565b60405180910390fd5b600d54811115610be6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdd906130c2565b60405180910390fd5b80600954610bf49190612ba4565b341015610c36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2d9061312e565b60405180910390fd5b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caf906131c0565b60405180910390fd5b80600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610d0791906131e0565b92505081905550610d16610a96565b73ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050158015610d5b573d6000803e3d6000fd5b5060005b81811015610d8357610d70336116d9565b8080610d7b90612c46565b915050610d5f565b5050565b610d99610d92611291565b8383611813565b5050565b600f6020528060005260406000206000915090505481565b610dbd61165b565b6000848490509050828290508114610e0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0190613286565b60405180910390fd5b60005b81811015610eac57838382818110610e2857610e276132a6565b5b90506020020135600f6000888885818110610e4657610e456132a6565b5b9050602002016020810190610e5b91906125fe565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080610ea490612c46565b915050610e0d565b505050505050565b610ec5610ebf611291565b83611360565b610f04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efb90612b55565b60405180910390fd5b610f108484848461197f565b50505050565b6060610f2182611246565b6000600660008481526020019081526020016000208054610f419061298e565b80601f0160208091040260200160405190810160405280929190818152602001828054610f6d9061298e565b8015610fba5780601f10610f8f57610100808354040283529160200191610fba565b820191906000526020600020905b815481529060010190602001808311610f9d57829003601f168201915b505050505090506000610fcb6119db565b90506000815103610fe0578192505050611023565b600082511115611015578082604051602001610ffd929190613311565b60405160208183030381529060405292505050611023565b61101e84611a6d565b925050505b919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6110c461165b565b80600e60006101000a81548160ff02191690831515021790555050565b6110e961165b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114f906133a7565b60405180910390fd5b6111618161174d565b50565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061122f57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061123f575061123e82611ad5565b5b9050919050565b61124f81611b3f565b61128e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128590612f58565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661130c8361091a565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600081600001549050919050565b60008061136c8361091a565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806113ae57506113ad8185611028565b5b806113ec57508373ffffffffffffffffffffffffffffffffffffffff166113d4846106ac565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166114158261091a565b73ffffffffffffffffffffffffffffffffffffffff161461146b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146290613439565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d1906134cb565b60405180910390fd5b6114e5838383611bab565b6114f0600082611299565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461154091906131e0565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461159791906134eb565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611656838383611bb0565b505050565b611663611291565b73ffffffffffffffffffffffffffffffffffffffff16611681610a96565b73ffffffffffffffffffffffffffffffffffffffff16146116d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ce9061356b565b60405180910390fd5b565b6116e36008611bb5565b600a546116f06008611352565b1115611731576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611728906135d7565b60405180910390fd5b600061173d6008611352565b90506117498282611bcb565b5050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611881576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187890613643565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516119729190612162565b60405180910390a3505050565b61198a8484846113f5565b61199684848484611da4565b6119d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cc906136d5565b60405180910390fd5b50505050565b6060600b80546119ea9061298e565b80601f0160208091040260200160405190810160405280929190818152602001828054611a169061298e565b8015611a635780601f10611a3857610100808354040283529160200191611a63565b820191906000526020600020905b815481529060010190602001808311611a4657829003601f168201915b5050505050905090565b6060611a7882611246565b6000611a826119db565b90506000815111611aa25760405180602001604052806000815250611acd565b80611aac84611f2b565b604051602001611abd929190613311565b6040516020818303038152906040525b915050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b505050565b505050565b6001816000016000828254019250508190555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3190613741565b60405180910390fd5b611c4381611b3f565b15611c83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7a906137ad565b60405180910390fd5b611c8f60008383611bab565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cdf91906134eb565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611da060008383611bb0565b5050565b6000611dc58473ffffffffffffffffffffffffffffffffffffffff1661208b565b15611f1e578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611dee611291565b8786866040518563ffffffff1660e01b8152600401611e109493929190613822565b6020604051808303816000875af1925050508015611e4c57506040513d601f19601f82011682018060405250810190611e499190613883565b60015b611ece573d8060008114611e7c576040519150601f19603f3d011682016040523d82523d6000602084013e611e81565b606091505b506000815103611ec6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ebd906136d5565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611f23565b600190505b949350505050565b606060008203611f72576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612086565b600082905060005b60008214611fa4578080611f8d90612c46565b915050600a82611f9d9190612c15565b9150611f7a565b60008167ffffffffffffffff811115611fc057611fbf61248a565b5b6040519080825280601f01601f191660200182016040528015611ff25781602001600182028036833780820191505090505b5090505b6000851461207f5760018261200b91906131e0565b9150600a8561201a91906138b0565b603061202691906134eb565b60f81b81838151811061203c5761203b6132a6565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856120789190612c15565b9450611ff6565b8093505050505b919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6120f7816120c2565b811461210257600080fd5b50565b600081359050612114816120ee565b92915050565b6000602082840312156121305761212f6120b8565b5b600061213e84828501612105565b91505092915050565b60008115159050919050565b61215c81612147565b82525050565b60006020820190506121776000830184612153565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121b757808201518184015260208101905061219c565b60008484015250505050565b6000601f19601f8301169050919050565b60006121df8261217d565b6121e98185612188565b93506121f9818560208601612199565b612202816121c3565b840191505092915050565b6000602082019050818103600083015261222781846121d4565b905092915050565b6000819050919050565b6122428161222f565b811461224d57600080fd5b50565b60008135905061225f81612239565b92915050565b60006020828403121561227b5761227a6120b8565b5b600061228984828501612250565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122bd82612292565b9050919050565b6122cd816122b2565b82525050565b60006020820190506122e860008301846122c4565b92915050565b6122f7816122b2565b811461230257600080fd5b50565b600081359050612314816122ee565b92915050565b60008060408385031215612331576123306120b8565b5b600061233f85828601612305565b925050602061235085828601612250565b9150509250929050565b6123638161222f565b82525050565b600060208201905061237e600083018461235a565b92915050565b60008060006060848603121561239d5761239c6120b8565b5b60006123ab86828701612305565b93505060206123bc86828701612305565b92505060406123cd86828701612250565b9150509250925092565b600080604083850312156123ee576123ed6120b8565b5b60006123fc85828601612250565b925050602061240d85828601612250565b9150509250929050565b600060408201905061242c60008301856122c4565b612439602083018461235a565b9392505050565b60008060408385031215612457576124566120b8565b5b600061246585828601612250565b925050602061247685828601612305565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6124c2826121c3565b810181811067ffffffffffffffff821117156124e1576124e061248a565b5b80604052505050565b60006124f46120ae565b905061250082826124b9565b919050565b600067ffffffffffffffff8211156125205761251f61248a565b5b612529826121c3565b9050602081019050919050565b82818337600083830152505050565b600061255861255384612505565b6124ea565b90508281526020810184848401111561257457612573612485565b5b61257f848285612536565b509392505050565b600082601f83011261259c5761259b612480565b5b81356125ac848260208601612545565b91505092915050565b6000602082840312156125cb576125ca6120b8565b5b600082013567ffffffffffffffff8111156125e9576125e86120bd565b5b6125f584828501612587565b91505092915050565b600060208284031215612614576126136120b8565b5b600061262284828501612305565b91505092915050565b61263481612147565b811461263f57600080fd5b50565b6000813590506126518161262b565b92915050565b6000806040838503121561266e5761266d6120b8565b5b600061267c85828601612305565b925050602061268d85828601612642565b9150509250929050565b600080fd5b600080fd5b60008083601f8401126126b7576126b6612480565b5b8235905067ffffffffffffffff8111156126d4576126d3612697565b5b6020830191508360208202830111156126f0576126ef61269c565b5b9250929050565b60008083601f84011261270d5761270c612480565b5b8235905067ffffffffffffffff81111561272a57612729612697565b5b6020830191508360208202830111156127465761274561269c565b5b9250929050565b60008060008060408587031215612767576127666120b8565b5b600085013567ffffffffffffffff811115612785576127846120bd565b5b612791878288016126a1565b9450945050602085013567ffffffffffffffff8111156127b4576127b36120bd565b5b6127c0878288016126f7565b925092505092959194509250565b600067ffffffffffffffff8211156127e9576127e861248a565b5b6127f2826121c3565b9050602081019050919050565b600061281261280d846127ce565b6124ea565b90508281526020810184848401111561282e5761282d612485565b5b612839848285612536565b509392505050565b600082601f83011261285657612855612480565b5b81356128668482602086016127ff565b91505092915050565b60008060008060808587031215612889576128886120b8565b5b600061289787828801612305565b94505060206128a887828801612305565b93505060406128b987828801612250565b925050606085013567ffffffffffffffff8111156128da576128d96120bd565b5b6128e687828801612841565b91505092959194509250565b60008060408385031215612909576129086120b8565b5b600061291785828601612305565b925050602061292885828601612305565b9150509250929050565b600060208284031215612948576129476120b8565b5b600061295684828501612642565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806129a657607f821691505b6020821081036129b9576129b861295f565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612a1b602183612188565b9150612a26826129bf565b604082019050919050565b60006020820190508181036000830152612a4a81612a0e565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000602082015250565b6000612aad603e83612188565b9150612ab882612a51565b604082019050919050565b60006020820190508181036000830152612adc81612aa0565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206e6f7220617070726f766564000000000000000000000000000000000000602082015250565b6000612b3f602e83612188565b9150612b4a82612ae3565b604082019050919050565b60006020820190508181036000830152612b6e81612b32565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612baf8261222f565b9150612bba8361222f565b9250828202612bc88161222f565b91508282048414831517612bdf57612bde612b75565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612c208261222f565b9150612c2b8361222f565b925082612c3b57612c3a612be6565b5b828204905092915050565b6000612c518261222f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c8357612c82612b75565b5b600182019050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612cf07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612cb3565b612cfa8683612cb3565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612d37612d32612d2d8461222f565b612d12565b61222f565b9050919050565b6000819050919050565b612d5183612d1c565b612d65612d5d82612d3e565b848454612cc0565b825550505050565b600090565b612d7a612d6d565b612d85818484612d48565b505050565b5b81811015612da957612d9e600082612d72565b600181019050612d8b565b5050565b601f821115612dee57612dbf81612c8e565b612dc884612ca3565b81016020851015612dd7578190505b612deb612de385612ca3565b830182612d8a565b50505b505050565b600082821c905092915050565b6000612e1160001984600802612df3565b1980831691505092915050565b6000612e2a8383612e00565b9150826002028217905092915050565b612e438261217d565b67ffffffffffffffff811115612e5c57612e5b61248a565b5b612e66825461298e565b612e71828285612dad565b600060209050601f831160018114612ea45760008415612e92578287015190505b612e9c8582612e1e565b865550612f04565b601f198416612eb286612c8e565b60005b82811015612eda57848901518255600182019150602085019450602081019050612eb5565b86831015612ef75784890151612ef3601f891682612e00565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000612f42601883612188565b9150612f4d82612f0c565b602082019050919050565b60006020820190508181036000830152612f7181612f35565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000612fd4602983612188565b9150612fdf82612f78565b604082019050919050565b6000602082019050818103600083015261300381612fc7565b9050919050565b7f4d696e74696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000613040601683612188565b915061304b8261300a565b602082019050919050565b6000602082019050818103600083015261306f81613033565b9050919050565b7f43616e6e6f74206d696e742074686174206d616e79206174206f6e63652e0000600082015250565b60006130ac601e83612188565b91506130b782613076565b602082019050919050565b600060208201905081810360008301526130db8161309f565b9050919050565b7f4e6f7420656e6f75676820415641582073656e742e0000000000000000000000600082015250565b6000613118601583612188565b9150613123826130e2565b602082019050919050565b600060208201905081810360008301526131478161310b565b9050919050565b7f596f752063616e2774206d696e74206d6f7265207468616e20616c6c6f77656460008201527f20627920796f757220616c6c6f776c69737420616c6c6f746d656e7400000000602082015250565b60006131aa603c83612188565b91506131b58261314e565b604082019050919050565b600060208201905081810360008301526131d98161319d565b9050919050565b60006131eb8261222f565b91506131f68361222f565b925082820390508181111561320e5761320d612b75565b5b92915050565b7f4c61756e63687065675f5f57726f6e67416464726573736573416e644e756d5360008201527f6c6f74734c656e67746800000000000000000000000000000000000000000000602082015250565b6000613270602a83612188565b915061327b82613214565b604082019050919050565b6000602082019050818103600083015261329f81613263565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081905092915050565b60006132eb8261217d565b6132f581856132d5565b9350613305818560208601612199565b80840191505092915050565b600061331d82856132e0565b915061332982846132e0565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613391602683612188565b915061339c82613335565b604082019050919050565b600060208201905081810360008301526133c081613384565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613423602583612188565b915061342e826133c7565b604082019050919050565b6000602082019050818103600083015261345281613416565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006134b5602483612188565b91506134c082613459565b604082019050919050565b600060208201905081810360008301526134e4816134a8565b9050919050565b60006134f68261222f565b91506135018361222f565b925082820190508082111561351957613518612b75565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613555602083612188565b91506135608261351f565b602082019050919050565b6000602082019050818103600083015261358481613548565b9050919050565b7f50726f6a6563742069732066696e6973686564206d696e74696e672e00000000600082015250565b60006135c1601c83612188565b91506135cc8261358b565b602082019050919050565b600060208201905081810360008301526135f0816135b4565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061362d601983612188565b9150613638826135f7565b602082019050919050565b6000602082019050818103600083015261365c81613620565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006136bf603283612188565b91506136ca82613663565b604082019050919050565b600060208201905081810360008301526136ee816136b2565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b600061372b602083612188565b9150613736826136f5565b602082019050919050565b6000602082019050818103600083015261375a8161371e565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000613797601c83612188565b91506137a282613761565b602082019050919050565b600060208201905081810360008301526137c68161378a565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006137f4826137cd565b6137fe81856137d8565b935061380e818560208601612199565b613817816121c3565b840191505092915050565b600060808201905061383760008301876122c4565b61384460208301866122c4565b613851604083018561235a565b818103606083015261386381846137e9565b905095945050505050565b60008151905061387d816120ee565b92915050565b600060208284031215613899576138986120b8565b5b60006138a78482850161386e565b91505092915050565b60006138bb8261222f565b91506138c68361222f565b9250826138d6576138d5612be6565b5b82820690509291505056fea26469706673582212203ad0ef919adbcc19b3e33705baac630602c980465a46f72154c9d0a54afa464064736f6c63430008110033697066733a2f2f6261667962656963693462356e3634347a347766357a6e676b7a7372796a63376b6468776d6c36376f36333366726466696274357436656f7478752f