[ { "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": [], "name": "MAX_TOKENS", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "checkIntegrityArrayIndexRandom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "checkRandomnessArrayIndexRandom", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "deposit", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "randomData", "type": "uint32" } ], "name": "generateRandomBigNumber", "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": "uint16", "name": "ithOwner", "type": "uint16" } ], "name": "getIthOwnerInMintingOrder", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "ithMintedToken", "type": "uint16" } ], "name": "getMintingOrder", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "iFrom", "type": "uint16" }, { "internalType": "uint16", "name": "iToInclusive", "type": "uint16" }, { "internalType": "uint32", "name": "randomData", "type": "uint32" } ], "name": "initArrayIndexRandom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "iFrom", "type": "uint16" }, { "internalType": "uint16", "name": "iToInclusive", "type": "uint16" } ], "name": "initArrayTemp", "outputs": [], "stateMutability": "nonpayable", "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": "uint16", "name": "quantity", "type": "uint16" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "mintingStarted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nextIndex", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "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": "price", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "randomIdsToGenerate", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "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": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_price", "type": "uint256" } ], "name": "setPrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startMinting", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "testTokenURIformat", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405260405180602001604052806000815250600c90805190602001906200002b92919062000231565b503480156200003957600080fd5b506040518060400160405280600a81526020017f4d694675546f41766178000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d465400000000000000000000000000000000000000000000000000000000008152508160009080519060200190620000be92919062000231565b508060019080519060200190620000d792919062000231565b505050620000fa620000ee6200016360201b60201c565b6200016b60201b60201c565b600061027f60026101000a81548160ff021916908315150217905550600061027f60036101000a81548161ffff021916908361ffff1602179055506000600d8190555061271061027f60006101000a81548161ffff021916908361ffff16021790555062000346565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200023f90620002e1565b90600052602060002090601f016020900481019282620002635760008555620002af565b82601f106200027e57805160ff1916838001178555620002af565b82800160010185558215620002af579182015b82811115620002ae57825182559160200191906001019062000291565b5b509050620002be9190620002c2565b5090565b5b80821115620002dd576000816000905550600101620002c3565b5090565b60006002820490506001821680620002fa57607f821691505b6020821081141562000311576200031062000317565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b61581b80620003566000396000f3fe6080604052600436106102245760003560e01c80638a8464fc11610123578063c14faa66116100ab578063f2fde38b1161006f578063f2fde38b146107d6578063f47c84c5146107ff578063f7a342bc1461082a578063fc7e9c6f14610867578063fc8698101461089257610224565b8063c14faa66146106fe578063c87b56dd14610727578063cb35cbaa14610764578063d0e30db01461078f578063e985e9c51461079957610224565b806395d89b41116100f257806395d89b411461063f5780639a65ea261461066a578063a035b1fe14610681578063a22cb465146106ac578063b88d4fde146106d557610224565b80638a8464fc146105975780638c332e47146105c05780638da5cb5b146105eb57806391b7f5ed1461061657610224565b80632f745c59116101b157806357f4ffe91161017557806357f4ffe9146104b05780636352211e146104db5780636f8608e41461051857806370a0823114610543578063715018a61461058057610224565b80632f745c59146103cd5780633ccfd60b1461040a57806342842e0e146104215780634f6ccce71461044a57806355f804b31461048757610224565b8063095ea7b3116101f8578063095ea7b31461030b5780630fb6afa21461033457806318160ddd1461035d57806323b872dd1461038857806323cf0a22146103b157610224565b80620c08921461022957806301ffc9a71461026657806306fdde03146102a3578063081812fc146102ce575b600080fd5b34801561023557600080fd5b50610250600480360381019061024b9190613ac2565b6108bd565b60405161025d9190614236565b60405180910390f35b34801561027257600080fd5b5061028d60048036038101906102889190613a1f565b610961565b60405161029a919061429d565b60405180910390f35b3480156102af57600080fd5b506102b86109db565b6040516102c591906142b8565b60405180910390f35b3480156102da57600080fd5b506102f560048036038101906102f09190613b82565b610a6d565b6040516103029190614236565b60405180910390f35b34801561031757600080fd5b50610332600480360381019061032d91906139df565b610af2565b005b34801561034057600080fd5b5061035b60048036038101906103569190613aef565b610c0a565b005b34801561036957600080fd5b50610372610d86565b60405161037f9190614775565b60405180910390f35b34801561039457600080fd5b506103af60048036038101906103aa91906138c9565b610d93565b005b6103cb60048036038101906103c69190613ac2565b610df3565b005b3480156103d957600080fd5b506103f460048036038101906103ef91906139df565b6110b0565b6040516104019190614775565b60405180910390f35b34801561041657600080fd5b5061041f611155565b005b34801561042d57600080fd5b50610448600480360381019061044391906138c9565b611221565b005b34801561045657600080fd5b50610471600480360381019061046c9190613b82565b611241565b60405161047e9190614775565b60405180910390f35b34801561049357600080fd5b506104ae60048036038101906104a99190613a79565b6112b2565b005b3480156104bc57600080fd5b506104c5611399565b6040516104d2919061475a565b60405180910390f35b3480156104e757600080fd5b5061050260048036038101906104fd9190613b82565b611461565b60405161050f9190614236565b60405180910390f35b34801561052457600080fd5b5061052d611513565b60405161053a919061429d565b60405180910390f35b34801561054f57600080fd5b5061056a6004803603810190610565919061385c565b611527565b6040516105779190614775565b60405180910390f35b34801561058c57600080fd5b506105956115df565b005b3480156105a357600080fd5b506105be60048036038101906105b99190613b2f565b611667565b005b3480156105cc57600080fd5b506105d56119f1565b6040516105e2919061429d565b60405180910390f35b3480156105f757600080fd5b50610600611af6565b60405161060d9190614236565b60405180910390f35b34801561062257600080fd5b5061063d60048036038101906106389190613b82565b611b20565b005b34801561064b57600080fd5b50610654611bf7565b60405161066191906142b8565b60405180910390f35b34801561067657600080fd5b5061067f611c89565b005b34801561068d57600080fd5b50610696611db9565b6040516106a39190614775565b60405180910390f35b3480156106b857600080fd5b506106d360048036038101906106ce919061399f565b611dbf565b005b3480156106e157600080fd5b506106fc60048036038101906106f7919061391c565b611f40565b005b34801561070a57600080fd5b5061072560048036038101906107209190613baf565b611fa2565b005b34801561073357600080fd5b5061074e60048036038101906107499190613b82565b6120ee565b60405161075b91906142b8565b60405180910390f35b34801561077057600080fd5b50610779612195565b604051610786919061475a565b60405180910390f35b6107976121aa565b005b3480156107a557600080fd5b506107c060048036038101906107bb9190613889565b612228565b6040516107cd919061429d565b60405180910390f35b3480156107e257600080fd5b506107fd60048036038101906107f8919061385c565b6122bc565b005b34801561080b57600080fd5b506108146123b4565b604051610821919061475a565b60405180910390f35b34801561083657600080fd5b50610851600480360381019061084c9190613ac2565b6123ba565b60405161085e919061475a565b60405180910390f35b34801561087357600080fd5b5061087c612452565b604051610889919061475a565b60405180910390f35b34801561089e57600080fd5b506108a7612467565b6040516108b491906142b8565b60405180910390f35b600061027f60039054906101000a900461ffff1661ffff168261ffff161061091a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109119061467a565b60405180910390fd5b61095a6102808361ffff16612710811061093757610936614cb9565b5b601091828204019190066002029054906101000a900461ffff1661ffff16611461565b9050919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806109d457506109d382612549565b5b9050919050565b6060600080546109ea90614ad9565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1690614ad9565b8015610a635780601f10610a3857610100808354040283529160200191610a63565b820191906000526020600020905b815481529060010190602001808311610a4657829003601f168201915b5050505050905090565b6000610a788261262b565b610ab7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aae9061457a565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610afd82611461565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b659061463a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610b8d612697565b73ffffffffffffffffffffffffffffffffffffffff161480610bbc5750610bbb81610bb6612697565b612228565b5b610bfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf2906144da565b60405180910390fd5b610c05838361269f565b505050565b610c12612697565b73ffffffffffffffffffffffffffffffffffffffff16610c30611af6565b73ffffffffffffffffffffffffffffffffffffffff1614610c86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7d906145ba565b60405180910390fd5b61027f60029054906101000a900460ff1615610cd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cce9061437a565b60405180910390fd5b61271061ffff1661027f60009054906101000a900461ffff1661ffff1614610d1a5761271061027f60006101000a81548161ffff021916908361ffff1602179055505b60008290505b8161ffff168161ffff1611610d815780600e8261ffff166127108110610d4957610d48614cb9565b5b601091828204019190066002026101000a81548161ffff021916908361ffff1602179055508080610d7990614b3c565b915050610d20565b505050565b6000600880549050905090565b610da4610d9e612697565b82612758565b610de3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dda906146da565b60405180910390fd5b610dee838383612836565b505050565b8061ffff16600b54610e059190614919565b3414610e46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3d906146ba565b60405180910390fd5b60008161ffff1611610e8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e849061471a565b60405180910390fd5b60148161ffff161115610ed5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecc9061441a565b60405180910390fd5b61271061ffff16600182610ee99190614973565b61027f60039054906101000a900461ffff16610f05919061485a565b61ffff1610610f49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f409061469a565b60405180910390fd5b61027f60029054906101000a900460ff16610f99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f90906143da565b60405180910390fd5b60005b8161ffff168161ffff1610156110ac57600061027f60039054906101000a900461ffff16905061027f600381819054906101000a900461ffff1680929190610fe390614b3c565b91906101000a81548161ffff021916908361ffff1602179055505060006102808261ffff16612710811061101a57611019614cb9565b5b601091828204019190066002029054906101000a900461ffff16905061271061ffff168161ffff1610611082576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611079906142da565b60405180910390fd5b61109761108d612697565b8261ffff16612a92565b505080806110a490614b3c565b915050610f9c565b5050565b60006110bb83611527565b82106110fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f3906142fa565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b61115d612697565b73ffffffffffffffffffffffffffffffffffffffff1661117b611af6565b73ffffffffffffffffffffffffffffffffffffffff16146111d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c8906145ba565b60405180910390fd5b6111d9611af6565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561121e573d6000803e3d6000fd5b50565b61123c83838360405180602001604052806000815250611f40565b505050565b600061124b610d86565b821061128c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611283906146fa565b60405180910390fd5b600882815481106112a05761129f614cb9565b5b90600052602060002001549050919050565b6112ba612697565b73ffffffffffffffffffffffffffffffffffffffff166112d8611af6565b73ffffffffffffffffffffffffffffffffffffffff161461132e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611325906145ba565b60405180910390fd5b61027f60029054906101000a900460ff161561137f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113769061473a565b60405180910390fd5b80600c9080519060200190611395929190613621565b5050565b6000806000600191505b61271061ffff168261ffff161015611459576102808261ffff1661271081106113cf576113ce614cb9565b5b601091828204019190066002029054906101000a900461ffff1661ffff166102806001846113fd9190614973565b61ffff16612710811061141357611412614cb9565b5b601091828204019190066002029054906101000a900461ffff1661ffff16111561144657808061144290614b3c565b9150505b818061145190614b3c565b9250506113a3565b809250505090565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561150a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115019061451a565b60405180910390fd5b80915050919050565b61027f60029054906101000a900460ff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611598576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158f906144fa565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6115e7612697565b73ffffffffffffffffffffffffffffffffffffffff16611605611af6565b73ffffffffffffffffffffffffffffffffffffffff161461165b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611652906145ba565b60405180910390fd5b6116656000612ab0565b565b61166f612697565b73ffffffffffffffffffffffffffffffffffffffff1661168d611af6565b73ffffffffffffffffffffffffffffffffffffffff16146116e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116da906145ba565b60405180910390fd5b61027f60029054906101000a900460ff1615611734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172b9061449a565b60405180910390fd5b600061027f60009054906101000a900461ffff1661ffff161161178c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117839061459a565b60405180910390fd5b633b9aca00600d54116117d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cb906144ba565b60405180910390fd5b60016127106117e39190614973565b61ffff16600e60016127106117f89190614973565b61ffff16612710811061180e5761180d614cb9565b5b601091828204019190066002029054906101000a900461ffff1661ffff161461186c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118639061453a565b60405180910390fd5b600061027f60009054906101000a900461ffff1690508163ffffffff16600d5461189691906149a7565b600d8190555060008490505b8361ffff168161ffff16116119cc5760008261ffff16600d546118c59190614bcc565b9050600e8161ffff1661271081106118e0576118df614cb9565b5b601091828204019190066002029054906101000a900461ffff166102808361ffff16612710811061191457611913614cb9565b5b601091828204019190066002026101000a81548161ffff021916908361ffff160217905550828061194490614aaf565b935050600e8361ffff1661271081106119605761195f614cb9565b5b601091828204019190066002029054906101000a900461ffff16600e8261ffff16612710811061199357611992614cb9565b5b601091828204019190066002026101000a81548161ffff021916908361ffff1602179055505080806119c490614b3c565b9150506118a2565b508061027f60006101000a81548161ffff021916908361ffff16021790555050505050565b6000806119fc6136a7565b600091505b61271061ffff168261ffff161015611a8f57806102808361ffff166127108110611a2e57611a2d614cb9565b5b601091828204019190066002029054906101000a900461ffff1661ffff166127108110611a5e57611a5d614cb9565b5b602002018051809190611a7090614b3c565b61ffff1661ffff16815250508180611a8790614b3c565b925050611a01565b600091505b61271061ffff168261ffff161015611aec576001818361ffff166127108110611ac057611abf614cb9565b5b602002015161ffff1614611ad957600092505050611af3565b8180611ae490614b3c565b925050611a94565b6001925050505b90565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611b28612697565b73ffffffffffffffffffffffffffffffffffffffff16611b46611af6565b73ffffffffffffffffffffffffffffffffffffffff1614611b9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b93906145ba565b60405180910390fd5b61027f60029054906101000a900460ff1615611bed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be4906143ba565b60405180910390fd5b80600b8190555050565b606060018054611c0690614ad9565b80601f0160208091040260200160405190810160405280929190818152602001828054611c3290614ad9565b8015611c7f5780601f10611c5457610100808354040283529160200191611c7f565b820191906000526020600020905b815481529060010190602001808311611c6257829003601f168201915b5050505050905090565b611c91612697565b73ffffffffffffffffffffffffffffffffffffffff16611caf611af6565b73ffffffffffffffffffffffffffffffffffffffff1614611d05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cfc906145ba565b60405180910390fd5b6000600b5411611d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d419061465a565b60405180910390fd5b6000600c8054611d5990614ad9565b905011611d9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d929061439a565b60405180910390fd5b600161027f60026101000a81548160ff021916908315150217905550565b600b5481565b611dc7612697565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2c9061443a565b60405180910390fd5b8060056000611e42612697565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611eef612697565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611f34919061429d565b60405180910390a35050565b611f51611f4b612697565b83612758565b611f90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f87906146da565b60405180910390fd5b611f9c84848484612b76565b50505050565b611faa612697565b73ffffffffffffffffffffffffffffffffffffffff16611fc8611af6565b73ffffffffffffffffffffffffffffffffffffffff161461201e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612015906145ba565b60405180910390fd5b61027f60029054906101000a900460ff161561206f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120669061445a565b60405180910390fd5b804442604051602001612084939291906141f9565b6040516020818303038152906040528051906020012060001c600d81905550633b9aca00600d54116120eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e2906144ba565b60405180910390fd5b50565b60606120f98261262b565b612138576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212f906145fa565b60405180910390fd5b6000612142612bd2565b90506000815111612162576040518060200160405280600081525061218d565b8061216c84612c64565b60405160200161217d9291906141d5565b6040516020818303038152906040525b915050919050565b61027f60009054906101000a900461ffff1681565b6121b2612697565b73ffffffffffffffffffffffffffffffffffffffff166121d0611af6565b73ffffffffffffffffffffffffffffffffffffffff1614612226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221d906145ba565b60405180910390fd5b565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6122c4612697565b73ffffffffffffffffffffffffffffffffffffffff166122e2611af6565b73ffffffffffffffffffffffffffffffffffffffff1614612338576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232f906145ba565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156123a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239f9061433a565b60405180910390fd5b6123b181612ab0565b50565b61271081565b600061027f60039054906101000a900461ffff1661ffff168261ffff1610612417576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240e9061461a565b60405180910390fd5b6102808261ffff16612710811061243157612430614cb9565b5b601091828204019190066002029054906101000a900461ffff169050919050565b61027f60039054906101000a900461ffff1681565b6060612471612697565b73ffffffffffffffffffffffffffffffffffffffff1661248f611af6565b73ffffffffffffffffffffffffffffffffffffffff16146124e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124dc906145ba565b60405180910390fd5b60006201e240905060006124f7612bd2565b905060008151116125175760405180602001604052806000815250612542565b8061252183612c64565b6040516020016125329291906141d5565b6040516020818303038152906040525b9250505090565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061261457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612624575061262382612dc5565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661271283611461565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006127638261262b565b6127a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127999061447a565b60405180910390fd5b60006127ad83611461565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061281c57508373ffffffffffffffffffffffffffffffffffffffff1661280484610a6d565b73ffffffffffffffffffffffffffffffffffffffff16145b8061282d575061282c8185612228565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661285682611461565b73ffffffffffffffffffffffffffffffffffffffff16146128ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128a3906145da565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561291c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612913906143fa565b60405180910390fd5b612927838383612e2f565b61293260008261269f565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461298291906149a7565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546129d99190614892565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b612aac828260405180602001604052806000815250612f43565b5050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612b81848484612836565b612b8d84848484612f9e565b612bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bc39061431a565b60405180910390fd5b50505050565b6060600c8054612be190614ad9565b80601f0160208091040260200160405190810160405280929190818152602001828054612c0d90614ad9565b8015612c5a5780601f10612c2f57610100808354040283529160200191612c5a565b820191906000526020600020905b815481529060010190602001808311612c3d57829003601f168201915b5050505050905090565b60606000821415612cac576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612dc0565b600082905060005b60008214612cde578080612cc790614b67565b915050600a82612cd791906148e8565b9150612cb4565b60008167ffffffffffffffff811115612cfa57612cf9614ce8565b5b6040519080825280601f01601f191660200182016040528015612d2c5781602001600182028036833780820191505090505b5090505b60008514612db957600182612d4591906149a7565b9150600a85612d549190614bcc565b6030612d609190614892565b60f81b818381518110612d7657612d75614cb9565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612db291906148e8565b9450612d30565b8093505050505b919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612e3a838383613135565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612e7d57612e788161313a565b612ebc565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612ebb57612eba8382613183565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612eff57612efa816132f0565b612f3e565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612f3d57612f3c82826133c1565b5b5b505050565b612f4d8383613440565b612f5a6000848484612f9e565b612f99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f909061431a565b60405180910390fd5b505050565b6000612fbf8473ffffffffffffffffffffffffffffffffffffffff1661360e565b15613128578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612fe8612697565b8786866040518563ffffffff1660e01b815260040161300a9493929190614251565b602060405180830381600087803b15801561302457600080fd5b505af192505050801561305557506040513d601f19601f820116820180604052508101906130529190613a4c565b60015b6130d8573d8060008114613085576040519150601f19603f3d011682016040523d82523d6000602084013e61308a565b606091505b506000815114156130d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130c79061431a565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061312d565b600190505b949350505050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161319084611527565b61319a91906149a7565b905060006007600084815260200190815260200160002054905081811461327f576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061330491906149a7565b905060006009600084815260200190815260200160002054905060006008838154811061333457613333614cb9565b5b90600052602060002001549050806008838154811061335657613355614cb9565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806133a5576133a4614c8a565b5b6001900381819060005260206000200160009055905550505050565b60006133cc83611527565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156134b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134a79061455a565b60405180910390fd5b6134b98161262b565b156134f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134f09061435a565b60405180910390fd5b61350560008383612e2f565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546135559190614892565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b82805461362d90614ad9565b90600052602060002090601f01602090048101928261364f5760008555613696565b82601f1061366857805160ff1916838001178555613696565b82800160010185558215613696579182015b8281111561369557825182559160200191906001019061367a565b5b5090506136a391906136cc565b5090565b604051806204e200016040528061271090602082028036833780820191505090505090565b5b808211156136e55760008160009055506001016136cd565b5090565b60006136fc6136f7846147b5565b614790565b90508281526020810184848401111561371857613717614d1c565b5b613723848285614a6d565b509392505050565b600061373e613739846147e6565b614790565b90508281526020810184848401111561375a57613759614d1c565b5b613765848285614a6d565b509392505050565b60008135905061377c8161575b565b92915050565b60008135905061379181615772565b92915050565b6000813590506137a681615789565b92915050565b6000815190506137bb81615789565b92915050565b600082601f8301126137d6576137d5614d17565b5b81356137e68482602086016136e9565b91505092915050565b600082601f83011261380457613803614d17565b5b813561381484826020860161372b565b91505092915050565b60008135905061382c816157a0565b92915050565b600081359050613841816157b7565b92915050565b600081359050613856816157ce565b92915050565b60006020828403121561387257613871614d26565b5b60006138808482850161376d565b91505092915050565b600080604083850312156138a05761389f614d26565b5b60006138ae8582860161376d565b92505060206138bf8582860161376d565b9150509250929050565b6000806000606084860312156138e2576138e1614d26565b5b60006138f08682870161376d565b93505060206139018682870161376d565b925050604061391286828701613832565b9150509250925092565b6000806000806080858703121561393657613935614d26565b5b60006139448782880161376d565b94505060206139558782880161376d565b935050604061396687828801613832565b925050606085013567ffffffffffffffff81111561398757613986614d21565b5b613993878288016137c1565b91505092959194509250565b600080604083850312156139b6576139b5614d26565b5b60006139c48582860161376d565b92505060206139d585828601613782565b9150509250929050565b600080604083850312156139f6576139f5614d26565b5b6000613a048582860161376d565b9250506020613a1585828601613832565b9150509250929050565b600060208284031215613a3557613a34614d26565b5b6000613a4384828501613797565b91505092915050565b600060208284031215613a6257613a61614d26565b5b6000613a70848285016137ac565b91505092915050565b600060208284031215613a8f57613a8e614d26565b5b600082013567ffffffffffffffff811115613aad57613aac614d21565b5b613ab9848285016137ef565b91505092915050565b600060208284031215613ad857613ad7614d26565b5b6000613ae68482850161381d565b91505092915050565b60008060408385031215613b0657613b05614d26565b5b6000613b148582860161381d565b9250506020613b258582860161381d565b9150509250929050565b600080600060608486031215613b4857613b47614d26565b5b6000613b568682870161381d565b9350506020613b678682870161381d565b9250506040613b7886828701613847565b9150509250925092565b600060208284031215613b9857613b97614d26565b5b6000613ba684828501613832565b91505092915050565b600060208284031215613bc557613bc4614d26565b5b6000613bd384828501613847565b91505092915050565b613be5816149db565b82525050565b613bf4816149ed565b82525050565b6000613c0582614817565b613c0f818561482d565b9350613c1f818560208601614a7c565b613c2881614d2b565b840191505092915050565b6000613c3e82614822565b613c48818561483e565b9350613c58818560208601614a7c565b613c6181614d2b565b840191505092915050565b6000613c7782614822565b613c81818561484f565b9350613c91818560208601614a7c565b80840191505092915050565b6000613caa602a8361483e565b9150613cb582614d49565b604082019050919050565b6000613ccd602b8361483e565b9150613cd882614d98565b604082019050919050565b6000613cf060328361483e565b9150613cfb82614de7565b604082019050919050565b6000613d1360268361483e565b9150613d1e82614e36565b604082019050919050565b6000613d36601c8361483e565b9150613d4182614e85565b602082019050919050565b6000613d5960338361483e565b9150613d6482614eae565b604082019050919050565b6000613d7c60218361483e565b9150613d8782614efd565b604082019050919050565b6000613d9f60348361483e565b9150613daa82614f4c565b604082019050919050565b6000613dc260278361483e565b9150613dcd82614f9b565b604082019050919050565b6000613de560248361483e565b9150613df082614fea565b604082019050919050565b6000613e0860228361483e565b9150613e1382615039565b604082019050919050565b6000613e2b60198361483e565b9150613e3682615088565b602082019050919050565b6000613e4e60398361483e565b9150613e59826150b1565b604082019050919050565b6000613e71602c8361483e565b9150613e7c82615100565b604082019050919050565b6000613e94603a8361483e565b9150613e9f8261514f565b604082019050919050565b6000613eb7602e8361483e565b9150613ec28261519e565b604082019050919050565b6000613eda60388361483e565b9150613ee5826151ed565b604082019050919050565b6000613efd602a8361483e565b9150613f088261523c565b604082019050919050565b6000613f2060298361483e565b9150613f2b8261528b565b604082019050919050565b6000613f43601c8361483e565b9150613f4e826152da565b602082019050919050565b6000613f6660208361483e565b9150613f7182615303565b602082019050919050565b6000613f89602c8361483e565b9150613f948261532c565b604082019050919050565b6000613fac60258361483e565b9150613fb78261537b565b604082019050919050565b6000613fcf60208361483e565b9150613fda826153ca565b602082019050919050565b6000613ff260298361483e565b9150613ffd826153f3565b604082019050919050565b6000614015602f8361483e565b915061402082615442565b604082019050919050565b600061403860368361483e565b915061404382615491565b604082019050919050565b600061405b60218361483e565b9150614066826154e0565b604082019050919050565b600061407e601e8361483e565b91506140898261552f565b602082019050919050565b60006140a1602e8361483e565b91506140ac82615558565b604082019050919050565b60006140c4601d8361483e565b91506140cf826155a7565b602082019050919050565b60006140e760408361483e565b91506140f2826155d0565b604082019050919050565b600061410a60318361483e565b91506141158261561f565b604082019050919050565b600061412d602c8361483e565b91506141388261566e565b604082019050919050565b600061415060268361483e565b915061415b826156bd565b604082019050919050565b6000614173602e8361483e565b915061417e8261570c565b604082019050919050565b61419281614a25565b82525050565b6141a181614a53565b82525050565b6141b86141b382614a53565b614bb0565b82525050565b6141cf6141ca82614a5d565b614bba565b82525050565b60006141e18285613c6c565b91506141ed8284613c6c565b91508190509392505050565b600061420582866141be565b60048201915061421582856141a7565b60208201915061422582846141a7565b602082019150819050949350505050565b600060208201905061424b6000830184613bdc565b92915050565b60006080820190506142666000830187613bdc565b6142736020830186613bdc565b6142806040830185614198565b81810360608301526142928184613bfa565b905095945050505050565b60006020820190506142b26000830184613beb565b92915050565b600060208201905081810360008301526142d28184613c33565b905092915050565b600060208201905081810360008301526142f381613c9d565b9050919050565b6000602082019050818103600083015261431381613cc0565b9050919050565b6000602082019050818103600083015261433381613ce3565b9050919050565b6000602082019050818103600083015261435381613d06565b9050919050565b6000602082019050818103600083015261437381613d29565b9050919050565b6000602082019050818103600083015261439381613d4c565b9050919050565b600060208201905081810360008301526143b381613d6f565b9050919050565b600060208201905081810360008301526143d381613d92565b9050919050565b600060208201905081810360008301526143f381613db5565b9050919050565b6000602082019050818103600083015261441381613dd8565b9050919050565b6000602082019050818103600083015261443381613dfb565b9050919050565b6000602082019050818103600083015261445381613e1e565b9050919050565b6000602082019050818103600083015261447381613e41565b9050919050565b6000602082019050818103600083015261449381613e64565b9050919050565b600060208201905081810360008301526144b381613e87565b9050919050565b600060208201905081810360008301526144d381613eaa565b9050919050565b600060208201905081810360008301526144f381613ecd565b9050919050565b6000602082019050818103600083015261451381613ef0565b9050919050565b6000602082019050818103600083015261453381613f13565b9050919050565b6000602082019050818103600083015261455381613f36565b9050919050565b6000602082019050818103600083015261457381613f59565b9050919050565b6000602082019050818103600083015261459381613f7c565b9050919050565b600060208201905081810360008301526145b381613f9f565b9050919050565b600060208201905081810360008301526145d381613fc2565b9050919050565b600060208201905081810360008301526145f381613fe5565b9050919050565b6000602082019050818103600083015261461381614008565b9050919050565b600060208201905081810360008301526146338161402b565b9050919050565b600060208201905081810360008301526146538161404e565b9050919050565b6000602082019050818103600083015261467381614071565b9050919050565b6000602082019050818103600083015261469381614094565b9050919050565b600060208201905081810360008301526146b3816140b7565b9050919050565b600060208201905081810360008301526146d3816140da565b9050919050565b600060208201905081810360008301526146f3816140fd565b9050919050565b6000602082019050818103600083015261471381614120565b9050919050565b6000602082019050818103600083015261473381614143565b9050919050565b6000602082019050818103600083015261475381614166565b9050919050565b600060208201905061476f6000830184614189565b92915050565b600060208201905061478a6000830184614198565b92915050565b600061479a6147ab565b90506147a68282614b0b565b919050565b6000604051905090565b600067ffffffffffffffff8211156147d0576147cf614ce8565b5b6147d982614d2b565b9050602081019050919050565b600067ffffffffffffffff82111561480157614800614ce8565b5b61480a82614d2b565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061486582614a25565b915061487083614a25565b92508261ffff0382111561488757614886614bfd565b5b828201905092915050565b600061489d82614a53565b91506148a883614a53565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156148dd576148dc614bfd565b5b828201905092915050565b60006148f382614a53565b91506148fe83614a53565b92508261490e5761490d614c2c565b5b828204905092915050565b600061492482614a53565b915061492f83614a53565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561496857614967614bfd565b5b828202905092915050565b600061497e82614a25565b915061498983614a25565b92508282101561499c5761499b614bfd565b5b828203905092915050565b60006149b282614a53565b91506149bd83614a53565b9250828210156149d0576149cf614bfd565b5b828203905092915050565b60006149e682614a33565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b82818337600083830152505050565b60005b83811015614a9a578082015181840152602081019050614a7f565b83811115614aa9576000848401525b50505050565b6000614aba82614a25565b91506000821415614ace57614acd614bfd565b5b600182039050919050565b60006002820490506001821680614af157607f821691505b60208210811415614b0557614b04614c5b565b5b50919050565b614b1482614d2b565b810181811067ffffffffffffffff82111715614b3357614b32614ce8565b5b80604052505050565b6000614b4782614a25565b915061ffff821415614b5c57614b5b614bfd565b5b600182019050919050565b6000614b7282614a53565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614ba557614ba4614bfd565b5b600182019050919050565b6000819050919050565b6000614bc582614d3c565b9050919050565b6000614bd782614a53565b9150614be283614a53565b925082614bf257614bf1614c2c565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160e01b9050919050565b7f4552433732313a20746f6b656e204944206e6f742076616c696420286f75742060008201527f6f6620626f756e64732900000000000000000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f417272617954656d702063616e6e6f7420626520696e697a69616c697a65642060008201527f6166746572206d696e74696e6720737461727400000000000000000000000000602082015250565b7f536574206261736520555249206265666f7265207374617274206d696e74696e60008201527f6700000000000000000000000000000000000000000000000000000000000000602082015250565b7f6d696e74696e672070726963652063616e6e6f74206265206d6f64696669656460008201527f206166746572206d696e74696e67207374617274000000000000000000000000602082015250565b7f4d696e74696e67206973206e6f742073746172746564207965742c20706c656160008201527f7365207761697400000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4572726f723a205175616e74697479206d757374206265206174206d6f73742060008201527f3230000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f72616e646f6d4269674e756d6265722063616e6e6f7420626520696e697a696160008201527f6c697a6564206166746572206d696e74696e6720737461727400000000000000602082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4172726179496e64657852616e646f6d2063616e6e6f7420626520696e697a6960008201527f616c697a6564206166746572206d696e74696e67207374617274000000000000602082015250565b7f72616e646f6d4269674e756d62657220697320746f6f206c6f772c207265676560008201527f6e657261746520616e6f74686572000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f417272617954656d70206973206e6f7420696e697a69616c697a656400000000600082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f616c6c206172726179496452616e646f6d2063656c6c73206172652067656e6560008201527f7261746564000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f63616e6e6f742072656164206d696e74696e67206f72646572206f6620746f6b60008201527f656e73206e6f7420616c7265616479206d696e74656400000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f536574207072696365206265666f7265207374617274206d696e74696e670000600082015250565b7f63616e6e6f742072656164206f776e6572206f6620746f6b656e73206e6f742060008201527f616c7265616479206d696e746564000000000000000000000000000000000000602082015250565b7f4572726f723a204e6f7420656e6f75676820746f6b656e73206c656674000000600082015250565b7f4572726f723a2074686520616d6f756e742073656e74206973206e6f7420636f60008201527f72726563742c206974206d7573742062652070726963652a7175616e74697479602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b7f4572726f723a205175616e74697479206d75737420626520677265617465722060008201527f7468616e20300000000000000000000000000000000000000000000000000000602082015250565b7f626173655552492063616e6e6f74206265206d6f64696669656420616674657260008201527f206d696e74696e67207374617274000000000000000000000000000000000000602082015250565b615764816149db565b811461576f57600080fd5b50565b61577b816149ed565b811461578657600080fd5b50565b615792816149f9565b811461579d57600080fd5b50565b6157a981614a25565b81146157b457600080fd5b50565b6157c081614a53565b81146157cb57600080fd5b50565b6157d781614a5d565b81146157e257600080fd5b5056fea2646970667358221220dc890aaf893920d7fd6685bf454223f731a630ac4bdd34fc3d9d220e46deaaba64736f6c63430008070033