[ { "inputs": [ { "internalType": "address", "name": "_FarmDawgs_NFT_Address", "type": "address" }, { "internalType": "string", "name": "customBaseURI", "type": "string" }, { "internalType": "address", "name": "_walletFundsA", "type": "address" }, { "internalType": "address", "name": "_walletFundsB", "type": "address" }, { "internalType": "address", "name": "royaltyAddr", "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": "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": "recipient", "type": "address[]" } ], "name": "Airdrop", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "FarmDawgs_NFT_Address", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxMintPerTx", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxMintable", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxMintableFree", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_mintActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" } ], "name": "_mintForAirdrop", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "_price", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_price_Public", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_price_WL", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_royaltyAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_royaltyAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_tokenIds", "outputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_unrevealed", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_addressList", "type": "address[]" } ], "name": "addWhiteList", "outputs": [], "stateMutability": "nonpayable", "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" } ], "name": "freeMint", "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" } ], "name": "getDawgNFTTokensAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": [], "name": "isFreeMint", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isWL", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limitPerWallet", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxMintPerWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "quantity", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "mintedFreeTokens", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "mintedFreeTokensAmount", "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": "addressList", "type": "address[]" } ], "name": "removeWhiteList", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "revealed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "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": "uint256", "name": "_supply", "type": "uint256" } ], "name": "setAirdropSupply", "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": "setFreeMintActive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_limitPerWallet", "type": "bool" } ], "name": "setLimitPerWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "setMintActive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxMintPerWallet", "type": "uint256" } ], "name": "setMintPerWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "nftAddress", "type": "address" } ], "name": "setNFTAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setRevealed", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "royaltyAddr", "type": "address" } ], "name": "setRoyaltyAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "unrevealedURI_", "type": "string" } ], "name": "setUnrevealedURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_isWL", "type": "bool" } ], "name": "setWLStatus", "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" }, { "inputs": [ { "internalType": "uint256", "name": "_type", "type": "uint256" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "updatePrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "walletFundsA", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "walletFundsB", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "whiteListed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405260fa6009556102ee600b556005600c556000600d60006101000a81548160ff0219169083151502179055506000601360006101000a81548160ff0219169083151502179055506040518060a00160405280606b815260200162005849606b9139601490805190602001906200007b929190620003ee565b50670429d069189e0000601555670429d069189e0000601655670429d069189e00006017556001601960006101000a81548160ff0219169083151502179055506001601960016101000a81548160ff0219169083151502179055506005601a556101f4601c556000601d60006101000a81548160ff0219169083151502179055503480156200010957600080fd5b50604051620058b4380380620058b483398181016040528101906200012f9190620006a0565b6040518060400160405280600981526020017f4661726d486f6f647300000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f46524844000000000000000000000000000000000000000000000000000000008152508160009080519060200190620001b3929190620003ee565b508060019080519060200190620001cc929190620003ee565b505050620001ef620001e36200032060201b60201c565b6200032860201b60201c565b84601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600a9080519060200190620002ca929190620003ee565b5080600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506016546015819055505050505050620007ab565b600033905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620003fc9062000776565b90600052602060002090601f0160209004810192826200042057600085556200046c565b82601f106200043b57805160ff19168380011785556200046c565b828001600101855582156200046c579182015b828111156200046b5782518255916020019190600101906200044e565b5b5090506200047b91906200047f565b5090565b5b808211156200049a57600081600090555060010162000480565b5090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004df82620004b2565b9050919050565b620004f181620004d2565b8114620004fd57600080fd5b50565b6000815190506200051181620004e6565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200056c8262000521565b810181811067ffffffffffffffff821117156200058e576200058d62000532565b5b80604052505050565b6000620005a36200049e565b9050620005b1828262000561565b919050565b600067ffffffffffffffff821115620005d457620005d362000532565b5b620005df8262000521565b9050602081019050919050565b60005b838110156200060c578082015181840152602081019050620005ef565b838111156200061c576000848401525b50505050565b6000620006396200063384620005b6565b62000597565b9050828152602081018484840111156200065857620006576200051c565b5b62000665848285620005ec565b509392505050565b600082601f83011262000685576200068462000517565b5b81516200069784826020860162000622565b91505092915050565b600080600080600060a08688031215620006bf57620006be620004a8565b5b6000620006cf8882890162000500565b955050602086015167ffffffffffffffff811115620006f357620006f2620004ad565b5b62000701888289016200066d565b9450506040620007148882890162000500565b9350506060620007278882890162000500565b92505060806200073a8882890162000500565b9150509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200078f57607f821691505b602082108103620007a557620007a462000747565b5b50919050565b61508e80620007bb6000396000f3fe6080604052600436106103975760003560e01c806395d89b41116101dc578063deb3334211610102578063e985e9c5116100a0578063f901852d1161006f578063f901852d14610d58578063fa0fca8414610d81578063fbcec0d414610dbe578063fe2c7fee14610de957610397565b8063e985e9c514610ca0578063ece8c31c14610cdd578063ee1cc94414610d06578063f2fde38b14610d2f57610397565b8063e532bb00116100dc578063e532bb0014610bf6578063e651929514610c1f578063e6da931114610c4a578063e80a355814610c7557610397565b8063deb3334214610b79578063dfb0780814610ba4578063e0a8085314610bcd57610397565b8063b1b0c23c1161017a578063c2d05a6e11610149578063c2d05a6e14610abb578063c87b56dd14610ae6578063dd603f4514610b23578063de314a5914610b4e57610397565b8063b1b0c23c14610a01578063b228d92514610a3e578063b88d4fde14610a69578063bdccf23614610a9257610397565b8063a0712d68116101b6578063a0712d6814610966578063a22cb46514610982578063a620ce5a146109ab578063aa46a400146109d657610397565b806395d89b41146108e5578063983bf02b146109105780639ef4b9aa1461093b57610397565b806342842e0e116102c157806369b538241161025f5780637bb90cfb1161022e5780637bb90cfb1461083d5780637c928fe91461086857806382367b2d146108915780638da5cb5b146108ba57610397565b806369b538241461079557806369d03738146107c057806370a08231146107e9578063715018a61461082657610397565b806354dea4f41161029b57806354dea4f4146106c957806355f804b3146107065780635e1045ec1461072f5780636352211e1461075857610397565b806342842e0e1461064c5780634f9b563c14610675578063518302271461069e57610397565b80631ff7f25b116103395780633223c615116103085780633223c615146105a457806339745791146105e15780633af207571461060a5780633ccfd60b1461063557610397565b80631ff7f25b146104e7578063235b6ea11461051257806323b872dd1461053d5780632a55205a1461056657610397565b8063081812fc11610375578063081812fc1461042d578063095ea7b31461046a57806310de19d11461049357806318160ddd146104bc57610397565b806301ffc9a71461039c57806306d254da146103d957806306fdde0314610402575b600080fd5b3480156103a857600080fd5b506103c360048036038101906103be919061360f565b610e12565b6040516103d09190613657565b60405180910390f35b3480156103e557600080fd5b5061040060048036038101906103fb91906136d0565b610e8c565b005b34801561040e57600080fd5b50610417610ed8565b6040516104249190613796565b60405180910390f35b34801561043957600080fd5b50610454600480360381019061044f91906137ee565b610f6a565b604051610461919061382a565b60405180910390f35b34801561047657600080fd5b50610491600480360381019061048c9190613845565b610fb0565b005b34801561049f57600080fd5b506104ba60048036038101906104b591906137ee565b6110c7565b005b3480156104c857600080fd5b506104d16110d9565b6040516104de9190613894565b60405180910390f35b3480156104f357600080fd5b506104fc6110ea565b604051610509919061382a565b60405180910390f35b34801561051e57600080fd5b50610527611110565b6040516105349190613894565b60405180910390f35b34801561054957600080fd5b50610564600480360381019061055f91906138af565b611116565b005b34801561057257600080fd5b5061058d60048036038101906105889190613902565b611176565b60405161059b929190613942565b60405180910390f35b3480156105b057600080fd5b506105cb60048036038101906105c691906136d0565b6111c2565b6040516105d89190613894565b60405180910390f35b3480156105ed57600080fd5b5061060860048036038101906106039190613ab3565b611267565b005b34801561061657600080fd5b5061061f611348565b60405161062c9190613894565b60405180910390f35b34801561064157600080fd5b5061064a61134e565b005b34801561065857600080fd5b50610673600480360381019061066e91906138af565b6113e9565b005b34801561068157600080fd5b5061069c60048036038101906106979190613b28565b611409565b005b3480156106aa57600080fd5b506106b361142e565b6040516106c09190613657565b60405180910390f35b3480156106d557600080fd5b506106f060048036038101906106eb91906136d0565b611441565b6040516106fd9190613894565b60405180910390f35b34801561071257600080fd5b5061072d60048036038101906107289190613c0a565b611459565b005b34801561073b57600080fd5b5061075660048036038101906107519190613ab3565b61147b565b005b34801561076457600080fd5b5061077f600480360381019061077a91906137ee565b6115e5565b60405161078c919061382a565b60405180910390f35b3480156107a157600080fd5b506107aa611696565b6040516107b79190613894565b60405180910390f35b3480156107cc57600080fd5b506107e760048036038101906107e291906136d0565b61169c565b005b3480156107f557600080fd5b50610810600480360381019061080b91906136d0565b6116e8565b60405161081d9190613894565b60405180910390f35b34801561083257600080fd5b5061083b61179f565b005b34801561084957600080fd5b506108526117b3565b60405161085f9190613894565b60405180910390f35b34801561087457600080fd5b5061088f600480360381019061088a91906137ee565b6117b9565b005b34801561089d57600080fd5b506108b860048036038101906108b39190613902565b6119df565b005b3480156108c657600080fd5b506108cf611a25565b6040516108dc919061382a565b60405180910390f35b3480156108f157600080fd5b506108fa611a4f565b6040516109079190613796565b60405180910390f35b34801561091c57600080fd5b50610925611ae1565b6040516109329190613796565b60405180910390f35b34801561094757600080fd5b50610950611b6f565b60405161095d9190613657565b60405180910390f35b610980600480360381019061097b91906137ee565b611b82565b005b34801561098e57600080fd5b506109a960048036038101906109a49190613c53565b611ea6565b005b3480156109b757600080fd5b506109c0611ebc565b6040516109cd9190613657565b60405180910390f35b3480156109e257600080fd5b506109eb611ecf565b6040516109f89190613894565b60405180910390f35b348015610a0d57600080fd5b50610a286004803603810190610a2391906137ee565b611edb565b604051610a35919061382a565b60405180910390f35b348015610a4a57600080fd5b50610a53611f0e565b604051610a609190613894565b60405180910390f35b348015610a7557600080fd5b50610a906004803603810190610a8b9190613d34565b611f14565b005b348015610a9e57600080fd5b50610ab96004803603810190610ab491906137ee565b611f76565b005b348015610ac757600080fd5b50610ad0611f88565b604051610add9190613657565b60405180910390f35b348015610af257600080fd5b50610b0d6004803603810190610b0891906137ee565b611f9b565b604051610b1a9190613796565b60405180910390f35b348015610b2f57600080fd5b50610b38612114565b604051610b45919061382a565b60405180910390f35b348015610b5a57600080fd5b50610b6361213a565b604051610b709190613894565b60405180910390f35b348015610b8557600080fd5b50610b8e612140565b604051610b9b9190613657565b60405180910390f35b348015610bb057600080fd5b50610bcb6004803603810190610bc69190613b28565b612153565b005b348015610bd957600080fd5b50610bf46004803603810190610bef9190613b28565b612178565b005b348015610c0257600080fd5b50610c1d6004803603810190610c189190613b28565b61219d565b005b348015610c2b57600080fd5b50610c346121c2565b604051610c419190613894565b60405180910390f35b348015610c5657600080fd5b50610c5f6121c8565b604051610c6c919061382a565b60405180910390f35b348015610c8157600080fd5b50610c8a6121ee565b604051610c979190613894565b60405180910390f35b348015610cac57600080fd5b50610cc76004803603810190610cc29190613db7565b6121f4565b604051610cd49190613657565b60405180910390f35b348015610ce957600080fd5b50610d046004803603810190610cff9190613ab3565b612288565b005b348015610d1257600080fd5b50610d2d6004803603810190610d289190613b28565b6122d6565b005b348015610d3b57600080fd5b50610d566004803603810190610d5191906136d0565b6122fb565b005b348015610d6457600080fd5b50610d7f6004803603810190610d7a91906136d0565b61237e565b005b348015610d8d57600080fd5b50610da86004803603810190610da391906136d0565b6123f1565b604051610db59190613657565b60405180910390f35b348015610dca57600080fd5b50610dd3612411565b604051610de0919061382a565b60405180910390f35b348015610df557600080fd5b50610e106004803603810190610e0b9190613c0a565b612437565b005b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610e855750610e8482612459565b5b9050919050565b610e9461253b565b80600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060008054610ee790613e26565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1390613e26565b8015610f605780601f10610f3557610100808354040283529160200191610f60565b820191906000526020600020905b815481529060010190602001808311610f4357829003601f168201915b5050505050905090565b6000610f75826125b9565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610fbb826115e5565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361102b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102290613ec9565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661104a612604565b73ffffffffffffffffffffffffffffffffffffffff161480611079575061107881611073612604565b6121f4565b5b6110b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110af90613f5b565b60405180910390fd5b6110c2838361260c565b505050565b6110cf61253b565b80601a8190555050565b60006110e560086126c5565b905090565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60155481565b611127611121612604565b826126d3565b611166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115d90613fed565b60405180910390fd5b611171838383612768565b505050565b600080600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612710600b54856111ad919061403c565b6111b791906140c5565b915091509250929050565b6000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b815260040161121f919061382a565b602060405180830381865afa15801561123c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611260919061410b565b9050919050565b61126f61253b565b60008151116112b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112aa90614184565b60405180910390fd5b60005b8151811015611344576000601860008484815181106112d8576112d76141a4565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061133c906141d3565b9150506112b6565b5050565b60175481565b61135661253b565b60004711611399576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139090614267565b60405180910390fd5b6113a1612604565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156113e6573d6000803e3d6000fd5b50565b61140483838360405180602001604052806000815250611f14565b505050565b61141161253b565b80601d60006101000a81548160ff02191690831515021790555050565b601360009054906101000a900460ff1681565b60116020528060005260406000206000915090505481565b61146161253b565b80600a9080519060200190611477929190613500565b5050565b61148361253b565b60008151116114c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114be90614184565b60405180910390fd5b60005b81518110156115e157600073ffffffffffffffffffffffffffffffffffffffff168282815181106114fe576114fd6141a4565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361155c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611553906142d3565b60405180910390fd5b600160186000848481518110611575576115746141a4565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806115d9906141d3565b9150506114ca565b5050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361168d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116849061433f565b60405180910390fd5b80915050919050565b600b5481565b6116a461253b565b80601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611758576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174f906143d1565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6117a761253b565b6117b160006129ce565b565b601c5481565b601d60009054906101000a900460ff16611808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ff9061443d565b60405180910390fd5b600c54811115801561181a5750600081115b611859576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611850906144a9565b60405180910390fd5b600061186b611866612604565b6111c2565b905060006011600061187b612604565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561191257601160006118c9612604565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261190f91906144c9565b90505b80831115611955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194c9061456f565b60405180910390fd5b8260116000611962612604565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119ab919061458f565b9250508190555060005b838110156119d9576119c633612a94565b80806119d1906141d3565b9150506119b5565b50505050565b6119e761253b565b600182036119fb5780601581905550611a21565b60028203611a0f5780601681905550611a20565b60038203611a1f57806017819055505b5b5b5050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054611a5e90613e26565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8a90613e26565b8015611ad75780601f10611aac57610100808354040283529160200191611ad7565b820191906000526020600020905b815481529060010190602001808311611aba57829003601f168201915b5050505050905090565b60148054611aee90613e26565b80601f0160208091040260200160405190810160405280929190818152602001828054611b1a90613e26565b8015611b675780601f10611b3c57610100808354040283529160200191611b67565b820191906000526020600020905b815481529060010190602001808311611b4a57829003601f168201915b505050505081565b600d60009054906101000a900460ff1681565b600d60009054906101000a900460ff16611bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc890614631565b60405180910390fd5b60001515601d60009054906101000a900460ff16151514611c27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1e906146c3565b60405180910390fd5b600c548111158015611c395750600081115b611c78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6f906144a9565b60405180910390fd5b601960019054906101000a900460ff1615611d685780601b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cdc919061458f565b92505081905550601a54601b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541115611d67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5e9061472f565b60405180910390fd5b5b601754601581905550601960009054906101000a900460ff1615611e235760011515601860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611e19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e10906147c1565b60405180910390fd5b6016546015819055505b80601554611e31919061403c565b3414611e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6990614853565b60405180910390fd5b60005b81811015611e9957611e8633612b51565b8080611e91906141d3565b915050611e75565b50611ea334612bbc565b50565b611eb8611eb1612604565b8383612ccd565b5050565b601960019054906101000a900460ff1681565b60088060000154905081565b60126020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601a5481565b611f25611f1f612604565b836126d3565b611f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5b90613fed565b60405180910390fd5b611f7084848484612e39565b50505050565b611f7e61253b565b80601c8190555050565b601d60009054906101000a900460ff1681565b6060611fa682612e95565b611fe5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fdc906148e5565b60405180910390fd5b601360009054906101000a900460ff1661208b576014805461200690613e26565b80601f016020809104026020016040519081016040528092919081815260200182805461203290613e26565b801561207f5780601f106120545761010080835404028352916020019161207f565b820191906000526020600020905b81548152906001019060200180831161206257829003601f168201915b5050505050905061210f565b6000612095612f01565b905060008151116120db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d290614977565b60405180910390fd5b60006120e684612f93565b905081816040516020016120fb929190614a1f565b604051602081830303815290604052925050505b919050565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b601960009054906101000a900460ff1681565b61215b61253b565b80601960016101000a81548160ff02191690831515021790555050565b61218061253b565b80601360006101000a81548160ff02191690831515021790555050565b6121a561253b565b80601960006101000a81548160ff02191690831515021790555050565b60165481565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60095481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61229061253b565b60005b81518110156122d2576122bf8282815181106122b2576122b16141a4565b5b602002602001015161237e565b80806122ca906141d3565b915050612293565b5050565b6122de61253b565b80600d60006101000a81548160ff02191690831515021790555050565b61230361253b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612372576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236990614ac0565b60405180910390fd5b61237b816129ce565b50565b61238661253b565b61239060086130f3565b600061239c60086126c5565b9050601c548111156123e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123da90614b2c565b60405180910390fd5b6123ed8282613109565b5050565b60186020528060005260406000206000915054906101000a900460ff1681565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61243f61253b565b8060149080519060200190612455929190613500565b5050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061252457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806125345750612533826132e2565b5b9050919050565b612543612604565b73ffffffffffffffffffffffffffffffffffffffff16612561611a25565b73ffffffffffffffffffffffffffffffffffffffff16146125b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ae90614b98565b60405180910390fd5b565b6125c281612e95565b612601576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f89061433f565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661267f836115e5565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600081600001549050919050565b6000806126df836115e5565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612721575061272081856121f4565b5b8061275f57508373ffffffffffffffffffffffffffffffffffffffff1661274784610f6a565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16612788826115e5565b73ffffffffffffffffffffffffffffffffffffffff16146127de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127d590614c2a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361284d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161284490614cbc565b60405180910390fd5b61285883838361334c565b61286360008261260c565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546128b391906144c9565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461290a919061458f565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46129c9838383613351565b505050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612a9e60086130f3565b6000612aaa60086126c5565b9050601c54811115612af1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae890614d4e565b60405180910390fd5b816012600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612b4d8282613109565b5050565b612b5b60086130f3565b6000612b6760086126c5565b9050600954811115612bae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ba590614d4e565b60405180910390fd5b612bb88282613109565b5050565b60006064604683612bcd919061403c565b612bd791906140c5565b905060006064601e84612bea919061403c565b612bf491906140c5565b9050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612c5e573d6000803e3d6000fd5b50600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612cc7573d6000803e3d6000fd5b50505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612d3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3290614dba565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051612e2c9190613657565b60405180910390a3505050565b612e44848484612768565b612e5084848484613356565b612e8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e8690614e4c565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6060600a8054612f1090613e26565b80601f0160208091040260200160405190810160405280929190818152602001828054612f3c90613e26565b8015612f895780601f10612f5e57610100808354040283529160200191612f89565b820191906000526020600020905b815481529060010190602001808311612f6c57829003601f168201915b5050505050905090565b606060008203612fda576040518060400160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525090506130ee565b600082905060005b6000821461300c578080612ff5906141d3565b915050600a8261300591906140c5565b9150612fe2565b60008167ffffffffffffffff81111561302857613027613970565b5b6040519080825280601f01601f19166020018201604052801561305a5781602001600182028036833780820191505090505b5090505b600085146130e75760018261307391906144c9565b9150600a856130829190614e6c565b603061308e919061458f565b60f81b8183815181106130a4576130a36141a4565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856130e091906140c5565b945061305e565b8093505050505b919050565b6001816000016000828254019250508190555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161316f90614ee9565b60405180910390fd5b61318181612e95565b156131c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131b890614f55565b60405180910390fd5b6131cd6000838361334c565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461321d919061458f565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46132de60008383613351565b5050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b505050565b505050565b60006133778473ffffffffffffffffffffffffffffffffffffffff166134dd565b156134d0578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026133a0612604565b8786866040518563ffffffff1660e01b81526004016133c29493929190614fca565b6020604051808303816000875af19250505080156133fe57506040513d601f19601f820116820180604052508101906133fb919061502b565b60015b613480573d806000811461342e576040519150601f19603f3d011682016040523d82523d6000602084013e613433565b606091505b506000815103613478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161346f90614e4c565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506134d5565b600190505b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b82805461350c90613e26565b90600052602060002090601f01602090048101928261352e5760008555613575565b82601f1061354757805160ff1916838001178555613575565b82800160010185558215613575579182015b82811115613574578251825591602001919060010190613559565b5b5090506135829190613586565b5090565b5b8082111561359f576000816000905550600101613587565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6135ec816135b7565b81146135f757600080fd5b50565b600081359050613609816135e3565b92915050565b600060208284031215613625576136246135ad565b5b6000613633848285016135fa565b91505092915050565b60008115159050919050565b6136518161363c565b82525050565b600060208201905061366c6000830184613648565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061369d82613672565b9050919050565b6136ad81613692565b81146136b857600080fd5b50565b6000813590506136ca816136a4565b92915050565b6000602082840312156136e6576136e56135ad565b5b60006136f4848285016136bb565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561373757808201518184015260208101905061371c565b83811115613746576000848401525b50505050565b6000601f19601f8301169050919050565b6000613768826136fd565b6137728185613708565b9350613782818560208601613719565b61378b8161374c565b840191505092915050565b600060208201905081810360008301526137b0818461375d565b905092915050565b6000819050919050565b6137cb816137b8565b81146137d657600080fd5b50565b6000813590506137e8816137c2565b92915050565b600060208284031215613804576138036135ad565b5b6000613812848285016137d9565b91505092915050565b61382481613692565b82525050565b600060208201905061383f600083018461381b565b92915050565b6000806040838503121561385c5761385b6135ad565b5b600061386a858286016136bb565b925050602061387b858286016137d9565b9150509250929050565b61388e816137b8565b82525050565b60006020820190506138a96000830184613885565b92915050565b6000806000606084860312156138c8576138c76135ad565b5b60006138d6868287016136bb565b93505060206138e7868287016136bb565b92505060406138f8868287016137d9565b9150509250925092565b60008060408385031215613919576139186135ad565b5b6000613927858286016137d9565b9250506020613938858286016137d9565b9150509250929050565b6000604082019050613957600083018561381b565b6139646020830184613885565b9392505050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6139a88261374c565b810181811067ffffffffffffffff821117156139c7576139c6613970565b5b80604052505050565b60006139da6135a3565b90506139e6828261399f565b919050565b600067ffffffffffffffff821115613a0657613a05613970565b5b602082029050602081019050919050565b600080fd5b6000613a2f613a2a846139eb565b6139d0565b90508083825260208201905060208402830185811115613a5257613a51613a17565b5b835b81811015613a7b5780613a6788826136bb565b845260208401935050602081019050613a54565b5050509392505050565b600082601f830112613a9a57613a9961396b565b5b8135613aaa848260208601613a1c565b91505092915050565b600060208284031215613ac957613ac86135ad565b5b600082013567ffffffffffffffff811115613ae757613ae66135b2565b5b613af384828501613a85565b91505092915050565b613b058161363c565b8114613b1057600080fd5b50565b600081359050613b2281613afc565b92915050565b600060208284031215613b3e57613b3d6135ad565b5b6000613b4c84828501613b13565b91505092915050565b600080fd5b600067ffffffffffffffff821115613b7557613b74613970565b5b613b7e8261374c565b9050602081019050919050565b82818337600083830152505050565b6000613bad613ba884613b5a565b6139d0565b905082815260208101848484011115613bc957613bc8613b55565b5b613bd4848285613b8b565b509392505050565b600082601f830112613bf157613bf061396b565b5b8135613c01848260208601613b9a565b91505092915050565b600060208284031215613c2057613c1f6135ad565b5b600082013567ffffffffffffffff811115613c3e57613c3d6135b2565b5b613c4a84828501613bdc565b91505092915050565b60008060408385031215613c6a57613c696135ad565b5b6000613c78858286016136bb565b9250506020613c8985828601613b13565b9150509250929050565b600067ffffffffffffffff821115613cae57613cad613970565b5b613cb78261374c565b9050602081019050919050565b6000613cd7613cd284613c93565b6139d0565b905082815260208101848484011115613cf357613cf2613b55565b5b613cfe848285613b8b565b509392505050565b600082601f830112613d1b57613d1a61396b565b5b8135613d2b848260208601613cc4565b91505092915050565b60008060008060808587031215613d4e57613d4d6135ad565b5b6000613d5c878288016136bb565b9450506020613d6d878288016136bb565b9350506040613d7e878288016137d9565b925050606085013567ffffffffffffffff811115613d9f57613d9e6135b2565b5b613dab87828801613d06565b91505092959194509250565b60008060408385031215613dce57613dcd6135ad565b5b6000613ddc858286016136bb565b9250506020613ded858286016136bb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613e3e57607f821691505b602082108103613e5157613e50613df7565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613eb3602183613708565b9150613ebe82613e57565b604082019050919050565b60006020820190508181036000830152613ee281613ea6565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000602082015250565b6000613f45603e83613708565b9150613f5082613ee9565b604082019050919050565b60006020820190508181036000830152613f7481613f38565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206e6f7220617070726f766564000000000000000000000000000000000000602082015250565b6000613fd7602e83613708565b9150613fe282613f7b565b604082019050919050565b6000602082019050818103600083015261400681613fca565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614047826137b8565b9150614052836137b8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561408b5761408a61400d565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006140d0826137b8565b91506140db836137b8565b9250826140eb576140ea614096565b5b828204905092915050565b600081519050614105816137c2565b92915050565b600060208284031215614121576141206135ad565b5b600061412f848285016140f6565b91505092915050565b7f4572726f723a206c69737420697320656d707479000000000000000000000000600082015250565b600061416e601483613708565b915061417982614138565b602082019050919050565b6000602082019050818103600083015261419d81614161565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006141de826137b8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036142105761420f61400d565b5b600182019050919050565b7f4e6f7468696e6720746f20776974686472617700000000000000000000000000600082015250565b6000614251601383613708565b915061425c8261421b565b602082019050919050565b6000602082019050818103600083015261428081614244565b9050919050565b7f416464726573732063616e6e6f7420626520302e000000000000000000000000600082015250565b60006142bd601483613708565b91506142c882614287565b602082019050919050565b600060208201905081810360008301526142ec816142b0565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000614329601883613708565b9150614334826142f3565b602082019050919050565b600060208201905081810360008301526143588161431c565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006143bb602983613708565b91506143c68261435f565b604082019050919050565b600060208201905081810360008301526143ea816143ae565b9050919050565b7f46726565204d696e74696e67206973206e6f74206163746976652e0000000000600082015250565b6000614427601b83613708565b9150614432826143f1565b602082019050919050565b600060208201905081810360008301526144568161441a565b9050919050565b7f43616e6e6f74206d696e742074686174206d616e79206174206f6e63652e0000600082015250565b6000614493601e83613708565b915061449e8261445d565b602082019050919050565b600060208201905081810360008301526144c281614486565b9050919050565b60006144d4826137b8565b91506144df836137b8565b9250828210156144f2576144f161400d565b5b828203905092915050565b7f43616e6e6f74206d696e7420796f7520646f6e2774206861766520656e61756760008201527f68204e4654204461776720546f6b656e732e0000000000000000000000000000602082015250565b6000614559603283613708565b9150614564826144fd565b604082019050919050565b600060208201905081810360008301526145888161454c565b9050919050565b600061459a826137b8565b91506145a5836137b8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156145da576145d961400d565b5b828201905092915050565b7f4d696e74696e67206973206e6f74206163746976652e00000000000000000000600082015250565b600061461b601683613708565b9150614626826145e5565b602082019050919050565b6000602082019050818103600083015261464a8161460e565b9050919050565b7f4d696e74696e67206c65667420666f722046726565204d696e7420446177672060008201527f4e465420486f6c64657273212e00000000000000000000000000000000000000602082015250565b60006146ad602d83613708565b91506146b882614651565b604082019050919050565b600060208201905081810360008301526146dc816146a0565b9050919050565b7f43616e6e6f74206d696e74206d6f7265206f6e20796f75722077616c6c65742e600082015250565b6000614719602083613708565b9150614724826146e3565b602082019050919050565b600060208201905081810360008301526147488161470c565b9050919050565b7f596f75722077616c6c6574206973206e6f742061207768697465206c6973746560008201527f642e000000000000000000000000000000000000000000000000000000000000602082015250565b60006147ab602283613708565b91506147b68261474f565b604082019050919050565b600060208201905081810360008301526147da8161479e565b9050919050565b7f4e6f7420656e6f75676820415641582073656e7420666f72206d696e74206f7260008201527f206e6f7420657175616c20746865207072696365000000000000000000000000602082015250565b600061483d603483613708565b9150614848826147e1565b604082019050919050565b6000602082019050818103600083015261486c81614830565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b60006148cf602f83613708565b91506148da82614873565b604082019050919050565b600060208201905081810360008301526148fe816148c2565b9050919050565b7f4552433732314d657461646174613a204261736520555249206973206e6f742060008201527f7365740000000000000000000000000000000000000000000000000000000000602082015250565b6000614961602383613708565b915061496c82614905565b604082019050919050565b6000602082019050818103600083015261499081614954565b9050919050565b600081905092915050565b60006149ad826136fd565b6149b78185614997565b93506149c7818560208601613719565b80840191505092915050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b6000614a09600583614997565b9150614a14826149d3565b600582019050919050565b6000614a2b82856149a2565b9150614a3782846149a2565b9150614a42826149fc565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614aaa602683613708565b9150614ab582614a4e565b604082019050919050565b60006020820190508181036000830152614ad981614a9d565b9050919050565b7f4d696e7420537570706c79205265616368656400000000000000000000000000600082015250565b6000614b16601383613708565b9150614b2182614ae0565b602082019050919050565b60006020820190508181036000830152614b4581614b09565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614b82602083613708565b9150614b8d82614b4c565b602082019050919050565b60006020820190508181036000830152614bb181614b75565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000614c14602583613708565b9150614c1f82614bb8565b604082019050919050565b60006020820190508181036000830152614c4381614c07565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614ca6602483613708565b9150614cb182614c4a565b604082019050919050565b60006020820190508181036000830152614cd581614c99565b9050919050565b7f4d696e742069732066696e6973686564206f72206d696e7420616d6f756e742060008201527f6973206f76657220746865206c696d6974000000000000000000000000000000602082015250565b6000614d38603183613708565b9150614d4382614cdc565b604082019050919050565b60006020820190508181036000830152614d6781614d2b565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000614da4601983613708565b9150614daf82614d6e565b602082019050919050565b60006020820190508181036000830152614dd381614d97565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614e36603283613708565b9150614e4182614dda565b604082019050919050565b60006020820190508181036000830152614e6581614e29565b9050919050565b6000614e77826137b8565b9150614e82836137b8565b925082614e9257614e91614096565b5b828206905092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614ed3602083613708565b9150614ede82614e9d565b602082019050919050565b60006020820190508181036000830152614f0281614ec6565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614f3f601c83613708565b9150614f4a82614f09565b602082019050919050565b60006020820190508181036000830152614f6e81614f32565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000614f9c82614f75565b614fa68185614f80565b9350614fb6818560208601613719565b614fbf8161374c565b840191505092915050565b6000608082019050614fdf600083018761381b565b614fec602083018661381b565b614ff96040830185613885565b818103606083015261500b8184614f91565b905095945050505050565b600081519050615025816135e3565b92915050565b600060208284031215615041576150406135ad565b5b600061504f84828501615016565b9150509291505056fea2646970667358221220684a154da2a65b933694a3b7b886e3415c652e48fc783edabb66de85ee9a2c9a64736f6c634300080e003368747470733a2f2f6261667962656964746a6e6d3471367064677a6a6c73696233796c6c6b7a726c6a647136636b6c61643563376f6173376376786c6a6d61666d78342e697066732e7733732e6c696e6b2f756e72657665616c65645f6661726d686f6f64732e6a736f6e000000000000000000000000a870fd655f40583b6c33ed13363defff7958a8d000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000008f9fb4193279b75389d1afbee6c41578c28106bb00000000000000000000000098ab9ba6ae262abf61dfde07fc04ba7006696e13000000000000000000000000727c0a971fcfba0f901ecafe232d72532ff0e4c9000000000000000000000000000000000000000000000000000000000000005c68747470733a2f2f62616679626569627867796971666c677079773363336e6b796d7268696470733368653573626d6e68616f74376777706c677162366569753435692e697066732e647765622e6c696e6b2f6d657461646174612f00000000