function 
		require(msg.sender == oraclize_cbAddress() 
			&& !data.paidOut 
			&& data.player != address(0) 
			&& LIABILITIES >= data.etherReceived);

		
		if (oraclize_randomDS_proofVerify__returnCode(_queryId, _result, _proof) != 0){

			if (REFUNDSACTIVE){
				
				diceData[_queryId].paidOut = true;

				
				LIABILITIES = SafeMath.sub(LIABILITIES, data.etherReceived);

				
				data.player.transfer(data.etherReceived);

				
				emit Refund(_queryId, data.etherReceived);
			}
			
			emit LedgerProofFailed(_queryId);
			
		}