{"documentInfo":{"documentType":"https://xbrl.org/PWD/2026-09-01/compiled","namespaces":{"xbrl":"https://xbrl.org/PWD/2026-09-01","xbrlr":"https://xbrl.org/PWD/2026-09-01/report","xbrla":"https://xbrl.org/PWD/2026-09-01/accounting","xs":"http://www.w3.org/2001/XMLSchema","iso4217":"http://www.xbrl.org/2003/iso4217","utr":"https://xbrl.org/PWD/2026-09-01/utr","rpt":"https://robosystems.ai/tavi/report/0001628280-21-014464","cik":"http://www.sec.gov/CIK","dei":"http://xbrl.sec.gov/dei/2021","us-gaap":"http://fasb.org/us-gaap/2021-01-31","srt":"http://fasb.org/srt/2021-01-31","dtr-types":"http://www.xbrl.org/dtr/type/2020-01-21","xbrli":"http://www.xbrl.org/2003/instance","csbr":"http://championsoncology.com/20210430"},"description":"10-K 0001628280-21-014464 (CIK 0000771856) projected from XBRL by xbrlkit"},"xbrlModel":{"name":"rpt:Report","modelType":"xbrl:report","properties":[{"property":"xbrl:reportFilingDate","value":"2021-07-26"}],"entities":[{"name":"cik:0000771856"}],"units":[{"name":"iso4217:USD","dataType":"xbrlr:monetary"},{"name":"xbrla:shares","dataType":"xbrla:sharesType"},{"name":"rpt:unit-3","dataType":"xbrlr:perShare","compositeUnitRepresentation":["iso4217:USD/xbrla:shares"]},{"name":"csbr:subsidiary","dataType":"xs:decimal"},{"name":"csbr:segment","dataType":"xs:decimal"},{"name":"csbr:asset","dataType":"xs:decimal"}],"dataTypes":[{"name":"xbrli:gMonthDayItemType","baseType":"xs:gMonthDay"},{"name":"dei:fiscalPeriodItemType","baseType":"xs:token"},{"name":"dei:submissionTypeItemType","baseType":"xs:string"},{"name":"dei:stateOrProvinceItemType","baseType":"xs:string"},{"name":"dei:centralIndexKeyItemType","baseType":"xs:token"},{"name":"dei:yesNoItemType","baseType":"xs:token"},{"name":"dei:fileNumberItemType","baseType":"xs:string"},{"name":"dei:filerCategoryItemType","baseType":"xs:string"},{"name":"dei:edgarStateCountryItemType","baseType":"xs:string"},{"name":"dei:employerIdItemType","baseType":"xs:token"},{"name":"dei:securityTitleItemType","baseType":"xs:normalizedString"},{"name":"dei:edgarExchangeCodeItemType","baseType":"xs:normalizedString"},{"name":"dei:tradingSymbolItemType","baseType":"xs:normalizedString"}],"concepts":[{"name":"csbr:AccountsReceivableUnbilledServicesAndDeferredRevenueTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"csbr:CollaborationArrangementRoyaltyFee","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"csbr:CostOfOncologySolutionsPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"csbr:DeferredTaxAssetsTaxDeferredExpenseRightOfUseAssetLiability","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:DeferredTaxLiabilityDeferredExpenseDepreciationAndAmortization","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:EffectiveIncomeTaxRateReconciliationIncreaseInUncertainTaxPosition","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"csbr:EffectiveIncomeTaxRateReconciliationPermanentDifferences","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"csbr:FinanceLeaseCost","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:FinanceLeaseDepreciationandAmortizationExpenses","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:FinanceLeaseMonthlyPayment","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:IncreaseDecreaseInOperatingLeaseLiabilities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:NumberOfAssetsAcquired","dataType":"xs:integer","periodType":"duration","nillable":true},{"name":"csbr:NumberofOperatingSubsidiaries","dataType":"xs:integer","periodType":"duration","nillable":true},{"name":"csbr:OperatingLeaseIncrementalRentExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:OperatingLossCarryforwardsLimitationsOnUseAmount","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:OtherLongTermAssetsPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"csbr:OtherNoncurrentLiabilitiesPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"csbr:PresentValueMinimumFutureObligationsInterestRate","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"csbr:ProceedsFromExerciseOfOptionsAndWarrants","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:ProceedsFromRefundOfSecurityDeposit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:ScheduleOfShareBasedCompensationWarrantsActivityTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsGrantInPeriodWeightedAverageRemainingContractualTerm","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedPercentage","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsOutstanding","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsExercisesInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsExpirationsInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsForfeituresInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"csbr:SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisedInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExpired","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueForfeited","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsAggregateIntrinsicValueGranted","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"csbr:StockIssuedDuringPeriodSharesStockOptionsAndWarrantsExercised","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"csbr:StockOptionsAwardSharesToPurchaseCommonStock","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"csbr:StockOptionsAwardSharesToPurchaseUnregisteredCommonStock","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"csbr:TradeAccountsReceivable","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:WorkingCapital","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"dei:AmendmentFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:CityAreaCode","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:CurrentFiscalYearEndDate","dataType":"xbrli:gMonthDayItemType","periodType":"duration","nillable":true},{"name":"dei:DocumentAnnualReport","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:DocumentFiscalPeriodFocus","dataType":"dei:fiscalPeriodItemType","periodType":"duration","nillable":true},{"name":"dei:DocumentFiscalYearFocus","dataType":"xs:gYear","periodType":"duration","nillable":true},{"name":"dei:DocumentPeriodEndDate","dataType":"xs:date","periodType":"duration","nillable":true},{"name":"dei:DocumentTransitionReport","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:DocumentType","dataType":"dei:submissionTypeItemType","periodType":"duration","nillable":true},{"name":"dei:DocumentsIncorporatedByReferenceTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"dei:EntityAddressAddressLine1","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:EntityAddressCityOrTown","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:EntityAddressPostalZipCode","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:EntityAddressStateOrProvince","dataType":"dei:stateOrProvinceItemType","periodType":"duration","nillable":true},{"name":"dei:EntityCentralIndexKey","dataType":"dei:centralIndexKeyItemType","periodType":"duration","nillable":true},{"name":"dei:EntityCommonStockSharesOutstanding","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"dei:EntityCurrentReportingStatus","dataType":"dei:yesNoItemType","periodType":"duration","nillable":true},{"name":"dei:EntityEmergingGrowthCompany","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:EntityFileNumber","dataType":"dei:fileNumberItemType","periodType":"duration","nillable":true},{"name":"dei:EntityFilerCategory","dataType":"dei:filerCategoryItemType","periodType":"duration","nillable":true},{"name":"dei:EntityIncorporationStateCountryCode","dataType":"dei:edgarStateCountryItemType","periodType":"duration","nillable":true},{"name":"dei:EntityInteractiveDataCurrent","dataType":"dei:yesNoItemType","periodType":"duration","nillable":true},{"name":"dei:EntityPublicFloat","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"dei:EntityRegistrantName","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:EntityShellCompany","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:EntitySmallBusiness","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:EntityTaxIdentificationNumber","dataType":"dei:employerIdItemType","periodType":"duration","nillable":true},{"name":"dei:EntityVoluntaryFilers","dataType":"dei:yesNoItemType","periodType":"duration","nillable":true},{"name":"dei:EntityWellKnownSeasonedIssuer","dataType":"dei:yesNoItemType","periodType":"duration","nillable":true},{"name":"dei:IcfrAuditorAttestationFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:LocalPhoneNumber","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"dei:Security12bTitle","dataType":"dei:securityTitleItemType","periodType":"duration","nillable":true},{"name":"dei:SecurityExchangeName","dataType":"dei:edgarExchangeCodeItemType","periodType":"duration","nillable":true},{"name":"dei:TradingSymbol","dataType":"dei:tradingSymbolItemType","periodType":"duration","nillable":true},{"name":"us-gaap:AccountsPayableCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AccountsReceivableGross","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AccountsReceivableNetCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AccruedLiabilitiesCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationSaleOfPropertyPlantAndEquipment1","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AdditionalPaidInCapitalCommonStock","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AdvanceRent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AllocatedShareBasedCompensationExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AllowanceForDoubtfulAccountsReceivable","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:Assets","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AssetsCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:BasisOfAccountingPolicyPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:CapitalExpendituresIncurredButNotYetPaid","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:CapitalLeaseObligationsIncurred","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:Cash","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CashEquivalentsAtCarryingValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:CommonStockParOrStatedValuePerShare","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:CommonStockSharesAuthorized","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:CommonStockSharesIssued","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:CommonStockSharesOutstanding","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:CommonStockValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:ConcentrationRiskDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ConsolidationPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ContractWithCustomerLiabilityCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:CostOfGoodsAndServicesSold","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CostOfSalesPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:CurrentFederalTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CurrentForeignTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CurrentIncomeTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsGross","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsLiabilitiesNet","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsValuationAllowance","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:Depreciation","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DepreciationAndAmortization","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DepreciationDepletionAndAmortization","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DisaggregationOfRevenueTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:EarningsPerShareBasic","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:EarningsPerShareDiluted","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:EarningsPerSharePolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:EarningsPerShareTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseImpairmentLosses","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:FairValueMeasurementPolicyPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:FinanceLeaseLiabilityCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseLiabilityPaymentsDue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeasePrincipalPayments","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseRightOfUseAsset","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:GainLossOnTerminationOfLease","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:GeneralAndAdministrativeExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:Goodwill","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:GoodwillImpairmentLoss","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:HostingArrangementServiceContractImplementationCostCapitalizedAccumulatedAmortization","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:HostingArrangementServiceContractImplementationCostCapitalizedBeforeAccumulatedAmortization","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:HostingArrangementServiceContractImplementationCostExpenseAmortization","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ImpairmentOfLongLivedAssetsHeldForUse","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncomeTaxDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:IncomeTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncomeTaxPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:IncreaseDecreaseInAccountsPayable","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInAccountsReceivable","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncreaseDecreaseInAccruedLiabilities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInDeferredRevenue","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:LesseeLeasesPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LesseeOperatingLeaseRenewalTerm","dataType":"xbrlr:duration","periodType":"instant","nillable":true},{"name":"us-gaap:LesseeOperatingLeasesTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:Liabilities","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LiabilitiesAndStockholdersEquity","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LiabilitiesCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:NetCashProvidedByUsedInFinancingActivities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:NetCashProvidedByUsedInInvestingActivities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:NetCashProvidedByUsedInOperatingActivities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"us-gaap:NetIncomeLoss","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:NumberOfReportableSegments","dataType":"xs:integer","periodType":"duration","nillable":true},{"name":"us-gaap:OperatingCostsAndExpenses","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OperatingIncomeLoss","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeaseExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OperatingLeaseLiability","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeaseLiabilityCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeaseLiabilityNoncurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OperatingLeaseRightOfUseAsset","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","dataType":"xbrlr:percent","periodType":"instant","nillable":true},{"name":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","dataType":"xbrlr:duration","periodType":"instant","nillable":true},{"name":"us-gaap:OperatingLossCarryforwards","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OperatingLossCarryforwardsValuationAllowance","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:OtherAssetsNoncurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:OtherLiabilitiesNoncurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:OtherNonoperatingIncomeExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ProceedsFromWarrantExercises","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:PropertyPlantAndEquipmentDisposals","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PropertyPlantAndEquipmentGross","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:PropertyPlantAndEquipmentNet","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:PropertyPlantAndEquipmentPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:PropertyPlantAndEquipmentTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:PropertyPlantAndEquipmentUsefulLife","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:ProvisionForDoubtfulAccounts","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:RelatedPartyTransactionsDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ResearchAndDevelopmentExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ResearchAndDevelopmentExpensePolicy","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:RetainedEarningsAccumulatedDeficit","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:RevenueFromContractWithCustomerTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","dataType":"xbrlr:duration","periodType":"instant","nillable":true},{"name":"us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:RoyaltyExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:SellingAndMarketingExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ShareBasedCompensation","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodIntrinsicValue","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:SharesOutstanding","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:SignificantAccountingPoliciesTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:StockIssuedDuringPeriodSharesOther","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:StockIssuedDuringPeriodValueOther","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:StockholdersEquity","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:SubsequentEventsTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","dataType":"xbrlr:enumeration","periodType":"duration","nillable":true},{"name":"us-gaap:TypeOfRevenueExtensibleList","dataType":"xbrlr:enumeration","periodType":"duration","nillable":true},{"name":"us-gaap:UnbilledContractsReceivable","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:UnrecognizedTaxBenefits","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:UseOfEstimates","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","dataType":"xbrla:sharesType","periodType":"duration","nillable":true}],"headings":[{"name":"csbr:CommitmentsAndContingenciesLineItems"},{"name":"csbr:CommitmentsAndContingenciesTable"},{"name":"dei:CoverAbstract"},{"name":"us-gaap:AccountingPoliciesAbstract"},{"name":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"},{"name":"us-gaap:AssetsAbstract"},{"name":"us-gaap:AssetsCurrentAbstract"},{"name":"us-gaap:ClassOfStockLineItems"},{"name":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract"},{"name":"us-gaap:DisaggregationOfRevenueLineItems"},{"name":"us-gaap:DisaggregationOfRevenueTable"},{"name":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"},{"name":"us-gaap:EarningsPerShareAbstract"},{"name":"us-gaap:EarningsPerShareBasicAbstract"},{"name":"us-gaap:EarningsPerShareBasicOtherDisclosuresAbstract"},{"name":"us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"},{"name":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract"},{"name":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperationsAbstract"},{"name":"us-gaap:IncomeStatementAbstract"},{"name":"us-gaap:IncomeTaxDisclosureAbstract"},{"name":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract"},{"name":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward"},{"name":"us-gaap:LeasesAbstract"},{"name":"us-gaap:LesseeLeaseDescriptionLineItems"},{"name":"us-gaap:LesseeLeaseDescriptionTable"},{"name":"us-gaap:LiabilitiesAndStockholdersEquityAbstract"},{"name":"us-gaap:LiabilitiesCurrentAbstract"},{"name":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract"},{"name":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract"},{"name":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract"},{"name":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract"},{"name":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract"},{"name":"us-gaap:NoncashInvestingAndFinancingItemsAbstract"},{"name":"us-gaap:NonoperatingIncomeExpenseAbstract"},{"name":"us-gaap:OperatingExpensesAbstract"},{"name":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract"},{"name":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"},{"name":"us-gaap:PropertyPlantAndEquipmentAbstract"},{"name":"us-gaap:PropertyPlantAndEquipmentLineItems"},{"name":"us-gaap:ReceivablesAbstract"},{"name":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward"},{"name":"us-gaap:RelatedPartyTransactionLineItems"},{"name":"us-gaap:RelatedPartyTransactionsAbstract"},{"name":"us-gaap:RevenueFromContractWithCustomerAbstract"},{"name":"us-gaap:RisksAndUncertaintiesAbstract"},{"name":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"},{"name":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable"},{"name":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable"},{"name":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"},{"name":"us-gaap:ScheduleOfStockByClassTable"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"},{"name":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract"},{"name":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperationsAbstract"},{"name":"us-gaap:StatementLineItems"},{"name":"us-gaap:StatementOfCashFlowsAbstract"},{"name":"us-gaap:StatementOfFinancialPositionAbstract"},{"name":"us-gaap:StatementOfStockholdersEquityAbstract"},{"name":"us-gaap:StatementTable"},{"name":"us-gaap:StockholdersEquityAbstract"},{"name":"us-gaap:SubsequentEventsAbstract"}],"dimensions":[{"name":"srt:CounterpartyNameAxis","domainClass":"srt:RepurchaseAgreementCounterpartyNameDomain"},{"name":"srt:ProductOrServiceAxis","domainClass":"srt:ProductsAndServicesDomain"},{"name":"srt:RangeAxis","domainClass":"srt:RangeMember"},{"name":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","domainClass":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"},{"name":"srt:RestatementAxis","domainClass":"srt:RestatementDomain"},{"name":"srt:TitleOfIndividualAxis","domainClass":"srt:TitleOfIndividualWithRelationshipToEntityDomain"},{"name":"us-gaap:AdjustmentsForNewAccountingPronouncementsAxis","domainClass":"us-gaap:TypeOfAdoptionMember"},{"name":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis","domainClass":"us-gaap:AntidilutiveSecuritiesNameDomain"},{"name":"us-gaap:IncomeStatementLocationAxis","domainClass":"us-gaap:IncomeStatementLocationDomain"},{"name":"us-gaap:PlanNameAxis","domainClass":"us-gaap:PlanNameDomain"},{"name":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","domainClass":"us-gaap:PropertyPlantAndEquipmentTypeDomain"},{"name":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"},{"name":"us-gaap:StatementEquityComponentsAxis","domainClass":"us-gaap:EquityComponentDomain"}],"domainClasses":[{"name":"srt:ProductsAndServicesDomain"},{"name":"srt:RangeMember"},{"name":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"},{"name":"srt:RepurchaseAgreementCounterpartyNameDomain"},{"name":"srt:RestatementDomain"},{"name":"srt:TitleOfIndividualWithRelationshipToEntityDomain"},{"name":"us-gaap:AntidilutiveSecuritiesNameDomain"},{"name":"us-gaap:EquityComponentDomain"},{"name":"us-gaap:IncomeStatementLocationDomain"},{"name":"us-gaap:PlanNameDomain"},{"name":"us-gaap:PropertyPlantAndEquipmentTypeDomain"},{"name":"us-gaap:TypeOfAdoptionMember"}],"domainNetworks":[{"name":"rpt:domain-0","root":"us-gaap:EquityComponentDomain","relationships":[{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:CommonStockMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:TreasuryStockMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:AdditionalPaidInCapitalMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:RetainedEarningsMember"}]},{"name":"rpt:domain-1","root":"srt:RestatementDomain","relationships":[{"source":"srt:RestatementDomain","target":"srt:ScenarioPreviouslyReportedMember"},{"source":"srt:RestatementDomain","target":"srt:RestatementAdjustmentMember"}]},{"name":"rpt:domain-2","root":"srt:RangeMember","relationships":[{"source":"srt:RangeMember","target":"srt:MinimumMember"},{"source":"srt:RangeMember","target":"srt:MaximumMember"}]},{"name":"rpt:domain-3","root":"us-gaap:AntidilutiveSecuritiesNameDomain","relationships":[{"source":"us-gaap:AntidilutiveSecuritiesNameDomain","target":"us-gaap:EmployeeStockOptionMember"}]},{"name":"rpt:domain-4","root":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","relationships":[{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:CorporateHeadquartersMember"},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:RockvilleMDMember"},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:RockvilleMDNewLocationMember"}]},{"name":"rpt:domain-5","root":"us-gaap:PropertyPlantAndEquipmentTypeDomain","relationships":[{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"csbr:FinanceLeasedAssetsMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:OtherMachineryAndEquipmentMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:AssetUnderConstructionMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"csbr:TradedinAssetsMember"}]},{"name":"rpt:domain-6","root":"us-gaap:PropertyPlantAndEquipmentTypeDomain","relationships":[{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:FurnitureAndFixturesMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:ComputerEquipmentMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:OtherMachineryAndEquipmentMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:AssetUnderConstructionMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:LeaseholdImprovementsMember"}]},{"name":"rpt:domain-7","root":"srt:RepurchaseAgreementCounterpartyNameDomain","relationships":[{"source":"srt:RepurchaseAgreementCounterpartyNameDomain","target":"csbr:BoardMemberOneMember"},{"source":"srt:RepurchaseAgreementCounterpartyNameDomain","target":"csbr:BoardMemberTwoMember"}]},{"name":"rpt:domain-8","root":"srt:TitleOfIndividualWithRelationshipToEntityDomain","relationships":[{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"srt:BoardOfDirectorsChairmanMember"}]},{"name":"rpt:domain-9","root":"srt:ProductsAndServicesDomain","relationships":[{"source":"srt:ProductsAndServicesDomain","target":"csbr:PharmacologyServicesMember"},{"source":"srt:ProductsAndServicesDomain","target":"csbr:PersonalizedOncologyServicesMember"},{"source":"srt:ProductsAndServicesDomain","target":"csbr:OtherServicesMember"}]},{"name":"rpt:domain-10","root":"srt:ProductsAndServicesDomain","relationships":[{"source":"srt:ProductsAndServicesDomain","target":"csbr:FewContractsMember"}]},{"name":"rpt:domain-11","root":"us-gaap:IncomeStatementLocationDomain","relationships":[{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:GeneralAndAdministrativeExpenseMember"},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:SellingAndMarketingExpenseMember"},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:ResearchAndDevelopmentExpenseMember"},{"source":"us-gaap:IncomeStatementLocationDomain","target":"csbr:TranslationalOncologySolutionsCostOfSalesMember"},{"source":"us-gaap:IncomeStatementLocationDomain","target":"csbr:PersonalizedOncologySolutionsCostOfSalesMember"}]},{"name":"rpt:domain-12","root":"us-gaap:PlanNameDomain","relationships":[{"source":"us-gaap:PlanNameDomain","target":"csbr:EquityIncentivePlan2010Member"},{"source":"us-gaap:PlanNameDomain","target":"csbr:TwoThousandEightEquityIncentivePlanMember"},{"source":"us-gaap:PlanNameDomain","target":"csbr:DirectorCompensationPlanMember"}]},{"name":"rpt:domain-13","root":"srt:RangeMember","relationships":[{"source":"srt:RangeMember","target":"srt:MaximumMember"}]},{"name":"rpt:domain-14","root":"srt:TitleOfIndividualWithRelationshipToEntityDomain","relationships":[{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"csbr:NonEmployeesMember"},{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"csbr:DirectorsAndEmployeesMember"}]},{"name":"rpt:domain-15","root":"us-gaap:EquityComponentDomain","relationships":[{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:WarrantMember"}]},{"name":"rpt:domain-16","root":"us-gaap:TypeOfAdoptionMember","relationships":[{"source":"us-gaap:TypeOfAdoptionMember","target":"us-gaap:AccountingStandardsUpdate201602Member"}]},{"name":"rpt:domain-17","root":"srt:RestatementDomain","relationships":[{"source":"srt:RestatementDomain","target":"srt:RestatementAdjustmentMember"}]}],"members":[{"name":"csbr:BoardMemberOneMember","domainClasses":["srt:RepurchaseAgreementCounterpartyNameDomain"]},{"name":"csbr:BoardMemberTwoMember","domainClasses":["srt:RepurchaseAgreementCounterpartyNameDomain"]},{"name":"csbr:CorporateHeadquartersMember","domainClasses":["srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"]},{"name":"csbr:DirectorCompensationPlanMember","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"csbr:DirectorsAndEmployeesMember","domainClasses":["srt:TitleOfIndividualWithRelationshipToEntityDomain"]},{"name":"csbr:EquityIncentivePlan2010Member","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"csbr:FewContractsMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"csbr:FinanceLeasedAssetsMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"csbr:NonEmployeesMember","domainClasses":["srt:TitleOfIndividualWithRelationshipToEntityDomain"]},{"name":"csbr:OtherServicesMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"csbr:PersonalizedOncologyServicesMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"csbr:PersonalizedOncologySolutionsCostOfSalesMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"csbr:PharmacologyServicesMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"csbr:RockvilleMDMember","domainClasses":["srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"]},{"name":"csbr:RockvilleMDNewLocationMember","domainClasses":["srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"]},{"name":"csbr:TradedinAssetsMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"csbr:TranslationalOncologySolutionsCostOfSalesMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"csbr:TwoThousandEightEquityIncentivePlanMember","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"srt:BoardOfDirectorsChairmanMember","domainClasses":["srt:TitleOfIndividualWithRelationshipToEntityDomain"]},{"name":"srt:MaximumMember","domainClasses":["srt:RangeMember"]},{"name":"srt:MinimumMember","domainClasses":["srt:RangeMember"]},{"name":"srt:RestatementAdjustmentMember","domainClasses":["srt:RestatementDomain"]},{"name":"srt:ScenarioPreviouslyReportedMember","domainClasses":["srt:RestatementDomain"]},{"name":"us-gaap:AccountingStandardsUpdate201602Member","domainClasses":["us-gaap:TypeOfAdoptionMember"]},{"name":"us-gaap:AdditionalPaidInCapitalMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:AssetUnderConstructionMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:CommonStockMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:ComputerEquipmentMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:EmployeeStockOptionMember","domainClasses":["us-gaap:AntidilutiveSecuritiesNameDomain"]},{"name":"us-gaap:FurnitureAndFixturesMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:GeneralAndAdministrativeExpenseMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"us-gaap:LeaseholdImprovementsMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:OtherMachineryAndEquipmentMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:ResearchAndDevelopmentExpenseMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"us-gaap:RetainedEarningsMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:SellingAndMarketingExpenseMember","domainClasses":["us-gaap:IncomeStatementLocationDomain"]},{"name":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:TreasuryStockMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:WarrantMember","domainClasses":["us-gaap:EquityComponentDomain"]}],"cubes":[{"name":"rpt:cube-0","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:StatementEquityComponentsAxis","domainNetwork":"rpt:domain-0","optional":true},{"dimension":"srt:RestatementAxis","domainNetwork":"rpt:domain-1","optional":true}]},{"name":"rpt:cube-1","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-2","optional":true}]},{"name":"rpt:cube-2","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis","domainNetwork":"rpt:domain-3","optional":true}]},{"name":"rpt:cube-3","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","domainNetwork":"rpt:domain-4","optional":true}]},{"name":"rpt:cube-4","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","domainNetwork":"rpt:domain-5","optional":true}]},{"name":"rpt:cube-5","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","domainNetwork":"rpt:domain-6","optional":true}]},{"name":"rpt:cube-6","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:CounterpartyNameAxis","domainNetwork":"rpt:domain-7","optional":true},{"dimension":"srt:TitleOfIndividualAxis","domainNetwork":"rpt:domain-8","optional":true}]},{"name":"rpt:cube-7","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:ProductOrServiceAxis","domainNetwork":"rpt:domain-9","optional":true}]},{"name":"rpt:cube-8","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-2","optional":true},{"dimension":"srt:ProductOrServiceAxis","domainNetwork":"rpt:domain-10","optional":true}]},{"name":"rpt:cube-9","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-2","optional":true},{"dimension":"srt:ProductOrServiceAxis","domainNetwork":"rpt:domain-10","optional":true}]},{"name":"rpt:cube-10","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:IncomeStatementLocationAxis","domainNetwork":"rpt:domain-11","optional":true}]},{"name":"rpt:cube-11","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:PlanNameAxis","domainNetwork":"rpt:domain-12","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-13","optional":true},{"dimension":"srt:TitleOfIndividualAxis","domainNetwork":"rpt:domain-8","optional":true}]},{"name":"rpt:cube-12","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:TitleOfIndividualAxis","domainNetwork":"rpt:domain-14","optional":true}]},{"name":"rpt:cube-13","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-2","optional":true}]},{"name":"rpt:cube-14","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"us-gaap:StatementEquityComponentsAxis","domainNetwork":"rpt:domain-15","optional":true}]},{"name":"rpt:cube-15","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:RestatementAxis","domainNetwork":"rpt:domain-1","optional":true}]},{"name":"rpt:cube-16","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-2","optional":true},{"dimension":"us-gaap:AdjustmentsForNewAccountingPronouncementsAxis","domainNetwork":"rpt:domain-16","optional":true},{"dimension":"srt:RestatementAxis","domainNetwork":"rpt:domain-17","optional":true}]},{"name":"rpt:cube-undimensioned","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true}]}],"labels":[{"forObject":"csbr:AccountsReceivableUnbilledServicesAndDeferredRevenueTextBlock","labelType":"xbrl:terseLabel","value":"Accounts Receivable, Unbilled Services and Deferred Revenue","language":"en-US"},{"forObject":"csbr:AccountsReceivableUnbilledServicesAndDeferredRevenueTextBlock","labelType":"xbrl:label","value":"Accounts Receivable, Unbilled Services And Deferred Revenue [Text Block]","language":"en-US"},{"forObject":"csbr:AccountsReceivableUnbilledServicesAndDeferredRevenueTextBlock","labelType":"xbrl:documentation","value":"Accounts Receivable, Unbilled Services And Deferred Revenue [Text Block]","language":"en-US"},{"forObject":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","labelType":"xbrl:terseLabel","value":"Assets and Liabilities","language":"en-US"},{"forObject":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","labelType":"xbrl:label","value":"Assets And Liabilities, Lessee [Table Text Block]","language":"en-US"},{"forObject":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","labelType":"xbrl:documentation","value":"Assets And Liabilities, Lessee [Text Block]","language":"en-US"},{"forObject":"csbr:BoardMemberOneMember","labelType":"xbrl:terseLabel","value":"Board Member One","language":"en-US"},{"forObject":"csbr:BoardMemberOneMember","labelType":"xbrl:label","value":"Board Member One [Member]","language":"en-US"},{"forObject":"csbr:BoardMemberOneMember","labelType":"xbrl:documentation","value":"Board Member One [Member]","language":"en-US"},{"forObject":"csbr:BoardMemberTwoMember","labelType":"xbrl:terseLabel","value":"Board Member Two","language":"en-US"},{"forObject":"csbr:BoardMemberTwoMember","labelType":"xbrl:label","value":"Board Member Two [Member]","language":"en-US"},{"forObject":"csbr:BoardMemberTwoMember","labelType":"xbrl:documentation","value":"Board Member Two [Member]","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFee","labelType":"xbrl:terseLabel","value":"Royalty fee per tumor sample","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFee","labelType":"xbrl:label","value":"Collaboration Arrangement Royalty Fee","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFee","labelType":"xbrl:documentation","value":"Collaboration Arrangement Royalty Fee","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","labelType":"xbrl:terseLabel","value":"Royalty payment, as percent of contract price","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","labelType":"xbrl:label","value":"Collaboration Arrangement, Royalty Fee, Percent Of Contract Price","language":"en-US"},{"forObject":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","labelType":"xbrl:documentation","value":"Collaboration Arrangement, Royalty Fee, Percent Of Contract Price","language":"en-US"},{"forObject":"csbr:CommitmentsAndContingenciesLineItems","labelType":"xbrl:verboseLabel","value":"Commitments and Contingencies [Line Items]","language":"en-US"},{"forObject":"csbr:CommitmentsAndContingenciesLineItems","labelType":"xbrl:label","value":"Commitments and Contingencies [Line Items]","language":"en-US"},{"forObject":"csbr:CommitmentsAndContingenciesTable","labelType":"xbrl:terseLabel","value":"Commitments and Contingencies [Table]","language":"en-US"},{"forObject":"csbr:CommitmentsAndContingenciesTable","labelType":"xbrl:label","value":"Commitments and Contingencies [Table]","language":"en-US"},{"forObject":"csbr:CorporateHeadquartersMember","labelType":"xbrl:terseLabel","value":"Corporate Headquarters","language":"en-US"},{"forObject":"csbr:CorporateHeadquartersMember","labelType":"xbrl:label","value":"Corporate Headquarters [Member]","language":"en-US"},{"forObject":"csbr:CostOfOncologySolutionsPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Cost of Oncology Solutions","language":"en-US"},{"forObject":"csbr:CostOfOncologySolutionsPolicyTextBlock","labelType":"xbrl:label","value":"Cost Of Oncology Solutions [Policy Text Block]","language":"en-US"},{"forObject":"csbr:CostOfOncologySolutionsPolicyTextBlock","labelType":"xbrl:documentation","value":"Disclosure of accounting policy for cost of oncology solutions during the reporting period.","language":"en-US"},{"forObject":"csbr:DeferredTaxAssetsTaxDeferredExpenseRightOfUseAssetLiability","labelType":"xbrl:terseLabel","value":"Right of use, net asset/liability","language":"en-US"},{"forObject":"csbr:DeferredTaxAssetsTaxDeferredExpenseRightOfUseAssetLiability","labelType":"xbrl:label","value":"Deferred Tax Assets, Tax Deferred Expense, Right Of Use Asset (Liability)","language":"en-US"},{"forObject":"csbr:DeferredTaxAssetsTaxDeferredExpenseRightOfUseAssetLiability","labelType":"xbrl:documentation","value":"Deferred Tax Assets, Tax Deferred Expense, Right Of Use Asset (Liability)","language":"en-US"},{"forObject":"csbr:DeferredTaxLiabilityDeferredExpenseDepreciationAndAmortization","labelType":"xbrl:negatedTerseLabel","value":"Depreciation and amortization","language":"en-US"},{"forObject":"csbr:DeferredTaxLiabilityDeferredExpenseDepreciationAndAmortization","labelType":"xbrl:label","value":"Deferred Tax Liability Deferred Expense Depreciation And Amortization","language":"en-US"},{"forObject":"csbr:DeferredTaxLiabilityDeferredExpenseDepreciationAndAmortization","labelType":"xbrl:documentation","value":"Amount before allocation of valuation allowances of deferred tax liability attributable to deductible temporary differences from depreciation and amortization.","language":"en-US"},{"forObject":"csbr:DirectorCompensationPlanMember","labelType":"xbrl:terseLabel","value":"Director Compensation Plan","language":"en-US"},{"forObject":"csbr:DirectorCompensationPlanMember","labelType":"xbrl:label","value":"Director Compensation Plan [Member]","language":"en-US"},{"forObject":"csbr:DirectorsAndEmployeesMember","labelType":"xbrl:terseLabel","value":"Directors and Employees","language":"en-US"},{"forObject":"csbr:DirectorsAndEmployeesMember","labelType":"xbrl:label","value":"Directors and Employees [Member]","language":"en-US"},{"forObject":"csbr:EffectiveIncomeTaxRateReconciliationIncreaseInUncertainTaxPosition","labelType":"xbrl:negatedLabel","value":"Increase in uncertain tax position","language":"en-US"},{"forObject":"csbr:EffectiveIncomeTaxRateReconciliationIncreaseInUncertainTaxPosition","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation Increase in uncertain tax position","language":"en-US"},{"forObject":"csbr:EffectiveIncomeTaxRateReconciliationIncreaseInUncertainTaxPosition","labelType":"xbrl:documentation","value":"Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to Increase in uncertain tax position.","language":"en-US"},{"forObject":"csbr:EffectiveIncomeTaxRateReconciliationPermanentDifferences","labelType":"xbrl:negatedLabel","value":"Permanent differences","language":"en-US"},{"forObject":"csbr:EffectiveIncomeTaxRateReconciliationPermanentDifferences","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation Permanent Differences","language":"en-US"},{"forObject":"csbr:EffectiveIncomeTaxRateReconciliationPermanentDifferences","labelType":"xbrl:documentation","value":"Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to permanent differences.","language":"en-US"},{"forObject":"csbr:EquityIncentivePlan2010Member","labelType":"xbrl:terseLabel","value":"Equity Incentive Plan 2010","language":"en-US"},{"forObject":"csbr:EquityIncentivePlan2010Member","labelType":"xbrl:label","value":"Equity Incentive Plan 2010 [Member]","language":"en-US"},{"forObject":"csbr:FewContractsMember","labelType":"xbrl:terseLabel","value":"Few Contracts","language":"en-US"},{"forObject":"csbr:FewContractsMember","labelType":"xbrl:label","value":"Few Contracts [Member]","language":"en-US"},{"forObject":"csbr:FewContractsMember","labelType":"xbrl:documentation","value":"Few contracts.","language":"en-US"},{"forObject":"csbr:FinanceLeaseCost","labelType":"xbrl:terseLabel","value":"Finance lease costs","language":"en-US"},{"forObject":"csbr:FinanceLeaseCost","labelType":"xbrl:label","value":"Finance Lease, Cost","language":"en-US"},{"forObject":"csbr:FinanceLeaseCost","labelType":"xbrl:documentation","value":"Finance Lease, Cost","language":"en-US"},{"forObject":"csbr:FinanceLeaseDepreciationandAmortizationExpenses","labelType":"xbrl:terseLabel","value":"Finance lease, depreciation and amortization expenses","language":"en-US"},{"forObject":"csbr:FinanceLeaseDepreciationandAmortizationExpenses","labelType":"xbrl:label","value":"Finance Lease, Depreciation and Amortization Expenses","language":"en-US"},{"forObject":"csbr:FinanceLeaseDepreciationandAmortizationExpenses","labelType":"xbrl:documentation","value":"Finance Lease, Depreciation and Amortization Expenses","language":"en-US"},{"forObject":"csbr:FinanceLeaseMonthlyPayment","labelType":"xbrl:terseLabel","value":"Finance leases monthly payments","language":"en-US"},{"forObject":"csbr:FinanceLeaseMonthlyPayment","labelType":"xbrl:label","value":"Finance Lease, Monthly Payment","language":"en-US"},{"forObject":"csbr:FinanceLeaseMonthlyPayment","labelType":"xbrl:documentation","value":"Finance Lease, Monthly Payment","language":"en-US"},{"forObject":"csbr:FinanceLeasedAssetsMember","labelType":"xbrl:terseLabel","value":"Finance Leased Assets","language":"en-US"},{"forObject":"csbr:FinanceLeasedAssetsMember","labelType":"xbrl:label","value":"Finance Leased Assets [Member]","language":"en-US"},{"forObject":"csbr:FinanceLeasedAssetsMember","labelType":"xbrl:documentation","value":"Finance Leased Assets [Member]","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseLiabilities","labelType":"xbrl:negatedTerseLabel","value":"Operating lease liabilities","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseLiabilities","labelType":"xbrl:label","value":"Increase (Decrease) In Operating Lease Liabilities","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseLiabilities","labelType":"xbrl:documentation","value":"Increase (Decrease) In Operating Lease Liabilities","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","labelType":"xbrl:terseLabel","value":"Operating lease right-of-use assets","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","labelType":"xbrl:label","value":"Increase (Decrease) In Operating Lease, Right Of Use Assets","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","labelType":"xbrl:documentation","value":"Increase (Decrease) In Operating Lease, Right Of Use Assets","language":"en-US"},{"forObject":"csbr:NonEmployeesMember","labelType":"xbrl:verboseLabel","value":"Non- Employees","language":"en-US"},{"forObject":"csbr:NonEmployeesMember","labelType":"xbrl:label","value":"Non Employees [Member]","language":"en-US"},{"forObject":"csbr:NumberOfAssetsAcquired","labelType":"xbrl:terseLabel","value":"Number of assets acquired","language":"en-US"},{"forObject":"csbr:NumberOfAssetsAcquired","labelType":"xbrl:label","value":"Number Of Assets Acquired","language":"en-US"},{"forObject":"csbr:NumberOfAssetsAcquired","labelType":"xbrl:documentation","value":"Number Of Assets Acquired","language":"en-US"},{"forObject":"csbr:NumberofOperatingSubsidiaries","labelType":"xbrl:terseLabel","value":"Number of operating subsidiaries","language":"en-US"},{"forObject":"csbr:NumberofOperatingSubsidiaries","labelType":"xbrl:label","value":"Number of Operating Subsidiaries","language":"en-US"},{"forObject":"csbr:NumberofOperatingSubsidiaries","labelType":"xbrl:documentation","value":"Number of Operating Subsidiaries","language":"en-US"},{"forObject":"csbr:OperatingLeaseIncrementalRentExpense","labelType":"xbrl:terseLabel","value":"Operating lease incremental rent expense","language":"en-US"},{"forObject":"csbr:OperatingLeaseIncrementalRentExpense","labelType":"xbrl:label","value":"Operating Lease Incremental Rent Expense","language":"en-US"},{"forObject":"csbr:OperatingLeaseIncrementalRentExpense","labelType":"xbrl:documentation","value":"Operating Lease Incremental Rent Expense","language":"en-US"},{"forObject":"csbr:OperatingLossCarryforwardsLimitationsOnUseAmount","labelType":"xbrl:terseLabel","value":"Operating loss, limitations on use","language":"en-US"},{"forObject":"csbr:OperatingLossCarryforwardsLimitationsOnUseAmount","labelType":"xbrl:label","value":"Operating Loss Carryforwards, Limitations On Use, Amount","language":"en-US"},{"forObject":"csbr:OperatingLossCarryforwardsLimitationsOnUseAmount","labelType":"xbrl:documentation","value":"Operating Loss Carryforwards, Limitations On Use, Amount","language":"en-US"},{"forObject":"csbr:OtherLongTermAssetsPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Other Long Term Assets","language":"en-US"},{"forObject":"csbr:OtherLongTermAssetsPolicyTextBlock","labelType":"xbrl:label","value":"Other Long Term Assets [Policy Text Block]","language":"en-US"},{"forObject":"csbr:OtherLongTermAssetsPolicyTextBlock","labelType":"xbrl:documentation","value":"Other Long Term Assets","language":"en-US"},{"forObject":"csbr:OtherNoncurrentLiabilitiesPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Other Non-Current Liabilities","language":"en-US"},{"forObject":"csbr:OtherNoncurrentLiabilitiesPolicyTextBlock","labelType":"xbrl:label","value":"Other Non-current Liabilities [Policy Text Block]","language":"en-US"},{"forObject":"csbr:OtherNoncurrentLiabilitiesPolicyTextBlock","labelType":"xbrl:documentation","value":"Other Non-current Liabilities [Policy Text Block]","language":"en-US"},{"forObject":"csbr:OtherServicesMember","labelType":"xbrl:terseLabel","value":"Other TOS revenue","language":"en-US"},{"forObject":"csbr:OtherServicesMember","labelType":"xbrl:label","value":"Other Services [Member]","language":"en-US"},{"forObject":"csbr:OtherServicesMember","labelType":"xbrl:documentation","value":"Other Services [Member]","language":"en-US"},{"forObject":"csbr:PersonalizedOncologyServicesMember","labelType":"xbrl:terseLabel","value":"Personalized oncology services","language":"en-US"},{"forObject":"csbr:PersonalizedOncologyServicesMember","labelType":"xbrl:label","value":"Personalized Oncology Services [Member]","language":"en-US"},{"forObject":"csbr:PersonalizedOncologyServicesMember","labelType":"xbrl:documentation","value":"Personalized Oncology Services [Member]","language":"en-US"},{"forObject":"csbr:PersonalizedOncologySolutionsCostOfSalesMember","labelType":"xbrl:verboseLabel","value":"POS cost of sales","language":"en-US"},{"forObject":"csbr:PersonalizedOncologySolutionsCostOfSalesMember","labelType":"xbrl:label","value":"Personalized Oncology Solutions Cost Of Sales [Member]","language":"en-US"},{"forObject":"csbr:PharmacologyServicesMember","labelType":"xbrl:terseLabel","value":"Pharmacology services","language":"en-US"},{"forObject":"csbr:PharmacologyServicesMember","labelType":"xbrl:label","value":"Pharmacology Services [Member]","language":"en-US"},{"forObject":"csbr:PharmacologyServicesMember","labelType":"xbrl:documentation","value":"Pharmacology Services [Member]","language":"en-US"},{"forObject":"csbr:PresentValueMinimumFutureObligationsInterestRate","labelType":"xbrl:terseLabel","value":"Present value of minimum future obligations interest rate","language":"en-US"},{"forObject":"csbr:PresentValueMinimumFutureObligationsInterestRate","labelType":"xbrl:label","value":"Present Value Minimum Future Obligations Interest Rate","language":"en-US"},{"forObject":"csbr:PresentValueMinimumFutureObligationsInterestRate","labelType":"xbrl:documentation","value":"Present Value Minimum Future Obligations Interest Rate","language":"en-US"},{"forObject":"csbr:ProceedsFromExerciseOfOptionsAndWarrants","labelType":"xbrl:terseLabel","value":"Proceeds from exercise of options and warrants","language":"en-US"},{"forObject":"csbr:ProceedsFromExerciseOfOptionsAndWarrants","labelType":"xbrl:label","value":"Proceeds From Exercise Of Options And Warrants","language":"en-US"},{"forObject":"csbr:ProceedsFromExerciseOfOptionsAndWarrants","labelType":"xbrl:documentation","value":"The cash inflow associated with the amount received from holders exercising their stock options and warrants.","language":"en-US"},{"forObject":"csbr:ProceedsFromRefundOfSecurityDeposit","labelType":"xbrl:terseLabel","value":"Refund of security deposit","language":"en-US"},{"forObject":"csbr:ProceedsFromRefundOfSecurityDeposit","labelType":"xbrl:label","value":"Proceeds From Refund Of Security Deposit","language":"en-US"},{"forObject":"csbr:ProceedsFromRefundOfSecurityDeposit","labelType":"xbrl:documentation","value":"Proceeds From Refund Of Security Deposit","language":"en-US"},{"forObject":"csbr:RockvilleMDMember","labelType":"xbrl:terseLabel","value":"Rockville, MD","language":"en-US"},{"forObject":"csbr:RockvilleMDMember","labelType":"xbrl:label","value":"Rockville, MD [Member]","language":"en-US"},{"forObject":"csbr:RockvilleMDMember","labelType":"xbrl:documentation","value":"Rockville, MD [Member]","language":"en-US"},{"forObject":"csbr:RockvilleMDNewLocationMember","labelType":"xbrl:terseLabel","value":"Rockville, MD New Location","language":"en-US"},{"forObject":"csbr:RockvilleMDNewLocationMember","labelType":"xbrl:label","value":"Rockville, MD New Location [Member]","language":"en-US"},{"forObject":"csbr:RockvilleMDNewLocationMember","labelType":"xbrl:documentation","value":"Rockville, MD New Location [Member]","language":"en-US"},{"forObject":"csbr:ScheduleOfShareBasedCompensationWarrantsActivityTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule Of Stock-based Compensation Warrants Activity","language":"en-US"},{"forObject":"csbr:ScheduleOfShareBasedCompensationWarrantsActivityTableTextBlock","labelType":"xbrl:label","value":"Schedule Of Share Based Compensation Warrants Activity [Table Text Block]","language":"en-US"},{"forObject":"csbr:ScheduleOfShareBasedCompensationWarrantsActivityTableTextBlock","labelType":"xbrl:documentation","value":"Tabular disclosure of the number and weighted-average exercise prices (or conversion ratios) for warrants that were outstanding at the beginning and end of the year, vested and expected to vest, exercisable or convertible at the end of the year, and the number of share options or share units that were granted, exercised or converted, forfeited, and expired during the year.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","labelType":"xbrl:terseLabel","value":"Aggregate Intrinsic Value, Granted","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","labelType":"xbrl:label","value":"Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Options Aggregate Intrinsic Value Granted","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","labelType":"xbrl:documentation","value":"Intrinsic value of equity-based compensation awards granted.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsGrantInPeriodWeightedAverageRemainingContractualTerm","labelType":"xbrl:verboseLabel","value":"Weighted Average Remaining Contractual Term, Outstanding, Ending Balance (in years)","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsGrantInPeriodWeightedAverageRemainingContractualTerm","labelType":"xbrl:label","value":"Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Options Grant in Period Weighted Average Remaining Contractual Term","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsGrantInPeriodWeightedAverageRemainingContractualTerm","labelType":"xbrl:documentation","value":"Weighted average remaining contractual term for option awards granted, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsInPeriod","labelType":"xbrl:negatedLabel","value":"Expired (in shares)","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsInPeriod","labelType":"xbrl:label","value":"Share Based Compensation Arrangement By Share Based Payment Award Equity Instruments Other than Options Expirations In Period","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsInPeriod","labelType":"xbrl:documentation","value":"The number of equity-based payment instruments, excluding stock (or unit) options, that were expired during the reporting period.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","labelType":"xbrl:negatedLabel","value":"Canceled (in shares)","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","labelType":"xbrl:label","value":"Share Based Compensation Arrangement By Share Based Payment Award Options Canceled In Period","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","labelType":"xbrl:documentation","value":"The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","labelType":"xbrl:terseLabel","value":"Weighted Average Remaining Contractual Life, Granted","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","labelType":"xbrl:label","value":"Share Based Compensation Arrangement By Share Based Payment Award Options Granted Weighted Average Remaining Contractual Term","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","labelType":"xbrl:documentation","value":"Weighted average remaining contractual term for option awards granted, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedPercentage","labelType":"xbrl:terseLabel","value":"Vested percent","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedPercentage","labelType":"xbrl:label","value":"Share Based Compensation Arrangement by Share Based Payment Award Options Vested Percentage","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedPercentage","labelType":"xbrl:documentation","value":"Percentage of stock vested for share based compensation arrangement by share based payment award options during the period.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsOutstanding","labelType":"xbrl:terseLabel","value":"Warrants outstanding (in shares)","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsOutstanding","labelType":"xbrl:label","value":"Share Based Compensation Arrangement By Share Based Payment Award Warrants Outstanding","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsOutstanding","labelType":"xbrl:documentation","value":"The number of share warrants outstanding in connection with the financing arrangement.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","labelType":"xbrl:verboseLabel","value":"Weighted Average Exercise Price, Canceled (in usd per share)","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share Based Compensation Arrangements By Share Based Payment Award Options Canceled In Period Weighted Average Exercise Price","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","labelType":"xbrl:documentation","value":"Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsExercisesInPeriodWeightedAverageExercisePrice","labelType":"xbrl:verboseLabel","value":"Exercised (in usd per share)","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsExercisesInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share Based Compensation Arrangements By Share Based Payment Award Other Than Options Exercises In Period Weighted Average Exercise Price","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsExercisesInPeriodWeightedAverageExercisePrice","labelType":"xbrl:documentation","value":"Weighted average price at which option holders acquired shares when converting their options into shares.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsExpirationsInPeriodWeightedAverageExercisePrice","labelType":"xbrl:verboseLabel","value":"Expired (in usd per share)","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsExpirationsInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share Based Compensation Arrangements By Share Based Payment Award Other Than Options Expirations In Period Weighted Average Exercise Price","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsExpirationsInPeriodWeightedAverageExercisePrice","labelType":"xbrl:documentation","value":"Weighted average price at which grantees could have acquired the underlying shares with respect to options of the plan that expired.","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsForfeituresInPeriodWeightedAverageExercisePrice","labelType":"xbrl:verboseLabel","value":"Forfeited (in usd per share)","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsForfeituresInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share Based Compensation Arrangements By Share Based Payment Award Other Than Options Forfeitures In Period Weighted Average Exercise Price","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsForfeituresInPeriodWeightedAverageExercisePrice","labelType":"xbrl:documentation","value":"Weighted average price at which grantees could have acquired the underlying shares with respect to options that were terminated.","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisedInPeriod","labelType":"xbrl:negatedLabel","value":"Exercised (in shares)","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisedInPeriod","labelType":"xbrl:label","value":"ShareBased Compensation Arrangement By Share Based Payment Award Equity Instruments Other Than Options Exercised In Period","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisedInPeriod","labelType":"xbrl:documentation","value":"The number of equity-based payment instruments, excluding stock (or unit) options, that were exercised during the reporting period.","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised","labelType":"xbrl:terseLabel","value":"Exercised","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised","labelType":"xbrl:label","value":"Share-based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Aggregate Intrinsic Value, Exercised","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised","labelType":"xbrl:documentation","value":"Share-based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Aggregate Intrinsic Value, Exercised","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExpired","labelType":"xbrl:terseLabel","value":"Expired","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExpired","labelType":"xbrl:label","value":"Share-based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Aggregate Intrinsic Value, Expired","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExpired","labelType":"xbrl:documentation","value":"Share-based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Aggregate Intrinsic Value, Expired","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueForfeited","labelType":"xbrl:terseLabel","value":"Forfeited","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueForfeited","labelType":"xbrl:label","value":"Share-based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Aggregate Intrinsic Value, Forfeited","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueForfeited","labelType":"xbrl:documentation","value":"Share-based Compensation Arrangement By Share-based Payment Award, Equity Instruments Other Than Options, Aggregate Intrinsic Value, Forfeited","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsAggregateIntrinsicValueGranted","labelType":"xbrl:verboseLabel","value":"Granted","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsAggregateIntrinsicValueGranted","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Granted","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsAggregateIntrinsicValueGranted","labelType":"xbrl:documentation","value":"Intrinsic value of equity-based compensation awards granted. Excludes stock and unit options.","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","labelType":"xbrl:terseLabel","value":"Term of option to purchase","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Term of Option to Purchase","language":"en-US"},{"forObject":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","labelType":"xbrl:documentation","value":"Share-based Compensation Arrangement by Share-based Payment Award, Term of Option to Purchase","language":"en-US"},{"forObject":"csbr:StockIssuedDuringPeriodSharesStockOptionsAndWarrantsExercised","labelType":"xbrl:terseLabel","value":"Stock issued during period shares stock options and warrants exercised (in shares)","language":"en-US"},{"forObject":"csbr:StockIssuedDuringPeriodSharesStockOptionsAndWarrantsExercised","labelType":"xbrl:label","value":"Stock Issued During Period Shares Stock Options And Warrants Exercised","language":"en-US"},{"forObject":"csbr:StockIssuedDuringPeriodSharesStockOptionsAndWarrantsExercised","labelType":"xbrl:documentation","value":"Number of share options (or share units) and warrants exercised during the current period.","language":"en-US"},{"forObject":"csbr:StockOptionsAwardSharesToPurchaseCommonStock","labelType":"xbrl:terseLabel","value":"Stock options award shares to purchase common stock (in shares)","language":"en-US"},{"forObject":"csbr:StockOptionsAwardSharesToPurchaseCommonStock","labelType":"xbrl:label","value":"Stock options award Shares to purchase common Stock","language":"en-US"},{"forObject":"csbr:StockOptionsAwardSharesToPurchaseCommonStock","labelType":"xbrl:documentation","value":"Number of shares to purchase common stock option awards during the reporting period.","language":"en-US"},{"forObject":"csbr:StockOptionsAwardSharesToPurchaseUnregisteredCommonStock","labelType":"xbrl:terseLabel","value":"Stock option award shares to purchase unregistered common stock (in shares)","language":"en-US"},{"forObject":"csbr:StockOptionsAwardSharesToPurchaseUnregisteredCommonStock","labelType":"xbrl:label","value":"Stock Options Award Shares To Purchase Unregistered Common Stock","language":"en-US"},{"forObject":"csbr:StockOptionsAwardSharesToPurchaseUnregisteredCommonStock","labelType":"xbrl:documentation","value":"Number of shares to purchase of unregistered common stock option awards during the reporting period.","language":"en-US"},{"forObject":"csbr:TradeAccountsReceivable","labelType":"xbrl:terseLabel","value":"Accounts receivable","language":"en-US"},{"forObject":"csbr:TradeAccountsReceivable","labelType":"xbrl:label","value":"Trade Accounts Receivable","language":"en-US"},{"forObject":"csbr:TradeAccountsReceivable","labelType":"xbrl:documentation","value":"Trade Accounts Receivable","language":"en-US"},{"forObject":"csbr:TradedinAssetsMember","labelType":"xbrl:terseLabel","value":"Traded-in Assets","language":"en-US"},{"forObject":"csbr:TradedinAssetsMember","labelType":"xbrl:label","value":"Traded-in Assets [Member]","language":"en-US"},{"forObject":"csbr:TradedinAssetsMember","labelType":"xbrl:documentation","value":"Traded-in Assets [Member]","language":"en-US"},{"forObject":"csbr:TranslationalOncologySolutionsCostOfSalesMember","labelType":"xbrl:verboseLabel","value":"TOS cost of sales","language":"en-US"},{"forObject":"csbr:TranslationalOncologySolutionsCostOfSalesMember","labelType":"xbrl:label","value":"Translational Oncology Solutions Cost Of Sales [Member]","language":"en-US"},{"forObject":"csbr:TwoThousandEightEquityIncentivePlanMember","labelType":"xbrl:terseLabel","value":"2008 Equity Incentive Plan","language":"en-US"},{"forObject":"csbr:TwoThousandEightEquityIncentivePlanMember","labelType":"xbrl:label","value":"Two Thousand Eight Equity Incentive Plan [Member]","language":"en-US"},{"forObject":"csbr:TwoThousandEightEquityIncentivePlanMember","labelType":"xbrl:documentation","value":"Two Thousand Eight Equity Incentive Plan [Member]","language":"en-US"},{"forObject":"csbr:WorkingCapital","labelType":"xbrl:terseLabel","value":"Working capital","language":"en-US"},{"forObject":"csbr:WorkingCapital","labelType":"xbrl:label","value":"Working Capital","language":"en-US"},{"forObject":"csbr:WorkingCapital","labelType":"xbrl:documentation","value":"Working Capital","language":"en-US"},{"forObject":"dei:AmendmentFlag","labelType":"xbrl:terseLabel","value":"Amendment Flag","language":"en-US"},{"forObject":"dei:AmendmentFlag","labelType":"xbrl:label","value":"Amendment Flag","language":"en-US"},{"forObject":"dei:CityAreaCode","labelType":"xbrl:terseLabel","value":"City Area Code","language":"en-US"},{"forObject":"dei:CityAreaCode","labelType":"xbrl:label","value":"City Area Code","language":"en-US"},{"forObject":"dei:CoverAbstract","labelType":"xbrl:label","value":"Cover [Abstract]","language":"en-US"},{"forObject":"dei:CurrentFiscalYearEndDate","labelType":"xbrl:terseLabel","value":"Current Fiscal Year End Date","language":"en-US"},{"forObject":"dei:CurrentFiscalYearEndDate","labelType":"xbrl:label","value":"Current Fiscal Year End Date","language":"en-US"},{"forObject":"dei:DocumentAnnualReport","labelType":"xbrl:terseLabel","value":"Document Annual Report","language":"en-US"},{"forObject":"dei:DocumentAnnualReport","labelType":"xbrl:label","value":"Document Annual Report","language":"en-US"},{"forObject":"dei:DocumentFiscalPeriodFocus","labelType":"xbrl:terseLabel","value":"Document Fiscal Period Focus","language":"en-US"},{"forObject":"dei:DocumentFiscalPeriodFocus","labelType":"xbrl:label","value":"Document Fiscal Period Focus","language":"en-US"},{"forObject":"dei:DocumentFiscalYearFocus","labelType":"xbrl:terseLabel","value":"Document Fiscal Year Focus","language":"en-US"},{"forObject":"dei:DocumentFiscalYearFocus","labelType":"xbrl:label","value":"Document Fiscal Year Focus","language":"en-US"},{"forObject":"dei:DocumentPeriodEndDate","labelType":"xbrl:terseLabel","value":"Document Period End Date","language":"en-US"},{"forObject":"dei:DocumentPeriodEndDate","labelType":"xbrl:label","value":"Document Period End Date","language":"en-US"},{"forObject":"dei:DocumentTransitionReport","labelType":"xbrl:terseLabel","value":"Document Transition Report","language":"en-US"},{"forObject":"dei:DocumentTransitionReport","labelType":"xbrl:label","value":"Document Transition Report","language":"en-US"},{"forObject":"dei:DocumentType","labelType":"xbrl:terseLabel","value":"Document Type","language":"en-US"},{"forObject":"dei:DocumentType","labelType":"xbrl:label","value":"Document Type","language":"en-US"},{"forObject":"dei:DocumentsIncorporatedByReferenceTextBlock","labelType":"xbrl:terseLabel","value":"Documents Incorporated by Reference","language":"en-US"},{"forObject":"dei:DocumentsIncorporatedByReferenceTextBlock","labelType":"xbrl:label","value":"Documents Incorporated by Reference [Text Block]","language":"en-US"},{"forObject":"dei:EntityAddressAddressLine1","labelType":"xbrl:terseLabel","value":"Entity Address, Address Line One","language":"en-US"},{"forObject":"dei:EntityAddressAddressLine1","labelType":"xbrl:label","value":"Entity Address, Address Line One","language":"en-US"},{"forObject":"dei:EntityAddressCityOrTown","labelType":"xbrl:terseLabel","value":"Entity Address, City or Town","language":"en-US"},{"forObject":"dei:EntityAddressCityOrTown","labelType":"xbrl:label","value":"Entity Address, City or Town","language":"en-US"},{"forObject":"dei:EntityAddressPostalZipCode","labelType":"xbrl:terseLabel","value":"Entity Address, Postal Zip Code","language":"en-US"},{"forObject":"dei:EntityAddressPostalZipCode","labelType":"xbrl:label","value":"Entity Address, Postal Zip Code","language":"en-US"},{"forObject":"dei:EntityAddressStateOrProvince","labelType":"xbrl:terseLabel","value":"Entity Address, State or Province","language":"en-US"},{"forObject":"dei:EntityAddressStateOrProvince","labelType":"xbrl:label","value":"Entity Address, State or Province","language":"en-US"},{"forObject":"dei:EntityCentralIndexKey","labelType":"xbrl:terseLabel","value":"Entity Central Index Key","language":"en-US"},{"forObject":"dei:EntityCentralIndexKey","labelType":"xbrl:label","value":"Entity Central Index Key","language":"en-US"},{"forObject":"dei:EntityCommonStockSharesOutstanding","labelType":"xbrl:terseLabel","value":"Entity Common Stock, Shares Outstanding (shares)","language":"en-US"},{"forObject":"dei:EntityCommonStockSharesOutstanding","labelType":"xbrl:label","value":"Entity Common Stock, Shares Outstanding","language":"en-US"},{"forObject":"dei:EntityCurrentReportingStatus","labelType":"xbrl:terseLabel","value":"Entity Current Reporting Status","language":"en-US"},{"forObject":"dei:EntityCurrentReportingStatus","labelType":"xbrl:label","value":"Entity Current Reporting Status","language":"en-US"},{"forObject":"dei:EntityEmergingGrowthCompany","labelType":"xbrl:terseLabel","value":"Entity Emerging Growth Company","language":"en-US"},{"forObject":"dei:EntityEmergingGrowthCompany","labelType":"xbrl:label","value":"Entity Emerging Growth Company","language":"en-US"},{"forObject":"dei:EntityFileNumber","labelType":"xbrl:terseLabel","value":"Entity File Number","language":"en-US"},{"forObject":"dei:EntityFileNumber","labelType":"xbrl:label","value":"Entity File Number","language":"en-US"},{"forObject":"dei:EntityFilerCategory","labelType":"xbrl:terseLabel","value":"Entity Filer Category","language":"en-US"},{"forObject":"dei:EntityFilerCategory","labelType":"xbrl:label","value":"Entity Filer Category","language":"en-US"},{"forObject":"dei:EntityIncorporationStateCountryCode","labelType":"xbrl:terseLabel","value":"Entity Incorporation, State or Country Code","language":"en-US"},{"forObject":"dei:EntityIncorporationStateCountryCode","labelType":"xbrl:label","value":"Entity Incorporation, State or Country Code","language":"en-US"},{"forObject":"dei:EntityInteractiveDataCurrent","labelType":"xbrl:terseLabel","value":"Entity Interactive Data Current","language":"en-US"},{"forObject":"dei:EntityInteractiveDataCurrent","labelType":"xbrl:label","value":"Entity Interactive Data Current","language":"en-US"},{"forObject":"dei:EntityPublicFloat","labelType":"xbrl:terseLabel","value":"Entity Public Float","language":"en-US"},{"forObject":"dei:EntityPublicFloat","labelType":"xbrl:label","value":"Entity Public Float","language":"en-US"},{"forObject":"dei:EntityRegistrantName","labelType":"xbrl:terseLabel","value":"Entity Registrant Name","language":"en-US"},{"forObject":"dei:EntityRegistrantName","labelType":"xbrl:label","value":"Entity Registrant Name","language":"en-US"},{"forObject":"dei:EntityShellCompany","labelType":"xbrl:terseLabel","value":"Entity Shell Company","language":"en-US"},{"forObject":"dei:EntityShellCompany","labelType":"xbrl:label","value":"Entity Shell Company","language":"en-US"},{"forObject":"dei:EntitySmallBusiness","labelType":"xbrl:terseLabel","value":"Entity Small Business","language":"en-US"},{"forObject":"dei:EntitySmallBusiness","labelType":"xbrl:label","value":"Entity Small Business","language":"en-US"},{"forObject":"dei:EntityTaxIdentificationNumber","labelType":"xbrl:terseLabel","value":"Entity Tax Identification Number","language":"en-US"},{"forObject":"dei:EntityTaxIdentificationNumber","labelType":"xbrl:label","value":"Entity Tax Identification Number","language":"en-US"},{"forObject":"dei:EntityVoluntaryFilers","labelType":"xbrl:terseLabel","value":"Entity Voluntary Filers","language":"en-US"},{"forObject":"dei:EntityVoluntaryFilers","labelType":"xbrl:label","value":"Entity Voluntary Filers","language":"en-US"},{"forObject":"dei:EntityWellKnownSeasonedIssuer","labelType":"xbrl:terseLabel","value":"Entity Well-known Seasoned Issuer","language":"en-US"},{"forObject":"dei:EntityWellKnownSeasonedIssuer","labelType":"xbrl:label","value":"Entity Well-known Seasoned Issuer","language":"en-US"},{"forObject":"dei:IcfrAuditorAttestationFlag","labelType":"xbrl:terseLabel","value":"ICFR Auditor Attestation Flag","language":"en-US"},{"forObject":"dei:IcfrAuditorAttestationFlag","labelType":"xbrl:label","value":"ICFR Auditor Attestation Flag","language":"en-US"},{"forObject":"dei:LocalPhoneNumber","labelType":"xbrl:terseLabel","value":"Local Phone Number","language":"en-US"},{"forObject":"dei:LocalPhoneNumber","labelType":"xbrl:label","value":"Local Phone Number","language":"en-US"},{"forObject":"dei:Security12bTitle","labelType":"xbrl:terseLabel","value":"Title of 12(b) Security","language":"en-US"},{"forObject":"dei:Security12bTitle","labelType":"xbrl:label","value":"Title of 12(b) Security","language":"en-US"},{"forObject":"dei:SecurityExchangeName","labelType":"xbrl:terseLabel","value":"Security Exchange Name","language":"en-US"},{"forObject":"dei:SecurityExchangeName","labelType":"xbrl:label","value":"Security Exchange Name","language":"en-US"},{"forObject":"dei:TradingSymbol","labelType":"xbrl:terseLabel","value":"Trading Symbol","language":"en-US"},{"forObject":"dei:TradingSymbol","labelType":"xbrl:label","value":"Trading Symbol","language":"en-US"},{"forObject":"srt:BoardOfDirectorsChairmanMember","labelType":"xbrl:terseLabel","value":"Board of Directors Chairman","language":"en-US"},{"forObject":"srt:BoardOfDirectorsChairmanMember","labelType":"xbrl:verboseLabel","value":"Board of Directors","language":"en-US"},{"forObject":"srt:BoardOfDirectorsChairmanMember","labelType":"xbrl:label","value":"Board of Directors Chairman [Member]","language":"en-US"},{"forObject":"srt:CounterpartyNameAxis","labelType":"xbrl:terseLabel","value":"Counterparty Name [Axis]","language":"en-US"},{"forObject":"srt:CounterpartyNameAxis","labelType":"xbrl:label","value":"Counterparty Name [Axis]","language":"en-US"},{"forObject":"srt:MaximumMember","labelType":"xbrl:terseLabel","value":"Maximum","language":"en-US"},{"forObject":"srt:MaximumMember","labelType":"xbrl:label","value":"Maximum [Member]","language":"en-US"},{"forObject":"srt:MinimumMember","labelType":"xbrl:terseLabel","value":"Minimum","language":"en-US"},{"forObject":"srt:MinimumMember","labelType":"xbrl:label","value":"Minimum [Member]","language":"en-US"},{"forObject":"srt:ProductOrServiceAxis","labelType":"xbrl:terseLabel","value":"Product and Service [Axis]","language":"en-US"},{"forObject":"srt:ProductOrServiceAxis","labelType":"xbrl:label","value":"Product and Service [Axis]","language":"en-US"},{"forObject":"srt:ProductsAndServicesDomain","labelType":"xbrl:terseLabel","value":"Product and Service [Domain]","language":"en-US"},{"forObject":"srt:ProductsAndServicesDomain","labelType":"xbrl:label","value":"Product and Service [Domain]","language":"en-US"},{"forObject":"srt:RangeAxis","labelType":"xbrl:terseLabel","value":"Statistical Measurement [Axis]","language":"en-US"},{"forObject":"srt:RangeAxis","labelType":"xbrl:label","value":"Statistical Measurement [Axis]","language":"en-US"},{"forObject":"srt:RangeMember","labelType":"xbrl:terseLabel","value":"Statistical Measurement [Domain]","language":"en-US"},{"forObject":"srt:RangeMember","labelType":"xbrl:label","value":"Statistical Measurement [Domain]","language":"en-US"},{"forObject":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","labelType":"xbrl:terseLabel","value":"Name of Property [Axis]","language":"en-US"},{"forObject":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","labelType":"xbrl:label","value":"Name of Property [Axis]","language":"en-US"},{"forObject":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","labelType":"xbrl:terseLabel","value":"Name of Property [Domain]","language":"en-US"},{"forObject":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","labelType":"xbrl:label","value":"Name of Property [Domain]","language":"en-US"},{"forObject":"srt:RepurchaseAgreementCounterpartyNameDomain","labelType":"xbrl:terseLabel","value":"Counterparty Name [Domain]","language":"en-US"},{"forObject":"srt:RepurchaseAgreementCounterpartyNameDomain","labelType":"xbrl:label","value":"Counterparty Name [Domain]","language":"en-US"},{"forObject":"srt:RestatementAdjustmentMember","labelType":"xbrl:terseLabel","value":"Revision of Prior Period, Adjustment","language":"en-US"},{"forObject":"srt:RestatementAdjustmentMember","labelType":"xbrl:label","value":"Revision of Prior Period, Adjustment [Member]","language":"en-US"},{"forObject":"srt:RestatementAxis","labelType":"xbrl:terseLabel","value":"Revision of Prior Period [Axis]","language":"en-US"},{"forObject":"srt:RestatementAxis","labelType":"xbrl:label","value":"Revision of Prior Period [Axis]","language":"en-US"},{"forObject":"srt:RestatementDomain","labelType":"xbrl:terseLabel","value":"Revision of Prior Period [Domain]","language":"en-US"},{"forObject":"srt:RestatementDomain","labelType":"xbrl:label","value":"Revision of Prior Period [Domain]","language":"en-US"},{"forObject":"srt:ScenarioPreviouslyReportedMember","labelType":"xbrl:terseLabel","value":"Previously Reported","language":"en-US"},{"forObject":"srt:ScenarioPreviouslyReportedMember","labelType":"xbrl:label","value":"Previously Reported [Member]","language":"en-US"},{"forObject":"srt:TitleOfIndividualAxis","labelType":"xbrl:terseLabel","value":"Title of Individual [Axis]","language":"en-US"},{"forObject":"srt:TitleOfIndividualAxis","labelType":"xbrl:label","value":"Title of Individual [Axis]","language":"en-US"},{"forObject":"srt:TitleOfIndividualWithRelationshipToEntityDomain","labelType":"xbrl:terseLabel","value":"Title of Individual [Domain]","language":"en-US"},{"forObject":"srt:TitleOfIndividualWithRelationshipToEntityDomain","labelType":"xbrl:label","value":"Title of Individual [Domain]","language":"en-US"},{"forObject":"us-gaap:AccountingPoliciesAbstract","labelType":"xbrl:terseLabel","value":"Accounting Policies [Abstract]","language":"en-US"},{"forObject":"us-gaap:AccountingPoliciesAbstract","labelType":"xbrl:label","value":"Accounting Policies [Abstract]","language":"en-US"},{"forObject":"us-gaap:AccountingStandardsUpdate201602Member","labelType":"xbrl:terseLabel","value":"Accounting Standards Update 2016-02","language":"en-US"},{"forObject":"us-gaap:AccountingStandardsUpdate201602Member","labelType":"xbrl:label","value":"Accounting Standards Update 2016-02 [Member]","language":"en-US"},{"forObject":"us-gaap:AccountsPayableCurrent","labelType":"xbrl:verboseLabel","value":"Accounts payable","language":"en-US"},{"forObject":"us-gaap:AccountsPayableCurrent","labelType":"xbrl:label","value":"Accounts Payable, Current","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableGross","labelType":"xbrl:totalLabel","value":"Total accounts receivable and unbilled services","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableGross","labelType":"xbrl:label","value":"Accounts Receivable, before Allowance for Credit Loss","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableNetCurrent","labelType":"xbrl:verboseLabel","value":"Accounts receivable, net","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableNetCurrent","labelType":"xbrl:totalLabel","value":"Total accounts receivable, net","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableNetCurrent","labelType":"xbrl:label","value":"Accounts Receivable, after Allowance for Credit Loss, Current","language":"en-US"},{"forObject":"us-gaap:AccruedLiabilitiesCurrent","labelType":"xbrl:verboseLabel","value":"Accrued liabilities","language":"en-US"},{"forObject":"us-gaap:AccruedLiabilitiesCurrent","labelType":"xbrl:label","value":"Accrued Liabilities, Current","language":"en-US"},{"forObject":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","labelType":"xbrl:negatedLabel","value":"Less: Accumulated depreciation and amortization","language":"en-US"},{"forObject":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","labelType":"xbrl:label","value":"Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment","language":"en-US"},{"forObject":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationSaleOfPropertyPlantAndEquipment1","labelType":"xbrl:terseLabel","value":"Accumulated depreciation written off","language":"en-US"},{"forObject":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationSaleOfPropertyPlantAndEquipment1","labelType":"xbrl:label","value":"Accumulated Depreciation, Depletion and Amortization, Sale or Disposal of Property, Plant and Equipment","language":"en-US"},{"forObject":"us-gaap:AdditionalPaidInCapitalCommonStock","labelType":"xbrl:verboseLabel","value":"Additional paid-in capital","language":"en-US"},{"forObject":"us-gaap:AdditionalPaidInCapitalCommonStock","labelType":"xbrl:label","value":"Additional Paid in Capital, Common Stock","language":"en-US"},{"forObject":"us-gaap:AdditionalPaidInCapitalMember","labelType":"xbrl:terseLabel","value":"Additional Paid-in Capital","language":"en-US"},{"forObject":"us-gaap:AdditionalPaidInCapitalMember","labelType":"xbrl:label","value":"Additional Paid-in Capital [Member]","language":"en-US"},{"forObject":"us-gaap:AdjustmentsForNewAccountingPronouncementsAxis","labelType":"xbrl:terseLabel","value":"Adjustments for New Accounting Pronouncements [Axis]","language":"en-US"},{"forObject":"us-gaap:AdjustmentsForNewAccountingPronouncementsAxis","labelType":"xbrl:label","value":"Accounting Standards Update [Axis]","language":"en-US"},{"forObject":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","labelType":"xbrl:verboseLabel","value":"Stock-based compensation expense","language":"en-US"},{"forObject":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","labelType":"xbrl:label","value":"APIC, Share-based Payment Arrangement, Increase for Cost Recognition","language":"en-US"},{"forObject":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Adjustments to reconcile net income (loss) to net cash provided by\u00a0(used in) operating activities:","language":"en-US"},{"forObject":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:label","value":"Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]","language":"en-US"},{"forObject":"us-gaap:AdvanceRent","labelType":"xbrl:terseLabel","value":"Advance rent","language":"en-US"},{"forObject":"us-gaap:AdvanceRent","labelType":"xbrl:label","value":"Advance Rent","language":"en-US"},{"forObject":"us-gaap:AllocatedShareBasedCompensationExpense","labelType":"xbrl:terseLabel","value":"Stock-based compensation expense","language":"en-US"},{"forObject":"us-gaap:AllocatedShareBasedCompensationExpense","labelType":"xbrl:label","value":"Share-based Payment Arrangement, Expense","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivable","labelType":"xbrl:negatedTerseLabel","value":"Less: allowance for doubtful accounts","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivable","labelType":"xbrl:label","value":"Accounts Receivable, Allowance for Credit Loss","language":"en-US"},{"forObject":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","labelType":"xbrl:terseLabel","value":"Total common stock equivalents","language":"en-US"},{"forObject":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","labelType":"xbrl:label","value":"Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount","language":"en-US"},{"forObject":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis","labelType":"xbrl:terseLabel","value":"Antidilutive Securities [Axis]","language":"en-US"},{"forObject":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis","labelType":"xbrl:label","value":"Antidilutive Securities [Axis]","language":"en-US"},{"forObject":"us-gaap:AntidilutiveSecuritiesNameDomain","labelType":"xbrl:terseLabel","value":"Antidilutive Securities, Name [Domain]","language":"en-US"},{"forObject":"us-gaap:AntidilutiveSecuritiesNameDomain","labelType":"xbrl:label","value":"Antidilutive Securities, Name [Domain]","language":"en-US"},{"forObject":"us-gaap:AssetUnderConstructionMember","labelType":"xbrl:terseLabel","value":"Assets in progress","language":"en-US"},{"forObject":"us-gaap:AssetUnderConstructionMember","labelType":"xbrl:label","value":"Asset under Construction [Member]","language":"en-US"},{"forObject":"us-gaap:Assets","labelType":"xbrl:totalLabel","value":"Total assets","language":"en-US"},{"forObject":"us-gaap:Assets","labelType":"xbrl:label","value":"Assets","language":"en-US"},{"forObject":"us-gaap:AssetsAbstract","labelType":"xbrl:verboseLabel","value":"ASSETS","language":"en-US"},{"forObject":"us-gaap:AssetsAbstract","labelType":"xbrl:label","value":"Assets [Abstract]","language":"en-US"},{"forObject":"us-gaap:AssetsCurrent","labelType":"xbrl:totalLabel","value":"Total current assets","language":"en-US"},{"forObject":"us-gaap:AssetsCurrent","labelType":"xbrl:label","value":"Assets, Current","language":"en-US"},{"forObject":"us-gaap:AssetsCurrentAbstract","labelType":"xbrl:terseLabel","value":"Current assets:","language":"en-US"},{"forObject":"us-gaap:AssetsCurrentAbstract","labelType":"xbrl:label","value":"Assets, Current [Abstract]","language":"en-US"},{"forObject":"us-gaap:BasisOfAccountingPolicyPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Basis of Presentation","language":"en-US"},{"forObject":"us-gaap:BasisOfAccountingPolicyPolicyTextBlock","labelType":"xbrl:label","value":"Basis of Accounting, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:CapitalExpendituresIncurredButNotYetPaid","labelType":"xbrl:terseLabel","value":"Credit received on purchase of equipment","language":"en-US"},{"forObject":"us-gaap:CapitalExpendituresIncurredButNotYetPaid","labelType":"xbrl:label","value":"Capital Expenditures Incurred but Not yet Paid","language":"en-US"},{"forObject":"us-gaap:CapitalLeaseObligationsIncurred","labelType":"xbrl:terseLabel","value":"Purchased equipment under finance lease","language":"en-US"},{"forObject":"us-gaap:CapitalLeaseObligationsIncurred","labelType":"xbrl:label","value":"Lease Obligation Incurred","language":"en-US"},{"forObject":"us-gaap:Cash","labelType":"xbrl:verboseLabel","value":"Cash","language":"en-US"},{"forObject":"us-gaap:Cash","labelType":"xbrl:terseLabel","value":"Cash","language":"en-US"},{"forObject":"us-gaap:Cash","labelType":"xbrl:label","value":"Cash","language":"en-US"},{"forObject":"us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy","labelType":"xbrl:terseLabel","value":"Cash and Cash Equivalents","language":"en-US"},{"forObject":"us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy","labelType":"xbrl:label","value":"Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","labelType":"xbrl:periodStartLabel","value":"Cash, beginning of year","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","labelType":"xbrl:periodEndLabel","value":"Cash, end of year","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","labelType":"xbrl:label","value":"Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","labelType":"xbrl:totalLabel","value":"Increase (decrease) in cash","language":"en-US"},{"forObject":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","labelType":"xbrl:label","value":"Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect","language":"en-US"},{"forObject":"us-gaap:CashEquivalentsAtCarryingValue","labelType":"xbrl:terseLabel","value":"Cash equivalents","language":"en-US"},{"forObject":"us-gaap:CashEquivalentsAtCarryingValue","labelType":"xbrl:label","value":"Cash Equivalents, at Carrying Value","language":"en-US"},{"forObject":"us-gaap:ClassOfStockLineItems","labelType":"xbrl:terseLabel","value":"Class of Stock [Line Items]","language":"en-US"},{"forObject":"us-gaap:ClassOfStockLineItems","labelType":"xbrl:label","value":"Class of Stock [Line Items]","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","labelType":"xbrl:terseLabel","value":"Commitments and Contingencies Disclosure [Abstract]","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","labelType":"xbrl:label","value":"Commitments and Contingencies Disclosure [Abstract]","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","labelType":"xbrl:verboseLabel","value":"Commitments and Contingencies","language":"en-US"},{"forObject":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","labelType":"xbrl:label","value":"Commitments and Contingencies Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:CommonStockMember","labelType":"xbrl:terseLabel","value":"Common Stock","language":"en-US"},{"forObject":"us-gaap:CommonStockMember","labelType":"xbrl:label","value":"Common Stock [Member]","language":"en-US"},{"forObject":"us-gaap:CommonStockParOrStatedValuePerShare","labelType":"xbrl:terseLabel","value":"Common stock, par value (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:CommonStockParOrStatedValuePerShare","labelType":"xbrl:label","value":"Common Stock, Par or Stated Value Per Share","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesAuthorized","labelType":"xbrl:terseLabel","value":"Common stock, shares authorized (in shares)","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesAuthorized","labelType":"xbrl:label","value":"Common Stock, Shares Authorized","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesIssued","labelType":"xbrl:terseLabel","value":"Common stock, shares issued (in shares)","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesIssued","labelType":"xbrl:label","value":"Common Stock, Shares, Issued","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesOutstanding","labelType":"xbrl:terseLabel","value":"Common stock, shares outstanding (in shares)","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesOutstanding","labelType":"xbrl:label","value":"Common Stock, Shares, Outstanding","language":"en-US"},{"forObject":"us-gaap:CommonStockValue","labelType":"xbrl:verboseLabel","value":"Common stock, $.001 par value; 200,000,000 shares authorized; 13,414,066 and 12,726,728 shares issued and outstanding at April 30, 2021 and 2020, respectively","language":"en-US"},{"forObject":"us-gaap:CommonStockValue","labelType":"xbrl:label","value":"Common Stock, Value, Issued","language":"en-US"},{"forObject":"us-gaap:ComputerEquipmentMember","labelType":"xbrl:terseLabel","value":"Computer equipment and software","language":"en-US"},{"forObject":"us-gaap:ComputerEquipmentMember","labelType":"xbrl:label","value":"Computer Equipment [Member]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskDisclosureTextBlock","labelType":"xbrl:terseLabel","value":"Significant Customers","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskDisclosureTextBlock","labelType":"xbrl:label","value":"Concentration Risk Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:ConsolidationPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Principles of Consolidation","language":"en-US"},{"forObject":"us-gaap:ConsolidationPolicyTextBlock","labelType":"xbrl:label","value":"Consolidation, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock","labelType":"xbrl:terseLabel","value":"Deferred Revenue","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock","labelType":"xbrl:label","value":"Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiabilityCurrent","labelType":"xbrl:verboseLabel","value":"Deferred revenue","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiabilityCurrent","labelType":"xbrl:terseLabel","value":"Deferred revenue","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiabilityCurrent","labelType":"xbrl:label","value":"Contract with Customer, Liability, Current","language":"en-US"},{"forObject":"us-gaap:CostOfGoodsAndServicesSold","labelType":"xbrl:verboseLabel","value":"Cost of oncology services","language":"en-US"},{"forObject":"us-gaap:CostOfGoodsAndServicesSold","labelType":"xbrl:label","value":"Cost of Goods and Services Sold","language":"en-US"},{"forObject":"us-gaap:CostOfSalesPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Sales and Marketing","language":"en-US"},{"forObject":"us-gaap:CostOfSalesPolicyTextBlock","labelType":"xbrl:label","value":"Cost of Goods and Service [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:CurrentFederalTaxExpenseBenefit","labelType":"xbrl:terseLabel","value":"Current","language":"en-US"},{"forObject":"us-gaap:CurrentFederalTaxExpenseBenefit","labelType":"xbrl:label","value":"Current Federal Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:CurrentForeignTaxExpenseBenefit","labelType":"xbrl:terseLabel","value":"Current","language":"en-US"},{"forObject":"us-gaap:CurrentForeignTaxExpenseBenefit","labelType":"xbrl:label","value":"Current Foreign Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:CurrentIncomeTaxExpenseBenefit","labelType":"xbrl:totalLabel","value":"Current, total","language":"en-US"},{"forObject":"us-gaap:CurrentIncomeTaxExpenseBenefit","labelType":"xbrl:label","value":"Current Income Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","labelType":"xbrl:terseLabel","value":"Current","language":"en-US"},{"forObject":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","labelType":"xbrl:label","value":"Current State and Local Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsGross","labelType":"xbrl:totalLabel","value":"Total deferred tax assets","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsGross","labelType":"xbrl:label","value":"Deferred Tax Assets, Gross","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsLiabilitiesNet","labelType":"xbrl:totalLabel","value":"Net deferred tax asset","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsLiabilitiesNet","labelType":"xbrl:label","value":"Deferred Tax Assets, Net","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","labelType":"xbrl:verboseLabel","value":"Net operating loss carry-forward","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","labelType":"xbrl:label","value":"Deferred Tax Assets, Operating Loss Carryforwards","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","labelType":"xbrl:verboseLabel","value":"Stock-based compensation expense","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","labelType":"xbrl:label","value":"Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Share-based Compensation Cost","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","labelType":"xbrl:verboseLabel","value":"Accrued liabilities","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","labelType":"xbrl:label","value":"Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsValuationAllowance","labelType":"xbrl:negatedLabel","value":"Less: Valuation allowance","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsValuationAllowance","labelType":"xbrl:label","value":"Deferred Tax Assets, Valuation Allowance","language":"en-US"},{"forObject":"us-gaap:Depreciation","labelType":"xbrl:terseLabel","value":"Depreciation","language":"en-US"},{"forObject":"us-gaap:Depreciation","labelType":"xbrl:label","value":"Depreciation","language":"en-US"},{"forObject":"us-gaap:DepreciationAndAmortization","labelType":"xbrl:verboseLabel","value":"Depreciation and amortization expense","language":"en-US"},{"forObject":"us-gaap:DepreciationAndAmortization","labelType":"xbrl:label","value":"Depreciation, Depletion and Amortization, Nonproduction","language":"en-US"},{"forObject":"us-gaap:DepreciationDepletionAndAmortization","labelType":"xbrl:terseLabel","value":"Depreciation and amortization","language":"en-US"},{"forObject":"us-gaap:DepreciationDepletionAndAmortization","labelType":"xbrl:label","value":"Depreciation, Depletion and Amortization","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueLineItems","labelType":"xbrl:terseLabel","value":"Disaggregation of Revenue [Line Items]","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueLineItems","labelType":"xbrl:label","value":"Disaggregation of Revenue [Line Items]","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueTable","labelType":"xbrl:terseLabel","value":"Disaggregation of Revenue [Table]","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueTable","labelType":"xbrl:label","value":"Disaggregation of Revenue [Table]","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueTableTextBlock","labelType":"xbrl:terseLabel","value":"Disaggregation of Revenue","language":"en-US"},{"forObject":"us-gaap:DisaggregationOfRevenueTableTextBlock","labelType":"xbrl:label","value":"Disaggregation of Revenue [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock","labelType":"xbrl:verboseLabel","value":"Stock-based Payments","language":"en-US"},{"forObject":"us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock","labelType":"xbrl:label","value":"Share-based Payment Arrangement [Text Block]","language":"en-US"},{"forObject":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","labelType":"xbrl:terseLabel","value":"Share-based Payment Arrangement [Abstract]","language":"en-US"},{"forObject":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","labelType":"xbrl:label","value":"Share-based Payment Arrangement [Abstract]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareAbstract","labelType":"xbrl:terseLabel","value":"Earnings Per Share [Abstract]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareAbstract","labelType":"xbrl:label","value":"Earnings Per Share [Abstract]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasic","labelType":"xbrl:verboseLabel","value":"Net income (loss) per common share outstanding, basic (in usd per share)","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasic","labelType":"xbrl:netLabel","value":"Basic net income (loss) per share (in usd per share)","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasic","labelType":"xbrl:label","value":"Earnings Per Share, Basic","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasicAbstract","labelType":"xbrl:terseLabel","value":"Net income (loss) per common share outstanding","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasicAbstract","labelType":"xbrl:label","value":"Earnings Per Share, Basic [Abstract]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasicOtherDisclosuresAbstract","labelType":"xbrl:terseLabel","value":"Weighted average common shares outstanding","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasicOtherDisclosuresAbstract","labelType":"xbrl:label","value":"Earnings Per Share, Basic, Other Disclosures [Abstract]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareDiluted","labelType":"xbrl:verboseLabel","value":"Net income (loss) per common share outstanding, diluted (in usd per share)","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareDiluted","labelType":"xbrl:terseLabel","value":"Diluted net income (loss) per share (in usd per share)","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareDiluted","labelType":"xbrl:label","value":"Earnings Per Share, Diluted","language":"en-US"},{"forObject":"us-gaap:EarningsPerSharePolicyTextBlock","labelType":"xbrl:terseLabel","value":"Earnings Per Share","language":"en-US"},{"forObject":"us-gaap:EarningsPerSharePolicyTextBlock","labelType":"xbrl:label","value":"Earnings Per Share, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareTextBlock","labelType":"xbrl:terseLabel","value":"Earnings Per Share","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareTextBlock","labelType":"xbrl:label","value":"Earnings Per Share [Text Block]","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","labelType":"xbrl:totalLabel","value":"Income tax expense","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","labelType":"xbrl:verboseLabel","value":"Federal income tax at statutory rate","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","labelType":"xbrl:verboseLabel","value":"Change in valuation allowance","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","labelType":"xbrl:terseLabel","value":"US vs. foreign tax rate difference","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseImpairmentLosses","labelType":"xbrl:negatedTerseLabel","value":"Goodwill impairment","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseImpairmentLosses","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Nondeductible Expense, Impairment Losses, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","labelType":"xbrl:verboseLabel","value":"State income tax, net of federal benefit","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent","language":"en-US"},{"forObject":"us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems","labelType":"xbrl:terseLabel","value":"Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Line Items]","language":"en-US"},{"forObject":"us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems","labelType":"xbrl:label","value":"Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]","language":"en-US"},{"forObject":"us-gaap:EmployeeStockOptionMember","labelType":"xbrl:terseLabel","value":"Stock options","language":"en-US"},{"forObject":"us-gaap:EmployeeStockOptionMember","labelType":"xbrl:label","value":"Share-based Payment Arrangement, Option [Member]","language":"en-US"},{"forObject":"us-gaap:EquityComponentDomain","labelType":"xbrl:terseLabel","value":"Equity Component [Domain]","language":"en-US"},{"forObject":"us-gaap:EquityComponentDomain","labelType":"xbrl:label","value":"Equity Component [Domain]","language":"en-US"},{"forObject":"us-gaap:FairValueMeasurementPolicyPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Fair Value","language":"en-US"},{"forObject":"us-gaap:FairValueMeasurementPolicyPolicyTextBlock","labelType":"xbrl:label","value":"Fair Value Measurement, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations","labelType":"xbrl:totalLabel","value":"Total","language":"en-US"},{"forObject":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations","labelType":"xbrl:label","value":"Federal Income Tax Expense (Benefit), Continuing Operations","language":"en-US"},{"forObject":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract","labelType":"xbrl:terseLabel","value":"Federal","language":"en-US"},{"forObject":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract","labelType":"xbrl:label","value":"Federal Income Tax Expense (Benefit), Continuing Operations [Abstract]","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityCurrent","labelType":"xbrl:terseLabel","value":"Current portion of finance lease","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityCurrent","labelType":"xbrl:label","value":"Finance Lease, Liability, Current","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsDue","labelType":"xbrl:terseLabel","value":"Finance lease, payment, due","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsDue","labelType":"xbrl:label","value":"Finance Lease, Liability, Payment, Due","language":"en-US"},{"forObject":"us-gaap:FinanceLeasePrincipalPayments","labelType":"xbrl:negatedLabel","value":"Finance lease payments","language":"en-US"},{"forObject":"us-gaap:FinanceLeasePrincipalPayments","labelType":"xbrl:terseLabel","value":"Future minimum lease payments remaining","language":"en-US"},{"forObject":"us-gaap:FinanceLeasePrincipalPayments","labelType":"xbrl:label","value":"Finance Lease, Principal Payments","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAsset","labelType":"xbrl:terseLabel","value":"Assets under finance lease","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAsset","labelType":"xbrl:label","value":"Finance Lease, Right-of-Use Asset, after Accumulated Amortization","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","labelType":"xbrl:terseLabel","value":"Finance lease, depreciation and amortization expense","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","labelType":"xbrl:label","value":"Finance Lease, Right-of-Use Asset, Amortization","language":"en-US"},{"forObject":"us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Foreign Currency","language":"en-US"},{"forObject":"us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock","labelType":"xbrl:label","value":"Foreign Currency Transactions and Translations Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","labelType":"xbrl:totalLabel","value":"Total","language":"en-US"},{"forObject":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","labelType":"xbrl:label","value":"Foreign Income Tax Expense (Benefit), Continuing Operations","language":"en-US"},{"forObject":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperationsAbstract","labelType":"xbrl:terseLabel","value":"Foreign","language":"en-US"},{"forObject":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperationsAbstract","labelType":"xbrl:label","value":"Foreign Income Tax Expense (Benefit), Continuing Operations [Abstract]","language":"en-US"},{"forObject":"us-gaap:FurnitureAndFixturesMember","labelType":"xbrl:terseLabel","value":"Furniture and fixtures","language":"en-US"},{"forObject":"us-gaap:FurnitureAndFixturesMember","labelType":"xbrl:label","value":"Furniture and Fixtures [Member]","language":"en-US"},{"forObject":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","labelType":"xbrl:negatedTerseLabel","value":"Gain on disposal of equipment","language":"en-US"},{"forObject":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","labelType":"xbrl:terseLabel","value":"Gain on disposal of equipment","language":"en-US"},{"forObject":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","labelType":"xbrl:label","value":"Gain (Loss) on Disposition of Property Plant Equipment","language":"en-US"},{"forObject":"us-gaap:GainLossOnTerminationOfLease","labelType":"xbrl:negatedTerseLabel","value":"Gain on termination of operating lease","language":"en-US"},{"forObject":"us-gaap:GainLossOnTerminationOfLease","labelType":"xbrl:terseLabel","value":"Gain on termination of operating lease","language":"en-US"},{"forObject":"us-gaap:GainLossOnTerminationOfLease","labelType":"xbrl:label","value":"Gain (Loss) on Termination of Lease","language":"en-US"},{"forObject":"us-gaap:GeneralAndAdministrativeExpense","labelType":"xbrl:verboseLabel","value":"General and administrative","language":"en-US"},{"forObject":"us-gaap:GeneralAndAdministrativeExpense","labelType":"xbrl:label","value":"General and Administrative Expense","language":"en-US"},{"forObject":"us-gaap:GeneralAndAdministrativeExpenseMember","labelType":"xbrl:terseLabel","value":"General and administrative","language":"en-US"},{"forObject":"us-gaap:GeneralAndAdministrativeExpenseMember","labelType":"xbrl:label","value":"General and Administrative Expense [Member]","language":"en-US"},{"forObject":"us-gaap:Goodwill","labelType":"xbrl:verboseLabel","value":"Goodwill","language":"en-US"},{"forObject":"us-gaap:Goodwill","labelType":"xbrl:terseLabel","value":"Goodwill","language":"en-US"},{"forObject":"us-gaap:Goodwill","labelType":"xbrl:label","value":"Goodwill","language":"en-US"},{"forObject":"us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Goodwill","language":"en-US"},{"forObject":"us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock","labelType":"xbrl:label","value":"Goodwill and Intangible Assets, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:GoodwillImpairmentLoss","labelType":"xbrl:terseLabel","value":"Goodwill Impairment","language":"en-US"},{"forObject":"us-gaap:GoodwillImpairmentLoss","labelType":"xbrl:label","value":"Goodwill, Impairment Loss","language":"en-US"},{"forObject":"us-gaap:HostingArrangementServiceContractImplementationCostCapitalizedAccumulatedAmortization","labelType":"xbrl:terseLabel","value":"Hosting arrangement, capitalized enhancements","language":"en-US"},{"forObject":"us-gaap:HostingArrangementServiceContractImplementationCostCapitalizedAccumulatedAmortization","labelType":"xbrl:label","value":"Hosting Arrangement, Service Contract, Implementation Cost, Capitalized, Accumulated Amortization","language":"en-US"},{"forObject":"us-gaap:HostingArrangementServiceContractImplementationCostCapitalizedBeforeAccumulatedAmortization","labelType":"xbrl:terseLabel","value":"Hosting arrangement, service contract, implementation cost","language":"en-US"},{"forObject":"us-gaap:HostingArrangementServiceContractImplementationCostCapitalizedBeforeAccumulatedAmortization","labelType":"xbrl:label","value":"Hosting Arrangement, Service Contract, Implementation Cost, Capitalized, before Accumulated Amortization","language":"en-US"},{"forObject":"us-gaap:HostingArrangementServiceContractImplementationCostExpenseAmortization","labelType":"xbrl:terseLabel","value":"Hosting arrangement, amortization expense","language":"en-US"},{"forObject":"us-gaap:HostingArrangementServiceContractImplementationCostExpenseAmortization","labelType":"xbrl:label","value":"Hosting Arrangement, Service Contract, Implementation Cost, Expense, Amortization","language":"en-US"},{"forObject":"us-gaap:ImpairmentOfLongLivedAssetsHeldForUse","labelType":"xbrl:terseLabel","value":"Impairment of long-lived assets","language":"en-US"},{"forObject":"us-gaap:ImpairmentOfLongLivedAssetsHeldForUse","labelType":"xbrl:label","value":"Impairment, Long-Lived Asset, Held-for-Use","language":"en-US"},{"forObject":"us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Impairment of Long-Lived Assets","language":"en-US"},{"forObject":"us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock","labelType":"xbrl:label","value":"Impairment or Disposal of Long-Lived Assets, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","labelType":"xbrl:totalLabel","value":"Income (loss) before income tax expense","language":"en-US"},{"forObject":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","labelType":"xbrl:label","value":"Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest","language":"en-US"},{"forObject":"us-gaap:IncomeStatementAbstract","labelType":"xbrl:terseLabel","value":"Income Statement [Abstract]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementAbstract","labelType":"xbrl:label","value":"Income Statement [Abstract]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementLocationAxis","labelType":"xbrl:terseLabel","value":"Income Statement Location [Axis]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementLocationAxis","labelType":"xbrl:label","value":"Income Statement Location [Axis]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementLocationDomain","labelType":"xbrl:terseLabel","value":"Income Statement Location [Domain]","language":"en-US"},{"forObject":"us-gaap:IncomeStatementLocationDomain","labelType":"xbrl:label","value":"Income Statement Location [Domain]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxDisclosureAbstract","labelType":"xbrl:terseLabel","value":"Income Tax Disclosure [Abstract]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxDisclosureAbstract","labelType":"xbrl:label","value":"Income Tax Disclosure [Abstract]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxDisclosureTextBlock","labelType":"xbrl:terseLabel","value":"Provision for Income Taxes","language":"en-US"},{"forObject":"us-gaap:IncomeTaxDisclosureTextBlock","labelType":"xbrl:label","value":"Income Tax Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefit","labelType":"xbrl:terseLabel","value":"Provision for income tax","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefit","labelType":"xbrl:verboseLabel","value":"Provision for (benefit) from income tax","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefit","labelType":"xbrl:totalLabel","value":"Provision for income tax","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefit","labelType":"xbrl:label","value":"Income Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:IncomeTaxPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Income Taxes","language":"en-US"},{"forObject":"us-gaap:IncomeTaxPolicyTextBlock","labelType":"xbrl:label","value":"Income Tax, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccountsPayable","labelType":"xbrl:verboseLabel","value":"Accounts payable","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccountsPayable","labelType":"xbrl:label","value":"Increase (Decrease) in Accounts Payable","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccountsReceivable","labelType":"xbrl:negatedLabel","value":"Accounts receivable","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccountsReceivable","labelType":"xbrl:label","value":"Increase (Decrease) in Accounts Receivable","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccruedLiabilities","labelType":"xbrl:verboseLabel","value":"Accrued liabilities","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccruedLiabilities","labelType":"xbrl:terseLabel","value":"Accrued liabilities","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInAccruedLiabilities","labelType":"xbrl:label","value":"Increase (Decrease) in Accrued Liabilities","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInDeferredRevenue","labelType":"xbrl:verboseLabel","value":"Deferred revenue","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInDeferredRevenue","labelType":"xbrl:label","value":"Increase (Decrease) in Deferred Revenue","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","labelType":"xbrl:verboseLabel","value":"Changes in operating assets and liabilities:","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","labelType":"xbrl:label","value":"Increase (Decrease) in Operating Liabilities [Abstract]","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","labelType":"xbrl:terseLabel","value":"Other non-current liability","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","labelType":"xbrl:label","value":"Increase (Decrease) in Other Noncurrent Liabilities","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","labelType":"xbrl:negatedLabel","value":"Prepaid expenses and other current assets","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","labelType":"xbrl:label","value":"Increase (Decrease) in Prepaid Expense and Other Assets","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","labelType":"xbrl:terseLabel","value":"Increase (Decrease) in Stockholders' Equity [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","labelType":"xbrl:label","value":"Increase (Decrease) in Stockholders' Equity [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","labelType":"xbrl:terseLabel","value":"Incremental shares from assumed exercise of warrants and stock options (in shares)","language":"en-US"},{"forObject":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","labelType":"xbrl:label","value":"Incremental Common Shares Attributable to Dilutive Effect of Call Options and Warrants","language":"en-US"},{"forObject":"us-gaap:LeaseholdImprovementsMember","labelType":"xbrl:terseLabel","value":"Leasehold improvements","language":"en-US"},{"forObject":"us-gaap:LeaseholdImprovementsMember","labelType":"xbrl:label","value":"Leasehold Improvements [Member]","language":"en-US"},{"forObject":"us-gaap:LeasesAbstract","labelType":"xbrl:terseLabel","value":"Leases [Abstract]","language":"en-US"},{"forObject":"us-gaap:LeasesAbstract","labelType":"xbrl:label","value":"Leases [Abstract]","language":"en-US"},{"forObject":"us-gaap:LesseeLeaseDescriptionLineItems","labelType":"xbrl:terseLabel","value":"Lessee, Lease, Description [Line Items]","language":"en-US"},{"forObject":"us-gaap:LesseeLeaseDescriptionLineItems","labelType":"xbrl:label","value":"Lessee, Lease, Description [Line Items]","language":"en-US"},{"forObject":"us-gaap:LesseeLeaseDescriptionTable","labelType":"xbrl:terseLabel","value":"Lessee, Lease, Description [Table]","language":"en-US"},{"forObject":"us-gaap:LesseeLeaseDescriptionTable","labelType":"xbrl:label","value":"Lessee, Lease, Description [Table]","language":"en-US"},{"forObject":"us-gaap:LesseeLeasesPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Leases","language":"en-US"},{"forObject":"us-gaap:LesseeLeasesPolicyTextBlock","labelType":"xbrl:label","value":"Lessee, Leases [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock","labelType":"xbrl:terseLabel","value":"Future Operating Lease Payments","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, Maturity [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","labelType":"xbrl:totalLabel","value":"Total","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive","labelType":"xbrl:terseLabel","value":"Thereafter","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, after Year Five","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","labelType":"xbrl:verboseLabel","value":"2022","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, Year One","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive","labelType":"xbrl:terseLabel","value":"2026","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, Year Five","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour","labelType":"xbrl:terseLabel","value":"2025","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, Year Four","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","labelType":"xbrl:terseLabel","value":"2024","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, Year Three","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","labelType":"xbrl:terseLabel","value":"2023","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, Year Two","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseRenewalTerm","labelType":"xbrl:terseLabel","value":"Renewal term","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseRenewalTerm","labelType":"xbrl:label","value":"Lessee, Operating Lease, Renewal Term","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeasesTextBlock","labelType":"xbrl:terseLabel","value":"Leases","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeasesTextBlock","labelType":"xbrl:label","value":"Lessee, Operating Leases [Text Block]","language":"en-US"},{"forObject":"us-gaap:Liabilities","labelType":"xbrl:totalLabel","value":"Total liabilities","language":"en-US"},{"forObject":"us-gaap:Liabilities","labelType":"xbrl:terseLabel","value":"Total liabilities","language":"en-US"},{"forObject":"us-gaap:Liabilities","labelType":"xbrl:label","value":"Liabilities","language":"en-US"},{"forObject":"us-gaap:LiabilitiesAndStockholdersEquity","labelType":"xbrl:totalLabel","value":"Total liabilities and stockholders' equity","language":"en-US"},{"forObject":"us-gaap:LiabilitiesAndStockholdersEquity","labelType":"xbrl:label","value":"Liabilities and Equity","language":"en-US"},{"forObject":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","labelType":"xbrl:verboseLabel","value":"LIABILITIES AND STOCKHOLDERS' EQUITY","language":"en-US"},{"forObject":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","labelType":"xbrl:label","value":"Liabilities and Equity [Abstract]","language":"en-US"},{"forObject":"us-gaap:LiabilitiesCurrent","labelType":"xbrl:totalLabel","value":"Total current liabilities","language":"en-US"},{"forObject":"us-gaap:LiabilitiesCurrent","labelType":"xbrl:terseLabel","value":"Total current liabilities","language":"en-US"},{"forObject":"us-gaap:LiabilitiesCurrent","labelType":"xbrl:label","value":"Liabilities, Current","language":"en-US"},{"forObject":"us-gaap:LiabilitiesCurrentAbstract","labelType":"xbrl:verboseLabel","value":"Current liabilities:","language":"en-US"},{"forObject":"us-gaap:LiabilitiesCurrentAbstract","labelType":"xbrl:label","value":"Liabilities, Current [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivities","labelType":"xbrl:totalLabel","value":"Net cash provided by financing activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivities","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Financing Activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Financing activities:","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Financing Activities [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivities","labelType":"xbrl:totalLabel","value":"Net cash used in investing activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivities","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Investing Activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Investing activities:","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Investing Activities [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivities","labelType":"xbrl:totalLabel","value":"Net cash (used in) provided by operating activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivities","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Operating Activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Operating activities:","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:label","value":"Net Cash Provided by (Used in) Operating Activities [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetIncomeLoss","labelType":"xbrl:totalLabel","value":"Net income (loss)","language":"en-US"},{"forObject":"us-gaap:NetIncomeLoss","labelType":"xbrl:verboseLabel","value":"Net income (loss)","language":"en-US"},{"forObject":"us-gaap:NetIncomeLoss","labelType":"xbrl:terseLabel","value":"Net income (loss) attributable to common stockholders","language":"en-US"},{"forObject":"us-gaap:NetIncomeLoss","labelType":"xbrl:label","value":"Net Income (Loss) Attributable to Parent","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","labelType":"xbrl:verboseLabel","value":"Basic and diluted net loss per share computation (dollars in thousands):","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","labelType":"xbrl:label","value":"Net Income (Loss) Available to Common Stockholders, Basic [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","labelType":"xbrl:terseLabel","value":"Net income (loss) attributable to common stockholders","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","labelType":"xbrl:label","value":"Net Income (Loss) Available to Common Stockholders, Diluted","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract","labelType":"xbrl:terseLabel","value":"Diluted income (loss) per share computation","language":"en-US"},{"forObject":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract","labelType":"xbrl:label","value":"Net Income (Loss) Available to Common Stockholders, Diluted [Abstract]","language":"en-US"},{"forObject":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Accounting Pronouncements Being Evaluated and Recently Adopted Accounting Pronouncements","language":"en-US"},{"forObject":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","labelType":"xbrl:label","value":"New Accounting Pronouncements, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:NoncashInvestingAndFinancingItemsAbstract","labelType":"xbrl:terseLabel","value":"Non-cash investing and financing activities:","language":"en-US"},{"forObject":"us-gaap:NoncashInvestingAndFinancingItemsAbstract","labelType":"xbrl:label","value":"Noncash Investing and Financing Items [Abstract]","language":"en-US"},{"forObject":"us-gaap:NonoperatingIncomeExpenseAbstract","labelType":"xbrl:terseLabel","value":"Other expense:","language":"en-US"},{"forObject":"us-gaap:NonoperatingIncomeExpenseAbstract","labelType":"xbrl:label","value":"Nonoperating Income (Expense) [Abstract]","language":"en-US"},{"forObject":"us-gaap:NumberOfReportableSegments","labelType":"xbrl:terseLabel","value":"Number of reportable segments","language":"en-US"},{"forObject":"us-gaap:NumberOfReportableSegments","labelType":"xbrl:label","value":"Number of Reportable Segments","language":"en-US"},{"forObject":"us-gaap:OperatingCostsAndExpenses","labelType":"xbrl:totalLabel","value":"Total costs and operating expenses","language":"en-US"},{"forObject":"us-gaap:OperatingCostsAndExpenses","labelType":"xbrl:terseLabel","value":"Total costs and operating expenses","language":"en-US"},{"forObject":"us-gaap:OperatingCostsAndExpenses","labelType":"xbrl:label","value":"Operating Costs and Expenses","language":"en-US"},{"forObject":"us-gaap:OperatingExpensesAbstract","labelType":"xbrl:verboseLabel","value":"Costs and operating expenses:","language":"en-US"},{"forObject":"us-gaap:OperatingExpensesAbstract","labelType":"xbrl:label","value":"Operating Expenses [Abstract]","language":"en-US"},{"forObject":"us-gaap:OperatingIncomeLoss","labelType":"xbrl:totalLabel","value":"Income (loss) from operations","language":"en-US"},{"forObject":"us-gaap:OperatingIncomeLoss","labelType":"xbrl:terseLabel","value":"Income (loss) from operations","language":"en-US"},{"forObject":"us-gaap:OperatingIncomeLoss","labelType":"xbrl:label","value":"Operating Income (Loss)","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseExpense","labelType":"xbrl:terseLabel","value":"Operating leases, rent expense","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseExpense","labelType":"xbrl:label","value":"Operating Lease, Expense","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","labelType":"xbrl:terseLabel","value":"Lessee, Operating Lease, Liability, Payment, Due [Abstract]","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, Payment, Due [Abstract]","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiability","labelType":"xbrl:terseLabel","value":"Operating lease, liability","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiability","labelType":"xbrl:label","value":"Operating Lease, Liability","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityCurrent","labelType":"xbrl:terseLabel","value":"Current portion of operating lease liabilities","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityCurrent","labelType":"xbrl:verboseLabel","value":"Current portion of operating lease liabilities","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityCurrent","labelType":"xbrl:label","value":"Operating Lease, Liability, Current","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityNoncurrent","labelType":"xbrl:terseLabel","value":"Non-current portion operating lease liabilities","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityNoncurrent","labelType":"xbrl:verboseLabel","value":"Non-current portion of operating lease liabilities","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiabilityNoncurrent","labelType":"xbrl:label","value":"Operating Lease, Liability, Noncurrent","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseRightOfUseAsset","labelType":"xbrl:terseLabel","value":"Operating lease right-of-use assets, net","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseRightOfUseAsset","labelType":"xbrl:verboseLabel","value":"Operating lease right-of-use assets, net","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseRightOfUseAsset","labelType":"xbrl:label","value":"Operating Lease, Right-of-Use Asset","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","labelType":"xbrl:terseLabel","value":"Weighted average discount rate","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","labelType":"xbrl:label","value":"Operating Lease, Weighted Average Discount Rate, Percent","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","labelType":"xbrl:terseLabel","value":"Weighted average remaining lease term","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","labelType":"xbrl:label","value":"Operating Lease, Weighted Average Remaining Lease Term","language":"en-US"},{"forObject":"us-gaap:OperatingLossCarryforwards","labelType":"xbrl:terseLabel","value":"Operating loss carryforwards","language":"en-US"},{"forObject":"us-gaap:OperatingLossCarryforwards","labelType":"xbrl:label","value":"Operating Loss Carryforwards","language":"en-US"},{"forObject":"us-gaap:OperatingLossCarryforwardsValuationAllowance","labelType":"xbrl:terseLabel","value":"Valuation allowance","language":"en-US"},{"forObject":"us-gaap:OperatingLossCarryforwardsValuationAllowance","labelType":"xbrl:label","value":"Operating Loss Carryforwards, Valuation Allowance","language":"en-US"},{"forObject":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","labelType":"xbrl:terseLabel","value":"Organization, Consolidation and Presentation of Financial Statements [Abstract]","language":"en-US"},{"forObject":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","labelType":"xbrl:label","value":"Organization, Consolidation and Presentation of Financial Statements [Abstract]","language":"en-US"},{"forObject":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock","labelType":"xbrl:verboseLabel","value":"Organization and Basis of Presentation","language":"en-US"},{"forObject":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock","labelType":"xbrl:label","value":"Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:OtherAssetsNoncurrent","labelType":"xbrl:terseLabel","value":"Other long term assets","language":"en-US"},{"forObject":"us-gaap:OtherAssetsNoncurrent","labelType":"xbrl:label","value":"Other Assets, Noncurrent","language":"en-US"},{"forObject":"us-gaap:OtherLiabilitiesNoncurrent","labelType":"xbrl:verboseLabel","value":"Other non-current liabilities","language":"en-US"},{"forObject":"us-gaap:OtherLiabilitiesNoncurrent","labelType":"xbrl:label","value":"Other Liabilities, Noncurrent","language":"en-US"},{"forObject":"us-gaap:OtherMachineryAndEquipmentMember","labelType":"xbrl:terseLabel","value":"Laboratory equipment","language":"en-US"},{"forObject":"us-gaap:OtherMachineryAndEquipmentMember","labelType":"xbrl:label","value":"Other Machinery and Equipment [Member]","language":"en-US"},{"forObject":"us-gaap:OtherNonoperatingIncomeExpense","labelType":"xbrl:verboseLabel","value":"Other income (expense)","language":"en-US"},{"forObject":"us-gaap:OtherNonoperatingIncomeExpense","labelType":"xbrl:label","value":"Other Nonoperating Income (Expense)","language":"en-US"},{"forObject":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","labelType":"xbrl:negatedLabel","value":"Purchase of property and equipment","language":"en-US"},{"forObject":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","labelType":"xbrl:label","value":"Payments to Acquire Property, Plant, and Equipment","language":"en-US"},{"forObject":"us-gaap:PlanNameAxis","labelType":"xbrl:terseLabel","value":"Plan Name [Axis]","language":"en-US"},{"forObject":"us-gaap:PlanNameAxis","labelType":"xbrl:label","value":"Plan Name [Axis]","language":"en-US"},{"forObject":"us-gaap:PlanNameDomain","labelType":"xbrl:terseLabel","value":"Plan Name [Domain]","language":"en-US"},{"forObject":"us-gaap:PlanNameDomain","labelType":"xbrl:label","value":"Plan Name [Domain]","language":"en-US"},{"forObject":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","labelType":"xbrl:verboseLabel","value":"Prepaid expenses and other current assets","language":"en-US"},{"forObject":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","labelType":"xbrl:label","value":"Prepaid Expense and Other Assets, Current","language":"en-US"},{"forObject":"us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment","labelType":"xbrl:terseLabel","value":"Reduction in the purchase price","language":"en-US"},{"forObject":"us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment","labelType":"xbrl:label","value":"Proceeds from Sale of Property, Plant, and Equipment","language":"en-US"},{"forObject":"us-gaap:ProceedsFromWarrantExercises","labelType":"xbrl:terseLabel","value":"Proceeds from warrant exercises","language":"en-US"},{"forObject":"us-gaap:ProceedsFromWarrantExercises","labelType":"xbrl:label","value":"Proceeds from Warrant Exercises","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentAbstract","labelType":"xbrl:terseLabel","value":"Property, Plant and Equipment [Abstract]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentAbstract","labelType":"xbrl:label","value":"Property, Plant and Equipment [Abstract]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","labelType":"xbrl:terseLabel","value":"Property, Plant and Equipment, Type [Axis]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","labelType":"xbrl:label","value":"Long-Lived Tangible Asset [Axis]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock","labelType":"xbrl:terseLabel","value":"Property and Equipment","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock","labelType":"xbrl:label","value":"Property, Plant and Equipment Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentDisposals","labelType":"xbrl:terseLabel","value":"Finance leased assets traded in","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentDisposals","labelType":"xbrl:label","value":"Property, Plant and Equipment, Disposals","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentGross","labelType":"xbrl:terseLabel","value":"Total property and equipment","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentGross","labelType":"xbrl:verboseLabel","value":"Property, plant and equipment, gross","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentGross","labelType":"xbrl:label","value":"Property, Plant and Equipment, Gross","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentLineItems","labelType":"xbrl:terseLabel","value":"Property, Plant and Equipment [Line Items]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentLineItems","labelType":"xbrl:label","value":"Property, Plant and Equipment [Line Items]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentNet","labelType":"xbrl:verboseLabel","value":"Property and equipment, net","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentNet","labelType":"xbrl:totalLabel","value":"Property and equipment, net","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentNet","labelType":"xbrl:terseLabel","value":"Property, plant and equipment, net","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentNet","labelType":"xbrl:label","value":"Property, Plant and Equipment, Net","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Property and Equipment","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentPolicyTextBlock","labelType":"xbrl:label","value":"Property, Plant and Equipment, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentTextBlock","labelType":"xbrl:terseLabel","value":"Property and Equipment","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentTextBlock","labelType":"xbrl:label","value":"Property, Plant and Equipment [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentTypeDomain","labelType":"xbrl:terseLabel","value":"Property, Plant and Equipment, Type [Domain]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentTypeDomain","labelType":"xbrl:label","value":"Long-Lived Tangible Asset [Domain]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentUsefulLife","labelType":"xbrl:terseLabel","value":"Useful life","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentUsefulLife","labelType":"xbrl:label","value":"Property, Plant and Equipment, Useful Life","language":"en-US"},{"forObject":"us-gaap:ProvisionForDoubtfulAccounts","labelType":"xbrl:terseLabel","value":"Allowance for doubtful accounts","language":"en-US"},{"forObject":"us-gaap:ProvisionForDoubtfulAccounts","labelType":"xbrl:label","value":"Accounts Receivable, Credit Loss Expense (Reversal)","language":"en-US"},{"forObject":"us-gaap:ReceivablesAbstract","labelType":"xbrl:terseLabel","value":"Receivables [Abstract]","language":"en-US"},{"forObject":"us-gaap:ReceivablesAbstract","labelType":"xbrl:label","value":"Receivables [Abstract]","language":"en-US"},{"forObject":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","labelType":"xbrl:terseLabel","value":"Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","labelType":"xbrl:label","value":"Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","labelType":"xbrl:verboseLabel","value":"Related related party transaction, amounts of transaction","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","labelType":"xbrl:label","value":"Related Party Transaction, Amounts of Transaction","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionLineItems","labelType":"xbrl:terseLabel","value":"Related Party Transaction [Line Items]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionLineItems","labelType":"xbrl:label","value":"Related Party Transaction [Line Items]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionsAbstract","labelType":"xbrl:terseLabel","value":"Related Party Transactions [Abstract]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionsAbstract","labelType":"xbrl:label","value":"Related Party Transactions [Abstract]","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionsDisclosureTextBlock","labelType":"xbrl:verboseLabel","value":"Related Party Transactions","language":"en-US"},{"forObject":"us-gaap:RelatedPartyTransactionsDisclosureTextBlock","labelType":"xbrl:label","value":"Related Party Transactions Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpense","labelType":"xbrl:verboseLabel","value":"Research and development","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpense","labelType":"xbrl:label","value":"Research and Development Expense","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpenseMember","labelType":"xbrl:terseLabel","value":"Research and development","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpenseMember","labelType":"xbrl:label","value":"Research and Development Expense [Member]","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpensePolicy","labelType":"xbrl:terseLabel","value":"Research and Development","language":"en-US"},{"forObject":"us-gaap:ResearchAndDevelopmentExpensePolicy","labelType":"xbrl:label","value":"Research and Development Expense, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsAccumulatedDeficit","labelType":"xbrl:verboseLabel","value":"Accumulated deficit","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsAccumulatedDeficit","labelType":"xbrl:label","value":"Retained Earnings (Accumulated Deficit)","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsMember","labelType":"xbrl:terseLabel","value":"Accumulated Deficit","language":"en-US"},{"forObject":"us-gaap:RetainedEarningsMember","labelType":"xbrl:label","value":"Retained Earnings [Member]","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerAbstract","labelType":"xbrl:terseLabel","value":"Revenue from Contract with Customer [Abstract]","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerAbstract","labelType":"xbrl:label","value":"Revenue from Contract with Customer [Abstract]","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","labelType":"xbrl:verboseLabel","value":"Oncology services revenue","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","labelType":"xbrl:terseLabel","value":"Total oncology services revenue","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","labelType":"xbrl:label","value":"Revenue from Contract with Customer, Excluding Assessed Tax","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Deferred Revenue and Revenue Recognition","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","labelType":"xbrl:label","value":"Revenue from Contract with Customer [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerTextBlock","labelType":"xbrl:terseLabel","value":"Revenue from Contracts with Customers","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerTextBlock","labelType":"xbrl:label","value":"Revenue from Contract with Customer [Text Block]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","labelType":"xbrl:terseLabel","value":"Revenue arrangements by service contract period","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis","labelType":"xbrl:terseLabel","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]","language":"en-US"},{"forObject":"us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability","labelType":"xbrl:terseLabel","value":"Right-of-use assets obtained in exchange for operating lease liabilities","language":"en-US"},{"forObject":"us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability","labelType":"xbrl:label","value":"Right-of-Use Asset Obtained in Exchange for Operating Lease Liability","language":"en-US"},{"forObject":"us-gaap:RisksAndUncertaintiesAbstract","labelType":"xbrl:terseLabel","value":"Risks and Uncertainties [Abstract]","language":"en-US"},{"forObject":"us-gaap:RisksAndUncertaintiesAbstract","labelType":"xbrl:label","value":"Risks and Uncertainties [Abstract]","language":"en-US"},{"forObject":"us-gaap:RoyaltyExpense","labelType":"xbrl:terseLabel","value":"Royalty expense","language":"en-US"},{"forObject":"us-gaap:RoyaltyExpense","labelType":"xbrl:label","value":"Royalty Expense","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Accounts, Notes, Loans and Financing Receivable","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","labelType":"xbrl:label","value":"Schedule of Accounts, Notes, Loans and Financing Receivable [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock","labelType":"xbrl:label","value":"Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Components of Income Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock","labelType":"xbrl:label","value":"Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Deferred Tax Assets and Liabilities","language":"en-US"},{"forObject":"us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock","labelType":"xbrl:label","value":"Schedule of Deferred Tax Assets and Liabilities [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Earnings Per Share, Basic and Diluted","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","labelType":"xbrl:label","value":"Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Effective Income Tax Rate Reconciliation","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock","labelType":"xbrl:label","value":"Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable","labelType":"xbrl:terseLabel","value":"Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable","labelType":"xbrl:label","value":"Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock","labelType":"xbrl:verboseLabel","value":"Schedule of Employee Service Stock-based Compensation, Allocation of Recognized Period Costs","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock","labelType":"xbrl:label","value":"Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Error Corrections and Prior Period Adjustments","language":"en-US"},{"forObject":"us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock","labelType":"xbrl:label","value":"Schedule of Error Corrections and Prior Period Adjustments [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","labelType":"xbrl:terseLabel","value":"Property, Plant and Equipment [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","labelType":"xbrl:label","value":"Property, Plant and Equipment [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","labelType":"xbrl:terseLabel","value":"Schedule of Related Party Transactions, by Related Party [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","labelType":"xbrl:label","value":"Schedule of Related Party Transactions, by Related Party [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","labelType":"xbrl:terseLabel","value":"Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","labelType":"xbrl:label","value":"Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","labelType":"xbrl:verboseLabel","value":"Schedule of Stock-based Compensation, Stock Options, Activity","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","labelType":"xbrl:label","value":"Share-based Payment Arrangement, Option, Activity [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","labelType":"xbrl:verboseLabel","value":"Schedule of Stock-based Payment Award, Stock Options, Valuation Assumptions","language":"en-US"},{"forObject":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","labelType":"xbrl:label","value":"Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfStockByClassTable","labelType":"xbrl:terseLabel","value":"Schedule of Stock by Class [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfStockByClassTable","labelType":"xbrl:label","value":"Schedule of Stock by Class [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Unrecognized Tax Benefits Roll Forward","language":"en-US"},{"forObject":"us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock","labelType":"xbrl:label","value":"Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:SellingAndMarketingExpense","labelType":"xbrl:verboseLabel","value":"Sales and marketing","language":"en-US"},{"forObject":"us-gaap:SellingAndMarketingExpense","labelType":"xbrl:label","value":"Selling and Marketing Expense","language":"en-US"},{"forObject":"us-gaap:SellingAndMarketingExpenseMember","labelType":"xbrl:terseLabel","value":"Sales and marketing","language":"en-US"},{"forObject":"us-gaap:SellingAndMarketingExpenseMember","labelType":"xbrl:label","value":"Selling and Marketing Expense [Member]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensation","labelType":"xbrl:verboseLabel","value":"Stock-based compensation expense","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensation","labelType":"xbrl:label","value":"Share-based Payment Arrangement, Noncash Expense","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod","labelType":"xbrl:negatedTerseLabel","value":"Forfeited (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod","labelType":"xbrl:terseLabel","value":"Granted (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodIntrinsicValue","labelType":"xbrl:verboseLabel","value":"Granted (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodIntrinsicValue","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Intrinsic Value, Amount Per Share","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue","labelType":"xbrl:periodStartLabel","value":"Beginning Balance (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue","labelType":"xbrl:periodEndLabel","value":"Ending Balance (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instrument Other than Option, Nonvested, Intrinsic Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","labelType":"xbrl:periodStartLabel","value":"Beginning Balance (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","labelType":"xbrl:periodEndLabel","value":"Ending Balance (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward","labelType":"xbrl:terseLabel","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward","labelType":"xbrl:terseLabel","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms","labelType":"xbrl:verboseLabel","value":"Weighted Average Remaining Contractual Life (Years), Balance","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Outstanding, Weighted Average Remaining Contractual Terms","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","labelType":"xbrl:verboseLabel","value":"Dividend yield","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","labelType":"xbrl:verboseLabel","value":"Volatility Maximum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Maximum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","labelType":"xbrl:verboseLabel","value":"Volatility Minimum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate, Minimum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","labelType":"xbrl:verboseLabel","value":"Risk-free interest rates Maximum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Maximum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","labelType":"xbrl:verboseLabel","value":"Risk-free interest rates Minimum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate, Minimum","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","labelType":"xbrl:terseLabel","value":"Share-based Compensation Arrangement by Share-based Payment Award [Line Items]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award [Line Items]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","labelType":"xbrl:terseLabel","value":"Vested (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","labelType":"xbrl:terseLabel","value":"Weighted Average Exercise Price, Vested (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","labelType":"xbrl:negatedLabel","value":"Expired (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Expirations in Period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","labelType":"xbrl:negatedLabel","value":"Forfeited (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod","labelType":"xbrl:terseLabel","value":"Shares granted, net of forfeitures (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Net of Forfeitures","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","labelType":"xbrl:verboseLabel","value":"Granted (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","labelType":"xbrl:terseLabel","value":"Grants in period, weighted average grant date fair value (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","labelType":"xbrl:periodStartLabel","value":"Aggregate Intrinsic Value, Outstanding, Beginning Balance","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","labelType":"xbrl:periodEndLabel","value":"Aggregate Intrinsic Value, Outstanding, Ending Balance","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Intrinsic Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","labelType":"xbrl:periodStartLabel","value":"Outstanding, Beginning Balance (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","labelType":"xbrl:periodEndLabel","value":"Outstanding, Ending Balance (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","labelType":"xbrl:terseLabel","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","labelType":"xbrl:periodStartLabel","value":"Weighted Average Exercise Price, Outstanding, Beginning Balance (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","labelType":"xbrl:periodEndLabel","value":"Weighted Average Exercise Price, Outstanding, Ending Balance (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","labelType":"xbrl:terseLabel","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","labelType":"xbrl:verboseLabel","value":"Aggregate Intrinsic Value, Vested and expected to vest","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","labelType":"xbrl:verboseLabel","value":"Vested and expected to vest (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","labelType":"xbrl:terseLabel","value":"Weighted Average Exercise Price, Vested and Expected to Vest (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","labelType":"xbrl:verboseLabel","value":"Weighted Average Exercise Price, Exercised (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice","labelType":"xbrl:verboseLabel","value":"Weighted Average Exercise Price, Expired (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-based Compensation Arrangements by Share-based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","labelType":"xbrl:verboseLabel","value":"Weighted Average Exercise Price, Forfeited (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-based Compensation Arrangements by Share-based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","labelType":"xbrl:verboseLabel","value":"Weighted Average Exercise Price, Granted (in usd per share)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","labelType":"xbrl:label","value":"Share-based Compensation Arrangements by Share-based Payment Award, Options, Grants in Period, Weighted Average Exercise Price","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy","labelType":"xbrl:terseLabel","value":"Stock-based Payments","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy","labelType":"xbrl:label","value":"Share-based Payment Arrangement [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract","labelType":"xbrl:terseLabel","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value [Abstract]","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value [Abstract]","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding","labelType":"xbrl:periodStartLabel","value":"Beginning Balance","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding","labelType":"xbrl:periodEndLabel","value":"Ending Balance","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Outstanding","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","labelType":"xbrl:terseLabel","value":"Expiration term of awards","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","labelType":"xbrl:verboseLabel","value":"Expected term in years","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Term","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","labelType":"xbrl:verboseLabel","value":"Aggregate Intrinsic Value, Vested","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Intrinsic Value","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","labelType":"xbrl:verboseLabel","value":"Weighted Average Remaining Contractual Life (Years), Vested","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","labelType":"xbrl:verboseLabel","value":"Weighted Average Remaining Contractual Term, Outstanding, Beginning Balance (in years)","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","labelType":"xbrl:verboseLabel","value":"Weighted Average Remaining Contractual Life (Years), Vested and expected to vest","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent","labelType":"xbrl:terseLabel","value":"Strike price as percent of market value","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent","language":"en-US"},{"forObject":"us-gaap:SharesOutstanding","labelType":"xbrl:periodStartLabel","value":"Balance (in shares)","language":"en-US"},{"forObject":"us-gaap:SharesOutstanding","labelType":"xbrl:periodEndLabel","value":"Balance (in shares)","language":"en-US"},{"forObject":"us-gaap:SharesOutstanding","labelType":"xbrl:label","value":"Shares, Outstanding","language":"en-US"},{"forObject":"us-gaap:SignificantAccountingPoliciesTextBlock","labelType":"xbrl:terseLabel","value":"Summary of Significant Accounting Policies","language":"en-US"},{"forObject":"us-gaap:SignificantAccountingPoliciesTextBlock","labelType":"xbrl:label","value":"Significant Accounting Policies [Text Block]","language":"en-US"},{"forObject":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember","labelType":"xbrl:terseLabel","value":"Capitalized software development costs","language":"en-US"},{"forObject":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember","labelType":"xbrl:label","value":"Software and Software Development Costs [Member]","language":"en-US"},{"forObject":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","labelType":"xbrl:totalLabel","value":"Total","language":"en-US"},{"forObject":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","labelType":"xbrl:label","value":"State and Local Income Tax Expense (Benefit), Continuing Operations","language":"en-US"},{"forObject":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperationsAbstract","labelType":"xbrl:terseLabel","value":"State","language":"en-US"},{"forObject":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperationsAbstract","labelType":"xbrl:label","value":"State and Local Income Tax Expense (Benefit), Continuing Operations [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementEquityComponentsAxis","labelType":"xbrl:terseLabel","value":"Equity Components [Axis]","language":"en-US"},{"forObject":"us-gaap:StatementEquityComponentsAxis","labelType":"xbrl:label","value":"Equity Components [Axis]","language":"en-US"},{"forObject":"us-gaap:StatementLineItems","labelType":"xbrl:terseLabel","value":"Statement [Line Items]","language":"en-US"},{"forObject":"us-gaap:StatementLineItems","labelType":"xbrl:label","value":"Statement [Line Items]","language":"en-US"},{"forObject":"us-gaap:StatementOfCashFlowsAbstract","labelType":"xbrl:terseLabel","value":"Statement of Cash Flows [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementOfCashFlowsAbstract","labelType":"xbrl:label","value":"Statement of Cash Flows [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementOfFinancialPositionAbstract","labelType":"xbrl:terseLabel","value":"Statement of Financial Position [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementOfFinancialPositionAbstract","labelType":"xbrl:label","value":"Statement of Financial Position [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementOfStockholdersEquityAbstract","labelType":"xbrl:terseLabel","value":"Statement of Stockholders' Equity [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementOfStockholdersEquityAbstract","labelType":"xbrl:label","value":"Statement of Stockholders' Equity [Abstract]","language":"en-US"},{"forObject":"us-gaap:StatementTable","labelType":"xbrl:terseLabel","value":"Statement [Table]","language":"en-US"},{"forObject":"us-gaap:StatementTable","labelType":"xbrl:label","value":"Statement [Table]","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesOther","labelType":"xbrl:verboseLabel","value":"Issuance of common stock on exercise of stock options and warrants (in shares)","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesOther","labelType":"xbrl:label","value":"Stock Issued During Period, Shares, Other","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","labelType":"xbrl:negatedLabel","value":"Exercised (in shares)","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","labelType":"xbrl:label","value":"Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodValueOther","labelType":"xbrl:verboseLabel","value":"Issuance of common stock on exercise of stock options","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodValueOther","labelType":"xbrl:label","value":"Stock Issued During Period, Value, Other","language":"en-US"},{"forObject":"us-gaap:StockholdersEquity","labelType":"xbrl:totalLabel","value":"Total stockholders' equity","language":"en-US"},{"forObject":"us-gaap:StockholdersEquity","labelType":"xbrl:periodStartLabel","value":"Balance","language":"en-US"},{"forObject":"us-gaap:StockholdersEquity","labelType":"xbrl:periodEndLabel","value":"Balance","language":"en-US"},{"forObject":"us-gaap:StockholdersEquity","labelType":"xbrl:terseLabel","value":"Total stockholders' equity","language":"en-US"},{"forObject":"us-gaap:StockholdersEquity","labelType":"xbrl:label","value":"Stockholders' Equity Attributable to Parent","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityAbstract","labelType":"xbrl:verboseLabel","value":"Stockholders' equity:","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityAbstract","labelType":"xbrl:label","value":"Stockholders' Equity Attributable to Parent [Abstract]","language":"en-US"},{"forObject":"us-gaap:SubsequentEventsAbstract","labelType":"xbrl:terseLabel","value":"Subsequent Events [Abstract]","language":"en-US"},{"forObject":"us-gaap:SubsequentEventsAbstract","labelType":"xbrl:label","value":"Subsequent Events [Abstract]","language":"en-US"},{"forObject":"us-gaap:SubsequentEventsTextBlock","labelType":"xbrl:terseLabel","value":"Subsequent Events","language":"en-US"},{"forObject":"us-gaap:SubsequentEventsTextBlock","labelType":"xbrl:label","value":"Subsequent Events [Text Block]","language":"en-US"},{"forObject":"us-gaap:TreasuryStockMember","labelType":"xbrl:terseLabel","value":"Treasury Stock","language":"en-US"},{"forObject":"us-gaap:TreasuryStockMember","labelType":"xbrl:label","value":"Treasury Stock [Member]","language":"en-US"},{"forObject":"us-gaap:TypeOfAdoptionMember","labelType":"xbrl:terseLabel","value":"Type of Adoption [Domain]","language":"en-US"},{"forObject":"us-gaap:TypeOfAdoptionMember","labelType":"xbrl:label","value":"Accounting Standards Update [Domain]","language":"en-US"},{"forObject":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","labelType":"xbrl:terseLabel","value":"Cost, Product and Service [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","labelType":"xbrl:label","value":"Cost, Product and Service [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:TypeOfRevenueExtensibleList","labelType":"xbrl:terseLabel","value":"Revenue, Product and Service [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:TypeOfRevenueExtensibleList","labelType":"xbrl:label","value":"Revenue, Product and Service [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:UnbilledContractsReceivable","labelType":"xbrl:terseLabel","value":"Unbilled services","language":"en-US"},{"forObject":"us-gaap:UnbilledContractsReceivable","labelType":"xbrl:label","value":"Unbilled Contracts Receivable","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefits","labelType":"xbrl:terseLabel","value":"Unrecognized tax benefits","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefits","labelType":"xbrl:periodStartLabel","value":"Balance, beginning of the year","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefits","labelType":"xbrl:periodEndLabel","value":"Balance, end of year","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefits","labelType":"xbrl:label","value":"Unrecognized Tax Benefits","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities","labelType":"xbrl:negatedTerseLabel","value":"Payment made on tax positions related to prior years","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities","labelType":"xbrl:label","value":"Unrecognized Tax Benefits, Decrease Resulting from Settlements with Taxing Authorities","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense","labelType":"xbrl:terseLabel","value":"Income tax penalties and interest expense","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense","labelType":"xbrl:label","value":"Unrecognized Tax Benefits, Income Tax Penalties and Interest Expense","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","labelType":"xbrl:verboseLabel","value":"Addition based on tax positions related to current year","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","labelType":"xbrl:label","value":"Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","labelType":"xbrl:verboseLabel","value":"Addition based on tax positions related to prior years","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","labelType":"xbrl:label","value":"Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions","language":"en-US"},{"forObject":"us-gaap:UseOfEstimates","labelType":"xbrl:terseLabel","value":"Use of Estimates","language":"en-US"},{"forObject":"us-gaap:UseOfEstimates","labelType":"xbrl:label","value":"Use of Estimates, Policy [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:WarrantMember","labelType":"xbrl:verboseLabel","value":"Warrant","language":"en-US"},{"forObject":"us-gaap:WarrantMember","labelType":"xbrl:label","value":"Warrant [Member]","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","labelType":"xbrl:terseLabel","value":"Weighted average common shares outstanding diluted (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","labelType":"xbrl:totalLabel","value":"Adjusted weighted average share - diluted (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","labelType":"xbrl:label","value":"Weighted Average Number of Shares Outstanding, Diluted","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted","labelType":"xbrl:terseLabel","value":"Weighted Average common shares - basic (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted","labelType":"xbrl:label","value":"Weighted Average Number of Shares Outstanding, Basic and Diluted","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","labelType":"xbrl:verboseLabel","value":"Weighted average common shares outstanding basic (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","labelType":"xbrl:terseLabel","value":"Weighted Average common shares (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","labelType":"xbrl:label","value":"Weighted Average Number of Shares Outstanding, Basic","language":"en-US"},{"forObject":"cik:0000771856","labelType":"xbrl:label","value":"CHAMPIONS ONCOLOGY, INC.","language":"en-US"},{"forObject":"rpt:group-0","labelType":"xbrl:label","value":"2108103 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue","language":"en-US"},{"forObject":"rpt:group-1","labelType":"xbrl:label","value":"2410404 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue - Summary of Accounts Receivable (Details)","language":"en-US"},{"forObject":"rpt:group-2","labelType":"xbrl:label","value":"2411405 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue - Summary of Deferred Revenue (Details)","language":"en-US"},{"forObject":"rpt:group-3","labelType":"xbrl:label","value":"2309302 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue (Tables)","language":"en-US"},{"forObject":"rpt:group-4","labelType":"xbrl:label","value":"1001002 - Statement - CONSOLIDATED BALANCE SHEETS","language":"en-US"},{"forObject":"rpt:group-5","labelType":"xbrl:label","value":"1002003 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)","language":"en-US"},{"forObject":"rpt:group-6","labelType":"xbrl:label","value":"1004005 - Statement - CONSOLIDATED STATEMENT OF CHANGES IN STOCKHOLDERS\u2019 EQUITY","language":"en-US"},{"forObject":"rpt:group-7","labelType":"xbrl:label","value":"1005006 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS","language":"en-US"},{"forObject":"rpt:group-8","labelType":"xbrl:label","value":"1003004 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS","language":"en-US"},{"forObject":"rpt:group-9","labelType":"xbrl:label","value":"2121107 - Disclosure - Commitments and Contingencies","language":"en-US"},{"forObject":"rpt:group-10","labelType":"xbrl:label","value":"2422410 - Disclosure - Commitments and Contingencies - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-11","labelType":"xbrl:label","value":"0001001 - Document - Cover","language":"en-US"},{"forObject":"rpt:group-12","labelType":"xbrl:label","value":"2137110 - Disclosure - Earnings Per Share","language":"en-US"},{"forObject":"rpt:group-13","labelType":"xbrl:label","value":"2439421 - Disclosure - Earnings Per Share - Calculations of Earnings Per Share (Details)","language":"en-US"},{"forObject":"rpt:group-14","labelType":"xbrl:label","value":"2440422 - Disclosure - Earnings Per Share - Summary of Potentially Dilutive Stock-based Instruments (Details)","language":"en-US"},{"forObject":"rpt:group-15","labelType":"xbrl:label","value":"2338307 - Disclosure - Earnings Per Share (Tables)","language":"en-US"},{"forObject":"rpt:group-16","labelType":"xbrl:label","value":"2143112 - Disclosure - Leases","language":"en-US"},{"forObject":"rpt:group-17","labelType":"xbrl:label","value":"2445424 - Disclosure - Leases (Details)","language":"en-US"},{"forObject":"rpt:group-18","labelType":"xbrl:label","value":"2447426 - Disclosure - Leases - Future Minimum Lease Payments (Details)","language":"en-US"},{"forObject":"rpt:group-19","labelType":"xbrl:label","value":"2446425 - Disclosure - Leases - ROU Assets and Lease Liabilities (Details)","language":"en-US"},{"forObject":"rpt:group-20","labelType":"xbrl:label","value":"2344308 - Disclosure - Leases (Tables)","language":"en-US"},{"forObject":"rpt:group-21","labelType":"xbrl:label","value":"2101101 - Disclosure - Organization and Basis of Presentation","language":"en-US"},{"forObject":"rpt:group-22","labelType":"xbrl:label","value":"2402401 - Disclosure - Organization and Basis of Presentation - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-23","labelType":"xbrl:label","value":"2112104 - Disclosure - Property and Equipment","language":"en-US"},{"forObject":"rpt:group-24","labelType":"xbrl:label","value":"2415407 - Disclosure - Property and Equipment - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-25","labelType":"xbrl:label","value":"2414406 - Disclosure - Property and Equipment - Summary of Property and Equipment (Details)","language":"en-US"},{"forObject":"rpt:group-26","labelType":"xbrl:label","value":"2313303 - Disclosure - Property and Equipment (Tables)","language":"en-US"},{"forObject":"rpt:group-27","labelType":"xbrl:label","value":"2130109 - Disclosure - Provision for Income Taxes","language":"en-US"},{"forObject":"rpt:group-28","labelType":"xbrl:label","value":"2436420 - Disclosure - Provision for Income Taxes - Change in Uncertain Tax Positions (Details)","language":"en-US"},{"forObject":"rpt:group-29","labelType":"xbrl:label","value":"2434418 - Disclosure - Provision for Income Taxes - Components of Deferred Tax Assets and Liabilities (Details)","language":"en-US"},{"forObject":"rpt:group-30","labelType":"xbrl:label","value":"2432416 - Disclosure - Provision for Income Taxes - Components of Provision (Benefit) for Income Taxes (Details)","language":"en-US"},{"forObject":"rpt:group-31","labelType":"xbrl:label","value":"2435419 - Disclosure - Provision for Income Taxes - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-32","labelType":"xbrl:label","value":"2433417 - Disclosure - Provision for Income Taxes - Reconciliation of Effective Tax Rate (Details)","language":"en-US"},{"forObject":"rpt:group-33","labelType":"xbrl:label","value":"2331306 - Disclosure - Provision for Income Taxes (Tables)","language":"en-US"},{"forObject":"rpt:group-34","labelType":"xbrl:label","value":"2141111 - Disclosure - Related Party Transactions","language":"en-US"},{"forObject":"rpt:group-35","labelType":"xbrl:label","value":"2442423 - Disclosure - Related Party Transactions - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-36","labelType":"xbrl:label","value":"2116105 - Disclosure - Revenue from Contracts with Customers","language":"en-US"},{"forObject":"rpt:group-37","labelType":"xbrl:label","value":"2419409 - Disclosure - Revenue from Contracts with Customers - Disaggregation of Revenue (Details)","language":"en-US"},{"forObject":"rpt:group-38","labelType":"xbrl:label","value":"2418408 - Disclosure - Revenue from Contracts with Customers - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-39","labelType":"xbrl:label","value":"2317304 - Disclosure - Revenue from Contracts with Customers (Tables)","language":"en-US"},{"forObject":"rpt:group-40","labelType":"xbrl:label","value":"2120106 - Disclosure - Significant Customers","language":"en-US"},{"forObject":"rpt:group-41","labelType":"xbrl:label","value":"2123108 - Disclosure - Stock-based Payments","language":"en-US"},{"forObject":"rpt:group-42","labelType":"xbrl:label","value":"2426412 - Disclosure - Stock-based Payments - Allocation of Stock-based Compensation Costs (Details)","language":"en-US"},{"forObject":"rpt:group-43","labelType":"xbrl:label","value":"2425411 - Disclosure - Stock-based Payments - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-44","labelType":"xbrl:label","value":"2428414 - Disclosure - Stock-based Payments - Stock Option Activity (Details)","language":"en-US"},{"forObject":"rpt:group-45","labelType":"xbrl:label","value":"2427413 - Disclosure - Stock-based Payments - Stock Option Grants Assumptions (Details)","language":"en-US"},{"forObject":"rpt:group-46","labelType":"xbrl:label","value":"2429415 - Disclosure - Stock-based Payments - Stock Purchase Warrants Activity (Details)","language":"en-US"},{"forObject":"rpt:group-47","labelType":"xbrl:label","value":"2324305 - Disclosure - Stock-based Payments (Tables)","language":"en-US"},{"forObject":"rpt:group-48","labelType":"xbrl:label","value":"2148113 - Disclosure - Subsequent Events","language":"en-US"},{"forObject":"rpt:group-49","labelType":"xbrl:label","value":"2103102 - Disclosure - Summary of Significant Accounting Policies","language":"en-US"},{"forObject":"rpt:group-50","labelType":"xbrl:label","value":"2407403 - Disclosure - Summary of Significant Accounting Policies - Consolidated Financial Statements (Details)","language":"en-US"},{"forObject":"rpt:group-51","labelType":"xbrl:label","value":"2406402 - Disclosure - Summary of Significant Accounting Policies - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-52","labelType":"xbrl:label","value":"2205201 - Disclosure - Summary of Significant Accounting Policies (Policies)","language":"en-US"},{"forObject":"rpt:group-53","labelType":"xbrl:label","value":"2304301 - Disclosure - Summary of Significant Accounting Policies (Tables)","language":"en-US"},{"forObject":"rpt:group-54","labelType":"xbrl:label","value":"2432416 - Disclosure - Provision for Income Taxes - Components of Provision (Benefit) for Income Taxes (Details)","language":"en-US"},{"forObject":"rpt:group-55","labelType":"xbrl:label","value":"2418408 - Disclosure - Revenue from Contracts with Customers - Narrative (Details)","language":"en-US"}],"networks":[{"name":"rpt:network-presentation-17","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"csbr:AccountsReceivableUnbilledServicesAndDeferredRevenueTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-18","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"csbr:TradeAccountsReceivable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:UnbilledContractsReceivable","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:AccountsReceivableGross","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:AllowanceForDoubtfulAccountsReceivable","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:AccountsReceivableNetCurrent","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-19","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:ContractWithCustomerLiabilityCurrent","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-20","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-21","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StatementOfFinancialPositionAbstract","order":1.0},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:AssetsAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:AssetsCurrentAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:Cash","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:LiabilitiesCurrentAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:AccountsPayableCurrent","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:CommonStockValue","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:AccountsReceivableNetCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:OperatingLeaseRightOfUseAsset","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:AccruedLiabilitiesCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:OperatingLeaseLiabilityNoncurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:AdditionalPaidInCapitalCommonStock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:PropertyPlantAndEquipmentNet","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:OperatingLeaseLiabilityCurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:OtherLiabilitiesNoncurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:RetainedEarningsAccumulatedDeficit","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsCurrentAbstract","target":"us-gaap:AssetsCurrent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:OtherAssetsNoncurrent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:FinanceLeaseLiabilityCurrent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:Liabilities","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:StockholdersEquityAbstract","target":"us-gaap:StockholdersEquity","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:Goodwill","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:ContractWithCustomerLiabilityCurrent","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:StockholdersEquityAbstract","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AssetsAbstract","target":"us-gaap:Assets","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:LiabilitiesCurrentAbstract","target":"us-gaap:LiabilitiesCurrent","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:LiabilitiesAndStockholdersEquity","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-22","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StatementOfFinancialPositionAbstract","order":1.0},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:CommonStockParOrStatedValuePerShare","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:CommonStockSharesAuthorized","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:CommonStockSharesIssued","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementOfFinancialPositionAbstract","target":"us-gaap:CommonStockSharesOutstanding","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-23","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StatementOfStockholdersEquityAbstract","order":1.0},{"source":"us-gaap:StatementOfStockholdersEquityAbstract","target":"us-gaap:StatementTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementTable","target":"us-gaap:StatementEquityComponentsAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementEquityComponentsAxis","target":"us-gaap:EquityComponentDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:CommonStockMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RestatementAxis","target":"srt:RestatementDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RestatementDomain","target":"srt:ScenarioPreviouslyReportedMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementLineItems","target":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:SharesOutstanding","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:TreasuryStockMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementTable","target":"srt:RestatementAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RestatementDomain","target":"srt:RestatementAdjustmentMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockholdersEquity","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:AdditionalPaidInCapitalMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementTable","target":"us-gaap:StatementLineItems","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:RetainedEarningsMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockIssuedDuringPeriodSharesOther","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockIssuedDuringPeriodValueOther","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:NetIncomeLoss","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:SharesOutstanding","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockholdersEquity","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-24","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:StatementOfCashFlowsAbstract","order":1.0},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:NetIncomeLoss","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:ShareBasedCompensation","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInAccountsReceivable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","target":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","target":"csbr:ProceedsFromExerciseOfOptionsAndWarrants","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NoncashInvestingAndFinancingItemsAbstract","target":"us-gaap:CapitalLeaseObligationsIncurred","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:DepreciationAndAmortization","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","target":"csbr:ProceedsFromRefundOfSecurityDeposit","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","target":"us-gaap:FinanceLeasePrincipalPayments","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:NoncashInvestingAndFinancingItemsAbstract","target":"us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInAccountsPayable","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:NetCashProvidedByUsedInOperatingActivities","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","target":"us-gaap:NetCashProvidedByUsedInInvestingActivities","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","target":"us-gaap:NetCashProvidedByUsedInFinancingActivities","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:NoncashInvestingAndFinancingItemsAbstract","target":"us-gaap:CapitalExpendituresIncurredButNotYetPaid","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInAccruedLiabilities","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:GoodwillImpairmentLoss","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"csbr:IncreaseDecreaseInOperatingLeaseLiabilities","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:GainLossOnTerminationOfLease","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:ProvisionForDoubtfulAccounts","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInDeferredRevenue","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:StatementOfCashFlowsAbstract","target":"us-gaap:NoncashInvestingAndFinancingItemsAbstract","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-25","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeStatementAbstract","order":1.0},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:CostOfGoodsAndServicesSold","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NonoperatingIncomeExpenseAbstract","target":"us-gaap:OtherNonoperatingIncomeExpense","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:EarningsPerShareBasicAbstract","target":"us-gaap:EarningsPerShareBasic","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:EarningsPerShareBasicOtherDisclosuresAbstract","target":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:OperatingExpensesAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:ResearchAndDevelopmentExpense","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:EarningsPerShareBasicAbstract","target":"us-gaap:EarningsPerShareDiluted","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:EarningsPerShareBasicOtherDisclosuresAbstract","target":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:SellingAndMarketingExpense","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:OperatingIncomeLoss","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:GeneralAndAdministrativeExpense","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:NonoperatingIncomeExpenseAbstract","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:GoodwillImpairmentLoss","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:OperatingCostsAndExpenses","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:IncomeTaxExpenseBenefit","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:NetIncomeLoss","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:EarningsPerShareBasicAbstract","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:EarningsPerShareBasicOtherDisclosuresAbstract","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:TypeOfRevenueExtensibleList","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-26","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","order":1.0},{"source":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","target":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-27","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","order":1.0},{"source":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract","target":"csbr:CommitmentsAndContingenciesTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:CommitmentsAndContingenciesTable","target":"srt:RangeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeAxis","target":"srt:RangeMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MinimumMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:CommitmentsAndContingenciesLineItems","target":"csbr:CollaborationArrangementRoyaltyFee","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MaximumMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:CommitmentsAndContingenciesTable","target":"csbr:CommitmentsAndContingenciesLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"csbr:CommitmentsAndContingenciesLineItems","target":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:CommitmentsAndContingenciesLineItems","target":"us-gaap:RoyaltyExpense","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-28","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"dei:CoverAbstract","order":1.0},{"source":"dei:CoverAbstract","target":"dei:DocumentType","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentAnnualReport","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentPeriodEndDate","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:CurrentFiscalYearEndDate","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentTransitionReport","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityFileNumber","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityRegistrantName","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityIncorporationStateCountryCode","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityTaxIdentificationNumber","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityAddressAddressLine1","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityAddressPostalZipCode","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityAddressCityOrTown","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityAddressStateOrProvince","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:CityAreaCode","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:LocalPhoneNumber","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:Security12bTitle","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:TradingSymbol","order":17.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:SecurityExchangeName","order":18.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityWellKnownSeasonedIssuer","order":19.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityVoluntaryFilers","order":20.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityCurrentReportingStatus","order":21.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityInteractiveDataCurrent","order":22.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityFilerCategory","order":23.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntitySmallBusiness","order":24.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityEmergingGrowthCompany","order":25.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:IcfrAuditorAttestationFlag","order":26.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityShellCompany","order":27.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityPublicFloat","order":28.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityCommonStockSharesOutstanding","order":29.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentsIncorporatedByReferenceTextBlock","order":30.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityCentralIndexKey","order":31.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:AmendmentFlag","order":32.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentFiscalPeriodFocus","order":33.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentFiscalYearFocus","order":34.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-29","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EarningsPerShareAbstract","order":1.0},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:EarningsPerShareTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-30","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EarningsPerShareAbstract","order":1.0},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","target":"us-gaap:NetIncomeLoss","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract","target":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","target":"us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract","target":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","target":"us-gaap:EarningsPerShareBasic","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:netLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract","target":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract","target":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDilutedAbstract","target":"us-gaap:EarningsPerShareDiluted","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-31","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EarningsPerShareAbstract","order":1.0},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:ScheduleOfStockByClassTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfStockByClassTable","target":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis","target":"us-gaap:AntidilutiveSecuritiesNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AntidilutiveSecuritiesNameDomain","target":"us-gaap:EmployeeStockOptionMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ClassOfStockLineItems","target":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfStockByClassTable","target":"us-gaap:ClassOfStockLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-32","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EarningsPerShareAbstract","order":1.0},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-33","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeasesAbstract","order":1.0},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:LesseeOperatingLeasesTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-34","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeasesAbstract","order":1.0},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:LesseeLeaseDescriptionTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionTable","target":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","target":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:CorporateHeadquartersMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:OperatingLeaseExpense","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:RockvilleMDMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionTable","target":"us-gaap:LesseeLeaseDescriptionLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:LesseeOperatingLeaseRenewalTerm","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:RockvilleMDNewLocationMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:OperatingLeaseRightOfUseAsset","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:OperatingLeaseLiability","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"csbr:OperatingLeaseIncrementalRentExpense","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:GainLossOnTerminationOfLease","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-35","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeasesAbstract","order":1.0},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-36","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeasesAbstract","order":1.0},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:OperatingLeaseRightOfUseAsset","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:OperatingLeaseLiabilityCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:OperatingLeaseLiabilityNoncurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-37","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeasesAbstract","order":1.0},{"source":"us-gaap:LeasesAbstract","target":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-38","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","order":1.0},{"source":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","target":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-39","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","order":1.0},{"source":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","target":"csbr:NumberofOperatingSubsidiaries","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","target":"us-gaap:NumberOfReportableSegments","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-40","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAbstract","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-41","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAbstract","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","target":"us-gaap:PropertyPlantAndEquipmentTypeDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"csbr:FinanceLeasedAssetsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:DepreciationDepletionAndAmortization","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:OtherMachineryAndEquipmentMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:FinanceLeaseDepreciationandAmortizationExpenses","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:FinanceLeaseRightOfUseAsset","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:AssetUnderConstructionMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:Depreciation","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"csbr:TradedinAssetsMember","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentDisposals","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationSaleOfPropertyPlantAndEquipment1","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentUsefulLife","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:HostingArrangementServiceContractImplementationCostCapitalizedBeforeAccumulatedAmortization","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentGross","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:HostingArrangementServiceContractImplementationCostExpenseAmortization","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:HostingArrangementServiceContractImplementationCostCapitalizedAccumulatedAmortization","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:FinanceLeaseCost","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:FinanceLeasePrincipalPayments","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:FinanceLeaseMonthlyPayment","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:NumberOfAssetsAcquired","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","order":17.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:FinanceLeaseLiabilityPaymentsDue","order":18.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:PresentValueMinimumFutureObligationsInterestRate","order":19.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","order":20.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentNet","order":21.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-42","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAbstract","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","target":"us-gaap:PropertyPlantAndEquipmentTypeDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:FurnitureAndFixturesMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentGross","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:ComputerEquipmentMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:OtherMachineryAndEquipmentMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentNet","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:AssetUnderConstructionMember","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:LeaseholdImprovementsMember","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-43","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAbstract","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:PropertyPlantAndEquipmentTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-44","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:IncomeTaxDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-45","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefits","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefits","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-46","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"csbr:DeferredTaxAssetsTaxDeferredExpenseRightOfUseAssetLiability","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"csbr:DeferredTaxLiabilityDeferredExpenseDepreciationAndAmortization","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxAssetsGross","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxAssetsValuationAllowance","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxAssetsLiabilitiesNet","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-47","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract","target":"us-gaap:CurrentFederalTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperationsAbstract","target":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperationsAbstract","target":"us-gaap:CurrentForeignTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperationsAbstract","target":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperationsAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperationsAbstract","target":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperationsAbstract","target":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperationsAbstract","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:CurrentIncomeTaxExpenseBenefit","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:IncomeTaxExpenseBenefit","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-48","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:OperatingLossCarryforwardsValuationAllowance","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:OperatingLossCarryforwards","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"csbr:OperatingLossCarryforwardsLimitationsOnUseAmount","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-49","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"csbr:EffectiveIncomeTaxRateReconciliationPermanentDifferences","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"csbr:EffectiveIncomeTaxRateReconciliationIncreaseInUncertainTaxPosition","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseImpairmentLosses","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-50","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-51","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RelatedPartyTransactionsAbstract","order":1.0},{"source":"us-gaap:RelatedPartyTransactionsAbstract","target":"us-gaap:RelatedPartyTransactionsDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-52","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RelatedPartyTransactionsAbstract","order":1.0},{"source":"us-gaap:RelatedPartyTransactionsAbstract","target":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","target":"srt:CounterpartyNameAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:CounterpartyNameAxis","target":"srt:RepurchaseAgreementCounterpartyNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RepurchaseAgreementCounterpartyNameDomain","target":"csbr:BoardMemberOneMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:TitleOfIndividualAxis","target":"srt:TitleOfIndividualWithRelationshipToEntityDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"srt:BoardOfDirectorsChairmanMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:RelatedPartyTransactionLineItems","target":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"srt:RepurchaseAgreementCounterpartyNameDomain","target":"csbr:BoardMemberTwoMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","target":"srt:TitleOfIndividualAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","target":"us-gaap:RelatedPartyTransactionLineItems","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-53","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RevenueFromContractWithCustomerAbstract","order":1.0},{"source":"us-gaap:RevenueFromContractWithCustomerAbstract","target":"us-gaap:RevenueFromContractWithCustomerTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-54","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RevenueFromContractWithCustomerAbstract","order":1.0},{"source":"us-gaap:RevenueFromContractWithCustomerAbstract","target":"us-gaap:DisaggregationOfRevenueTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"srt:ProductOrServiceAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductOrServiceAxis","target":"srt:ProductsAndServicesDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductsAndServicesDomain","target":"csbr:PharmacologyServicesMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductsAndServicesDomain","target":"csbr:PersonalizedOncologyServicesMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"us-gaap:DisaggregationOfRevenueLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductsAndServicesDomain","target":"csbr:OtherServicesMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-55","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RevenueFromContractWithCustomerAbstract","order":1.0},{"source":"us-gaap:RevenueFromContractWithCustomerAbstract","target":"us-gaap:DisaggregationOfRevenueTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeAxis","target":"srt:RangeMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MinimumMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductOrServiceAxis","target":"srt:ProductsAndServicesDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:ProductsAndServicesDomain","target":"csbr:FewContractsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"srt:RangeAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MaximumMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"srt:ProductOrServiceAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","target":"us-gaap:DisaggregationOfRevenueLineItems","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-56","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RevenueFromContractWithCustomerAbstract","order":1.0},{"source":"us-gaap:RevenueFromContractWithCustomerAbstract","target":"us-gaap:DisaggregationOfRevenueTableTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-57","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RisksAndUncertaintiesAbstract","order":1.0},{"source":"us-gaap:RisksAndUncertaintiesAbstract","target":"us-gaap:ConcentrationRiskDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-58","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-59","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable","target":"us-gaap:IncomeStatementLocationAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationAxis","target":"us-gaap:IncomeStatementLocationDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:GeneralAndAdministrativeExpenseMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems","target":"us-gaap:AllocatedShareBasedCompensationExpense","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:SellingAndMarketingExpenseMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable","target":"us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"us-gaap:ResearchAndDevelopmentExpenseMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"csbr:TranslationalOncologySolutionsCostOfSalesMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeStatementLocationDomain","target":"csbr:PersonalizedOncologySolutionsCostOfSalesMember","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-60","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:PlanNameAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameAxis","target":"us-gaap:PlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"csbr:EquityIncentivePlan2010Member","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeAxis","target":"srt:RangeMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MaximumMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:TitleOfIndividualAxis","target":"srt:TitleOfIndividualWithRelationshipToEntityDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"srt:BoardOfDirectorsChairmanMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:AllocatedShareBasedCompensationExpense","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"csbr:TwoThousandEightEquityIncentivePlanMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"srt:RangeAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"csbr:DirectorCompensationPlanMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"srt:TitleOfIndividualAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:StockOptionsAwardSharesToPurchaseCommonStock","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:StockOptionsAwardSharesToPurchaseUnregisteredCommonStock","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedPercentage","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsOutstanding","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ProceedsFromWarrantExercises","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:StockIssuedDuringPeriodSharesStockOptionsAndWarrantsExercised","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-61","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"srt:TitleOfIndividualAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:TitleOfIndividualAxis","target":"srt:TitleOfIndividualWithRelationshipToEntityDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"csbr:NonEmployeesMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"csbr:DirectorsAndEmployeesMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsGrantInPeriodWeightedAverageRemainingContractualTerm","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-62","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"srt:RangeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeAxis","target":"srt:RangeMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MinimumMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"srt:RangeMember","target":"srt:MaximumMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-63","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:StatementEquityComponentsAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementEquityComponentsAxis","target":"us-gaap:EquityComponentDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:WarrantMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodIntrinsicValue","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract","target":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsAggregateIntrinsicValueGranted","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward","target":"csbr:SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisedInPeriod","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward","target":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsExercisesInPeriodWeightedAverageExercisePrice","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract","target":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward","target":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsForfeituresInPeriodWeightedAverageExercisePrice","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract","target":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueForfeited","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward","target":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsInPeriod","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward","target":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsExpirationsInPeriodWeightedAverageExercisePrice","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract","target":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExpired","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-64","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","order":1.0},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract","target":"csbr:ScheduleOfShareBasedCompensationWarrantsActivityTableTextBlock","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-65","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:SubsequentEventsAbstract","order":1.0},{"source":"us-gaap:SubsequentEventsAbstract","target":"us-gaap:SubsequentEventsTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-66","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:SignificantAccountingPoliciesTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-67","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"srt:RestatementAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RestatementAxis","target":"srt:RestatementDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RestatementDomain","target":"srt:ScenarioPreviouslyReportedMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:AccruedLiabilitiesCurrent","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"srt:RestatementDomain","target":"srt:RestatementAdjustmentMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:LiabilitiesCurrent","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:Liabilities","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:RetainedEarningsAccumulatedDeficit","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:StockholdersEquity","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:CostOfGoodsAndServicesSold","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:OperatingCostsAndExpenses","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:OperatingIncomeLoss","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:NetIncomeLoss","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:EarningsPerShareBasic","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:netLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:EarningsPerShareDiluted","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-68","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"srt:RangeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeAxis","target":"srt:RangeMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MinimumMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AdjustmentsForNewAccountingPronouncementsAxis","target":"us-gaap:TypeOfAdoptionMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TypeOfAdoptionMember","target":"us-gaap:AccountingStandardsUpdate201602Member","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RestatementAxis","target":"srt:RestatementDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RestatementDomain","target":"srt:RestatementAdjustmentMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:IncreaseDecreaseInAccruedLiabilities","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MaximumMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:AdjustmentsForNewAccountingPronouncementsAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:NetIncomeLoss","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"srt:RestatementAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:StockholdersEquity","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentLineItems","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:Cash","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:CashEquivalentsAtCarryingValue","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:WorkingCapital","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentUsefulLife","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:ImpairmentOfLongLivedAssetsHeldForUse","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:NumberOfReportableSegments","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:GoodwillImpairmentLoss","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:Goodwill","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:UnrecognizedTaxBenefits","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:IncomeTaxExpenseBenefit","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:OperatingLeaseRightOfUseAsset","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:AdvanceRent","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:OperatingLeaseLiability","order":17.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-69","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:BasisOfAccountingPolicyPolicyTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ConsolidationPolicyTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:UseOfEstimates","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:FairValueMeasurementPolicyPolicyTextBlock","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:PropertyPlantAndEquipmentPolicyTextBlock","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:LesseeLeasesPolicyTextBlock","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"csbr:OtherLongTermAssetsPolicyTextBlock","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"csbr:OtherNoncurrentLiabilitiesPolicyTextBlock","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"csbr:CostOfOncologySolutionsPolicyTextBlock","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ResearchAndDevelopmentExpensePolicy","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:CostOfSalesPolicyTextBlock","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:EarningsPerSharePolicyTextBlock","order":17.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy","order":18.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:IncomeTaxPolicyTextBlock","order":19.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","order":20.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-70","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-calculation-71","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountsReceivableNetCurrent","order":1.0},{"source":"us-gaap:AccountsReceivableGross","target":"csbr:TradeAccountsReceivable","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccountsReceivableNetCurrent","target":"us-gaap:AccountsReceivableGross","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccountsReceivableGross","target":"us-gaap:UnbilledContractsReceivable","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccountsReceivableNetCurrent","target":"us-gaap:AllowanceForDoubtfulAccountsReceivable","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]}]},{"name":"rpt:network-calculation-72","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:Assets","order":1.0},{"source":"xbrl:rootSource","target":"us-gaap:LiabilitiesAndStockholdersEquity","order":2.0},{"source":"us-gaap:AssetsCurrent","target":"us-gaap:Cash","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:AccountsPayableCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Liabilities","target":"us-gaap:LiabilitiesCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquity","target":"us-gaap:Liabilities","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquity","target":"us-gaap:CommonStockValue","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Assets","target":"us-gaap:AssetsCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AssetsCurrent","target":"us-gaap:AccountsReceivableNetCurrent","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:AccruedLiabilitiesCurrent","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Liabilities","target":"us-gaap:OtherLiabilitiesNoncurrent","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquity","target":"us-gaap:StockholdersEquity","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquity","target":"us-gaap:AdditionalPaidInCapitalCommonStock","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Assets","target":"us-gaap:PropertyPlantAndEquipmentNet","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AssetsCurrent","target":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:ContractWithCustomerLiabilityCurrent","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Liabilities","target":"us-gaap:OperatingLeaseLiabilityNoncurrent","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquity","target":"us-gaap:RetainedEarningsAccumulatedDeficit","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Assets","target":"us-gaap:Goodwill","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:OperatingLeaseLiabilityCurrent","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Assets","target":"us-gaap:OtherAssetsNoncurrent","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:FinanceLeaseLiabilityCurrent","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:Assets","target":"us-gaap:OperatingLeaseRightOfUseAsset","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-73","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","order":1.0},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivities","target":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","order":1.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:NetIncomeLoss","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","target":"us-gaap:NetCashProvidedByUsedInOperatingActivities","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivities","target":"us-gaap:FinanceLeasePrincipalPayments","order":1.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivities","target":"csbr:ProceedsFromRefundOfSecurityDeposit","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:ShareBasedCompensation","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","target":"us-gaap:NetCashProvidedByUsedInInvestingActivities","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInFinancingActivities","target":"csbr:ProceedsFromExerciseOfOptionsAndWarrants","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:DepreciationAndAmortization","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","target":"us-gaap:NetCashProvidedByUsedInFinancingActivities","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","order":4.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:GoodwillImpairmentLoss","order":6.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:GainLossOnTerminationOfLease","order":7.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:ProvisionForDoubtfulAccounts","order":8.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInAccountsReceivable","order":9.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","order":10.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInAccountsPayable","order":11.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInAccruedLiabilities","order":12.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"csbr:IncreaseDecreaseInOperatingLeaseLiabilities","order":13.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","order":14.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInDeferredRevenue","order":15.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-74","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:NetIncomeLoss","order":1.0},{"source":"us-gaap:NetIncomeLoss","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingIncomeLoss","target":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","target":"us-gaap:OperatingIncomeLoss","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingCostsAndExpenses","target":"us-gaap:CostOfGoodsAndServicesSold","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetIncomeLoss","target":"us-gaap:IncomeTaxExpenseBenefit","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:OperatingIncomeLoss","target":"us-gaap:OperatingCostsAndExpenses","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","target":"us-gaap:OtherNonoperatingIncomeExpense","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingCostsAndExpenses","target":"us-gaap:ResearchAndDevelopmentExpense","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingCostsAndExpenses","target":"us-gaap:SellingAndMarketingExpense","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingCostsAndExpenses","target":"us-gaap:GeneralAndAdministrativeExpense","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:OperatingCostsAndExpenses","target":"us-gaap:GoodwillImpairmentLoss","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-75","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","order":1.0},{"source":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","target":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","target":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-76","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","order":1.0},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive","order":6.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-77","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentNet","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentNet","target":"us-gaap:PropertyPlantAndEquipmentGross","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:PropertyPlantAndEquipmentNet","target":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]}]},{"name":"rpt:network-calculation-78","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DeferredTaxAssetsLiabilitiesNet","order":1.0},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsLiabilitiesNet","target":"us-gaap:DeferredTaxAssetsGross","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"csbr:DeferredTaxLiabilityDeferredExpenseDepreciationAndAmortization","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:DeferredTaxAssetsLiabilitiesNet","target":"us-gaap:DeferredTaxAssetsValuationAllowance","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"csbr:DeferredTaxAssetsTaxDeferredExpenseRightOfUseAssetLiability","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-79","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations","order":1.0},{"source":"xbrl:rootSource","target":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","order":2.0},{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxExpenseBenefit","order":3.0},{"source":"xbrl:rootSource","target":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","order":4.0},{"source":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","target":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:CurrentIncomeTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations","target":"us-gaap:CurrentFederalTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CurrentIncomeTaxExpenseBenefit","target":"us-gaap:CurrentFederalTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","target":"us-gaap:CurrentForeignTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CurrentIncomeTaxExpenseBenefit","target":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:CurrentIncomeTaxExpenseBenefit","target":"us-gaap:CurrentForeignTaxExpenseBenefit","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-80","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxExpenseBenefit","order":1.0},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-81","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","order":1.0},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"csbr:EffectiveIncomeTaxRateReconciliationPermanentDifferences","order":4.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"csbr:EffectiveIncomeTaxRateReconciliationIncreaseInUncertainTaxPosition","order":5.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","order":6.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseImpairmentLosses","order":7.0,"properties":[{"property":"xbrl:weight","value":-1.0}]}]}],"groups":[{"name":"rpt:group-0","groupURI":"http://championsoncology.com/role/AccountsReceivableUnbilledServicesandDeferredRevenue"},{"name":"rpt:group-1","groupURI":"http://championsoncology.com/role/AccountsReceivableUnbilledServicesandDeferredRevenueSummaryofAccountsReceivableDetails"},{"name":"rpt:group-2","groupURI":"http://championsoncology.com/role/AccountsReceivableUnbilledServicesandDeferredRevenueSummaryofDeferredRevenueDetails"},{"name":"rpt:group-3","groupURI":"http://championsoncology.com/role/AccountsReceivableUnbilledServicesandDeferredRevenueTables"},{"name":"rpt:group-4","groupURI":"http://championsoncology.com/role/CONSOLIDATEDBALANCESHEETS"},{"name":"rpt:group-5","groupURI":"http://championsoncology.com/role/CONSOLIDATEDBALANCESHEETSParenthetical"},{"name":"rpt:group-6","groupURI":"http://championsoncology.com/role/CONSOLIDATEDSTATEMENTOFCHANGESINSTOCKHOLDERSEQUITY"},{"name":"rpt:group-7","groupURI":"http://championsoncology.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"},{"name":"rpt:group-8","groupURI":"http://championsoncology.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS"},{"name":"rpt:group-9","groupURI":"http://championsoncology.com/role/CommitmentsandContingencies"},{"name":"rpt:group-10","groupURI":"http://championsoncology.com/role/CommitmentsandContingenciesNarrativeDetails"},{"name":"rpt:group-11","groupURI":"http://championsoncology.com/role/Cover"},{"name":"rpt:group-12","groupURI":"http://championsoncology.com/role/EarningsPerShare"},{"name":"rpt:group-13","groupURI":"http://championsoncology.com/role/EarningsPerShareCalculationsofEarningsPerShareDetails"},{"name":"rpt:group-14","groupURI":"http://championsoncology.com/role/EarningsPerShareSummaryofPotentiallyDilutiveStockbasedInstrumentsDetails"},{"name":"rpt:group-15","groupURI":"http://championsoncology.com/role/EarningsPerShareTables"},{"name":"rpt:group-16","groupURI":"http://championsoncology.com/role/Leases"},{"name":"rpt:group-17","groupURI":"http://championsoncology.com/role/LeasesDetails"},{"name":"rpt:group-18","groupURI":"http://championsoncology.com/role/LeasesFutureMinimumLeasePaymentsDetails"},{"name":"rpt:group-19","groupURI":"http://championsoncology.com/role/LeasesROUAssetsandLeaseLiabilitiesDetails"},{"name":"rpt:group-20","groupURI":"http://championsoncology.com/role/LeasesTables"},{"name":"rpt:group-21","groupURI":"http://championsoncology.com/role/OrganizationandBasisofPresentation"},{"name":"rpt:group-22","groupURI":"http://championsoncology.com/role/OrganizationandBasisofPresentationNarrativeDetails"},{"name":"rpt:group-23","groupURI":"http://championsoncology.com/role/PropertyandEquipment"},{"name":"rpt:group-24","groupURI":"http://championsoncology.com/role/PropertyandEquipmentNarrativeDetails"},{"name":"rpt:group-25","groupURI":"http://championsoncology.com/role/PropertyandEquipmentSummaryofPropertyandEquipmentDetails"},{"name":"rpt:group-26","groupURI":"http://championsoncology.com/role/PropertyandEquipmentTables"},{"name":"rpt:group-27","groupURI":"http://championsoncology.com/role/ProvisionforIncomeTaxes"},{"name":"rpt:group-28","groupURI":"http://championsoncology.com/role/ProvisionforIncomeTaxesChangeinUncertainTaxPositionsDetails"},{"name":"rpt:group-29","groupURI":"http://championsoncology.com/role/ProvisionforIncomeTaxesComponentsofDeferredTaxAssetsandLiabilitiesDetails"},{"name":"rpt:group-30","groupURI":"http://championsoncology.com/role/ProvisionforIncomeTaxesComponentsofProvisionBenefitforIncomeTaxesDetails"},{"name":"rpt:group-31","groupURI":"http://championsoncology.com/role/ProvisionforIncomeTaxesNarrativeDetails"},{"name":"rpt:group-32","groupURI":"http://championsoncology.com/role/ProvisionforIncomeTaxesReconciliationofEffectiveTaxRateDetails"},{"name":"rpt:group-33","groupURI":"http://championsoncology.com/role/ProvisionforIncomeTaxesTables"},{"name":"rpt:group-34","groupURI":"http://championsoncology.com/role/RelatedPartyTransactions"},{"name":"rpt:group-35","groupURI":"http://championsoncology.com/role/RelatedPartyTransactionsNarrativeDetails"},{"name":"rpt:group-36","groupURI":"http://championsoncology.com/role/RevenuefromContractswithCustomers"},{"name":"rpt:group-37","groupURI":"http://championsoncology.com/role/RevenuefromContractswithCustomersDisaggregationofRevenueDetails"},{"name":"rpt:group-38","groupURI":"http://championsoncology.com/role/RevenuefromContractswithCustomersNarrativeDetails"},{"name":"rpt:group-39","groupURI":"http://championsoncology.com/role/RevenuefromContractswithCustomersTables"},{"name":"rpt:group-40","groupURI":"http://championsoncology.com/role/SignificantCustomers"},{"name":"rpt:group-41","groupURI":"http://championsoncology.com/role/StockbasedPayments"},{"name":"rpt:group-42","groupURI":"http://championsoncology.com/role/StockbasedPaymentsAllocationofStockbasedCompensationCostsDetails"},{"name":"rpt:group-43","groupURI":"http://championsoncology.com/role/StockbasedPaymentsNarrativeDetails"},{"name":"rpt:group-44","groupURI":"http://championsoncology.com/role/StockbasedPaymentsStockOptionActivityDetails"},{"name":"rpt:group-45","groupURI":"http://championsoncology.com/role/StockbasedPaymentsStockOptionGrantsAssumptionsDetails"},{"name":"rpt:group-46","groupURI":"http://championsoncology.com/role/StockbasedPaymentsStockPurchaseWarrantsActivityDetails"},{"name":"rpt:group-47","groupURI":"http://championsoncology.com/role/StockbasedPaymentsTables"},{"name":"rpt:group-48","groupURI":"http://championsoncology.com/role/SubsequentEvents"},{"name":"rpt:group-49","groupURI":"http://championsoncology.com/role/SummaryofSignificantAccountingPolicies"},{"name":"rpt:group-50","groupURI":"http://championsoncology.com/role/SummaryofSignificantAccountingPoliciesConsolidatedFinancialStatementsDetails"},{"name":"rpt:group-51","groupURI":"http://championsoncology.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"},{"name":"rpt:group-52","groupURI":"http://championsoncology.com/role/SummaryofSignificantAccountingPoliciesPolicies"},{"name":"rpt:group-53","groupURI":"http://championsoncology.com/role/SummaryofSignificantAccountingPoliciesTables"},{"name":"rpt:group-54","groupURI":"http://championsoncology.com/role/ProvisionforIncomeTaxesComponentsofProvisionBenefitforIncomeTaxesDetails_1"},{"name":"rpt:group-55","groupURI":"http://championsoncology.com/role/RevenuefromContractswithCustomersNarrativeDetails_1"}],"groupContents":[{"groupName":"rpt:group-0","forObject":"rpt:network-presentation-17"},{"groupName":"rpt:group-1","forObject":"rpt:network-presentation-18"},{"groupName":"rpt:group-2","forObject":"rpt:network-presentation-19"},{"groupName":"rpt:group-3","forObject":"rpt:network-presentation-20"},{"groupName":"rpt:group-4","forObject":"rpt:network-presentation-21"},{"groupName":"rpt:group-5","forObject":"rpt:network-presentation-22"},{"groupName":"rpt:group-6","forObject":"rpt:network-presentation-23"},{"groupName":"rpt:group-7","forObject":"rpt:network-presentation-24"},{"groupName":"rpt:group-8","forObject":"rpt:network-presentation-25"},{"groupName":"rpt:group-9","forObject":"rpt:network-presentation-26"},{"groupName":"rpt:group-10","forObject":"rpt:network-presentation-27"},{"groupName":"rpt:group-11","forObject":"rpt:network-presentation-28"},{"groupName":"rpt:group-12","forObject":"rpt:network-presentation-29"},{"groupName":"rpt:group-13","forObject":"rpt:network-presentation-30"},{"groupName":"rpt:group-14","forObject":"rpt:network-presentation-31"},{"groupName":"rpt:group-15","forObject":"rpt:network-presentation-32"},{"groupName":"rpt:group-16","forObject":"rpt:network-presentation-33"},{"groupName":"rpt:group-17","forObject":"rpt:network-presentation-34"},{"groupName":"rpt:group-18","forObject":"rpt:network-presentation-35"},{"groupName":"rpt:group-19","forObject":"rpt:network-presentation-36"},{"groupName":"rpt:group-20","forObject":"rpt:network-presentation-37"},{"groupName":"rpt:group-21","forObject":"rpt:network-presentation-38"},{"groupName":"rpt:group-22","forObject":"rpt:network-presentation-39"},{"groupName":"rpt:group-23","forObject":"rpt:network-presentation-40"},{"groupName":"rpt:group-24","forObject":"rpt:network-presentation-41"},{"groupName":"rpt:group-25","forObject":"rpt:network-presentation-42"},{"groupName":"rpt:group-26","forObject":"rpt:network-presentation-43"},{"groupName":"rpt:group-27","forObject":"rpt:network-presentation-44"},{"groupName":"rpt:group-28","forObject":"rpt:network-presentation-45"},{"groupName":"rpt:group-29","forObject":"rpt:network-presentation-46"},{"groupName":"rpt:group-30","forObject":"rpt:network-presentation-47"},{"groupName":"rpt:group-31","forObject":"rpt:network-presentation-48"},{"groupName":"rpt:group-32","forObject":"rpt:network-presentation-49"},{"groupName":"rpt:group-33","forObject":"rpt:network-presentation-50"},{"groupName":"rpt:group-34","forObject":"rpt:network-presentation-51"},{"groupName":"rpt:group-35","forObject":"rpt:network-presentation-52"},{"groupName":"rpt:group-36","forObject":"rpt:network-presentation-53"},{"groupName":"rpt:group-37","forObject":"rpt:network-presentation-54"},{"groupName":"rpt:group-38","forObject":"rpt:network-presentation-55"},{"groupName":"rpt:group-39","forObject":"rpt:network-presentation-56"},{"groupName":"rpt:group-40","forObject":"rpt:network-presentation-57"},{"groupName":"rpt:group-41","forObject":"rpt:network-presentation-58"},{"groupName":"rpt:group-42","forObject":"rpt:network-presentation-59"},{"groupName":"rpt:group-43","forObject":"rpt:network-presentation-60"},{"groupName":"rpt:group-44","forObject":"rpt:network-presentation-61"},{"groupName":"rpt:group-45","forObject":"rpt:network-presentation-62"},{"groupName":"rpt:group-46","forObject":"rpt:network-presentation-63"},{"groupName":"rpt:group-47","forObject":"rpt:network-presentation-64"},{"groupName":"rpt:group-48","forObject":"rpt:network-presentation-65"},{"groupName":"rpt:group-49","forObject":"rpt:network-presentation-66"},{"groupName":"rpt:group-50","forObject":"rpt:network-presentation-67"},{"groupName":"rpt:group-51","forObject":"rpt:network-presentation-68"},{"groupName":"rpt:group-52","forObject":"rpt:network-presentation-69"},{"groupName":"rpt:group-53","forObject":"rpt:network-presentation-70"},{"groupName":"rpt:group-1","forObject":"rpt:network-calculation-71"},{"groupName":"rpt:group-4","forObject":"rpt:network-calculation-72"},{"groupName":"rpt:group-7","forObject":"rpt:network-calculation-73"},{"groupName":"rpt:group-8","forObject":"rpt:network-calculation-74"},{"groupName":"rpt:group-13","forObject":"rpt:network-calculation-75"},{"groupName":"rpt:group-18","forObject":"rpt:network-calculation-76"},{"groupName":"rpt:group-25","forObject":"rpt:network-calculation-77"},{"groupName":"rpt:group-29","forObject":"rpt:network-calculation-78"},{"groupName":"rpt:group-30","forObject":"rpt:network-calculation-79"},{"groupName":"rpt:group-54","forObject":"rpt:network-calculation-80"},{"groupName":"rpt:group-32","forObject":"rpt:network-calculation-81"},{"groupName":"rpt:group-6","forObject":"rpt:cube-0"},{"groupName":"rpt:group-10","forObject":"rpt:cube-1"},{"groupName":"rpt:group-14","forObject":"rpt:cube-2"},{"groupName":"rpt:group-17","forObject":"rpt:cube-3"},{"groupName":"rpt:group-24","forObject":"rpt:cube-4"},{"groupName":"rpt:group-25","forObject":"rpt:cube-5"},{"groupName":"rpt:group-35","forObject":"rpt:cube-6"},{"groupName":"rpt:group-37","forObject":"rpt:cube-7"},{"groupName":"rpt:group-38","forObject":"rpt:cube-8"},{"groupName":"rpt:group-55","forObject":"rpt:cube-9"},{"groupName":"rpt:group-42","forObject":"rpt:cube-10"},{"groupName":"rpt:group-43","forObject":"rpt:cube-11"},{"groupName":"rpt:group-44","forObject":"rpt:cube-12"},{"groupName":"rpt:group-45","forObject":"rpt:cube-13"},{"groupName":"rpt:group-46","forObject":"rpt:cube-14"},{"groupName":"rpt:group-50","forObject":"rpt:cube-15"},{"groupName":"rpt:group-51","forObject":"rpt:cube-16"}],"facts":[{"name":"rpt:f-0","factDimensions":{"xbrl:concept":"dei:EntityCentralIndexKey","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"0000771856","language":"en-us"}]},{"name":"rpt:f-1","factDimensions":{"xbrl:concept":"dei:AmendmentFlag","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-2","factDimensions":{"xbrl:concept":"dei:DocumentFiscalPeriodFocus","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"FY","language":"en-us"}]},{"name":"rpt:f-3","factDimensions":{"xbrl:concept":"dei:DocumentFiscalYearFocus","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"2021"}]},{"name":"rpt:f-4","factDimensions":{"xbrl:concept":"us-gaap:TypeOfRevenueExtensibleList","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2021-01-31#ServiceMember"}]},{"name":"rpt:f-5","factDimensions":{"xbrl:concept":"us-gaap:TypeOfRevenueExtensibleList","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2021-01-31#ServiceMember"}]},{"name":"rpt:f-6","factDimensions":{"xbrl:concept":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2021-01-31#ServiceMember"}]},{"name":"rpt:f-7","factDimensions":{"xbrl:concept":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2021-01-31#ServiceMember"}]},{"name":"rpt:f-8","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentUsefulLife","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-9","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"P0Y"}]},{"name":"rpt:f-10","factDimensions":{"xbrl:concept":"dei:DocumentType","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"10-K","language":"en-us"}]},{"name":"rpt:f-11","factDimensions":{"xbrl:concept":"dei:DocumentAnnualReport","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"true"}]},{"name":"rpt:f-12","factDimensions":{"xbrl:concept":"dei:DocumentPeriodEndDate","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"2021-04-30"}]},{"name":"rpt:f-13","factDimensions":{"xbrl:concept":"dei:CurrentFiscalYearEndDate","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"--04-30"}]},{"name":"rpt:f-14","factDimensions":{"xbrl:concept":"dei:DocumentTransitionReport","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-15","factDimensions":{"xbrl:concept":"dei:EntityFileNumber","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"001-11504","language":"en-us"}]},{"name":"rpt:f-16","factDimensions":{"xbrl:concept":"dei:EntityRegistrantName","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"CHAMPIONS ONCOLOGY, INC.","language":"en-us"}]},{"name":"rpt:f-17","factDimensions":{"xbrl:concept":"dei:EntityIncorporationStateCountryCode","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"DE","language":"en-us"}]},{"name":"rpt:f-18","factDimensions":{"xbrl:concept":"dei:EntityTaxIdentificationNumber","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"52-1401755","language":"en-us"}]},{"name":"rpt:f-19","factDimensions":{"xbrl:concept":"dei:EntityAddressAddressLine1","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"One University Plaza, Suite 307","language":"en-us"}]},{"name":"rpt:f-20","factDimensions":{"xbrl:concept":"dei:EntityAddressPostalZipCode","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"07601","language":"en-us"}]},{"name":"rpt:f-21","factDimensions":{"xbrl:concept":"dei:EntityAddressCityOrTown","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Hackensack","language":"en-us"}]},{"name":"rpt:f-22","factDimensions":{"xbrl:concept":"dei:EntityAddressStateOrProvince","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"NJ","language":"en-us"}]},{"name":"rpt:f-23","factDimensions":{"xbrl:concept":"dei:CityAreaCode","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"201","language":"en-us"}]},{"name":"rpt:f-24","factDimensions":{"xbrl:concept":"dei:LocalPhoneNumber","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"808-8400","language":"en-us"}]},{"name":"rpt:f-25","factDimensions":{"xbrl:concept":"dei:Security12bTitle","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Common Stock, par value $0.001 per share","language":"en-us"}]},{"name":"rpt:f-26","factDimensions":{"xbrl:concept":"dei:TradingSymbol","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"CSBR","language":"en-us"}]},{"name":"rpt:f-27","factDimensions":{"xbrl:concept":"dei:SecurityExchangeName","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"NASDAQ","language":"en-us"}]},{"name":"rpt:f-28","factDimensions":{"xbrl:concept":"dei:EntityWellKnownSeasonedIssuer","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"No","language":"en-us"}]},{"name":"rpt:f-29","factDimensions":{"xbrl:concept":"dei:EntityVoluntaryFilers","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"No","language":"en-us"}]},{"name":"rpt:f-30","factDimensions":{"xbrl:concept":"dei:EntityCurrentReportingStatus","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Yes","language":"en-us"}]},{"name":"rpt:f-31","factDimensions":{"xbrl:concept":"dei:EntityInteractiveDataCurrent","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Yes","language":"en-us"}]},{"name":"rpt:f-32","factDimensions":{"xbrl:concept":"dei:EntityFilerCategory","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Non-accelerated Filer","language":"en-us"}]},{"name":"rpt:f-33","factDimensions":{"xbrl:concept":"dei:EntitySmallBusiness","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"true"}]},{"name":"rpt:f-34","factDimensions":{"xbrl:concept":"dei:EntityEmergingGrowthCompany","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-35","factDimensions":{"xbrl:concept":"dei:IcfrAuditorAttestationFlag","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-36","factDimensions":{"xbrl:concept":"dei:EntityShellCompany","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-37","factDimensions":{"xbrl:concept":"dei:EntityPublicFloat","xbrl:period":"2020-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"50100000","decimals":-5}]},{"name":"rpt:f-38","factDimensions":{"xbrl:concept":"dei:EntityCommonStockSharesOutstanding","xbrl:period":"2021-07-17T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13415066"}]},{"name":"rpt:f-39","factDimensions":{"xbrl:concept":"dei:DocumentsIncorporatedByReferenceTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Portions of the Registrant\u2019s definitive Proxy Statement for its 2021 Annual Meeting of Shareholders to be filed with the Securities and Exchange Commission pursuant to Regulation 14A under the Securities Exchange Act of 1934, as amended, are incorporated by reference into Part III of this Form 10-K.","language":"en-us"}]},{"name":"rpt:f-40","factDimensions":{"xbrl:concept":"us-gaap:Cash","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4687000","decimals":-3}]},{"name":"rpt:f-41","factDimensions":{"xbrl:concept":"us-gaap:Cash","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8342000","decimals":-3}]},{"name":"rpt:f-42","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6986000","decimals":-3}]},{"name":"rpt:f-43","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4770000","decimals":-3}]},{"name":"rpt:f-44","factDimensions":{"xbrl:concept":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"957000","decimals":-3}]},{"name":"rpt:f-45","factDimensions":{"xbrl:concept":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"385000","decimals":-3}]},{"name":"rpt:f-46","factDimensions":{"xbrl:concept":"us-gaap:AssetsCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12630000","decimals":-3}]},{"name":"rpt:f-47","factDimensions":{"xbrl:concept":"us-gaap:AssetsCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"13497000","decimals":-3}]},{"name":"rpt:f-48","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8521000","decimals":-3}]},{"name":"rpt:f-49","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2798000","decimals":-3}]},{"name":"rpt:f-50","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentNet","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6090000","decimals":-3}]},{"name":"rpt:f-51","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentNet","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3993000","decimals":-3}]},{"name":"rpt:f-52","factDimensions":{"xbrl:concept":"us-gaap:OtherAssetsNoncurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15000","decimals":-3}]},{"name":"rpt:f-53","factDimensions":{"xbrl:concept":"us-gaap:OtherAssetsNoncurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"128000","decimals":-3}]},{"name":"rpt:f-54","factDimensions":{"xbrl:concept":"us-gaap:Goodwill","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"335000","decimals":-3}]},{"name":"rpt:f-55","factDimensions":{"xbrl:concept":"us-gaap:Goodwill","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"335000","decimals":-3}]},{"name":"rpt:f-56","factDimensions":{"xbrl:concept":"us-gaap:Assets","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"27591000","decimals":-3}]},{"name":"rpt:f-57","factDimensions":{"xbrl:concept":"us-gaap:Assets","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"20751000","decimals":-3}]},{"name":"rpt:f-58","factDimensions":{"xbrl:concept":"us-gaap:AccountsPayableCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1894000","decimals":-3}]},{"name":"rpt:f-59","factDimensions":{"xbrl:concept":"us-gaap:AccountsPayableCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3140000","decimals":-3}]},{"name":"rpt:f-60","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2231000","decimals":-3}]},{"name":"rpt:f-61","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2721000","decimals":-3}]},{"name":"rpt:f-62","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"818000","decimals":-3}]},{"name":"rpt:f-63","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"503000","decimals":-3}]},{"name":"rpt:f-64","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-65","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"125000","decimals":-3}]},{"name":"rpt:f-66","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6256000","decimals":-3}]},{"name":"rpt:f-67","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5815000","decimals":-3}]},{"name":"rpt:f-68","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11199000","decimals":-3}]},{"name":"rpt:f-69","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12304000","decimals":-3}]},{"name":"rpt:f-70","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityNoncurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8783000","decimals":-3}]},{"name":"rpt:f-71","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityNoncurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3170000","decimals":-3}]},{"name":"rpt:f-72","factDimensions":{"xbrl:concept":"us-gaap:OtherLiabilitiesNoncurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-73","factDimensions":{"xbrl:concept":"us-gaap:OtherLiabilitiesNoncurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"178000","decimals":-3}]},{"name":"rpt:f-74","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"20163000","decimals":-3}]},{"name":"rpt:f-75","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15652000","decimals":-3}]},{"name":"rpt:f-76","factDimensions":{"xbrl:concept":"us-gaap:CommonStockParOrStatedValuePerShare","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.001"}]},{"name":"rpt:f-77","factDimensions":{"xbrl:concept":"us-gaap:CommonStockParOrStatedValuePerShare","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.001"}]},{"name":"rpt:f-78","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesAuthorized","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"200000000"}]},{"name":"rpt:f-79","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesAuthorized","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"200000000"}]},{"name":"rpt:f-80","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13414066"}]},{"name":"rpt:f-81","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesIssued","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13414066"}]},{"name":"rpt:f-82","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"12726728"}]},{"name":"rpt:f-83","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesIssued","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"12726728"}]},{"name":"rpt:f-84","factDimensions":{"xbrl:concept":"us-gaap:CommonStockValue","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"13000","decimals":-3}]},{"name":"rpt:f-85","factDimensions":{"xbrl:concept":"us-gaap:CommonStockValue","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"13000","decimals":-3}]},{"name":"rpt:f-86","factDimensions":{"xbrl:concept":"us-gaap:AdditionalPaidInCapitalCommonStock","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"79945000","decimals":-3}]},{"name":"rpt:f-87","factDimensions":{"xbrl:concept":"us-gaap:AdditionalPaidInCapitalCommonStock","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"77978000","decimals":-3}]},{"name":"rpt:f-88","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-72530000","decimals":-3}]},{"name":"rpt:f-89","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-72892000","decimals":-3}]},{"name":"rpt:f-90","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7428000","decimals":-3}]},{"name":"rpt:f-91","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5099000","decimals":-3}]},{"name":"rpt:f-92","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesAndStockholdersEquity","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"27591000","decimals":-3}]},{"name":"rpt:f-93","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesAndStockholdersEquity","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"20751000","decimals":-3}]},{"name":"rpt:f-94","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"41040000","decimals":-3}]},{"name":"rpt:f-95","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"32123000","decimals":-3}]},{"name":"rpt:f-96","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"21446000","decimals":-3}]},{"name":"rpt:f-97","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"17000000","decimals":-3}]},{"name":"rpt:f-98","factDimensions":{"xbrl:concept":"us-gaap:ResearchAndDevelopmentExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7196000","decimals":-3}]},{"name":"rpt:f-99","factDimensions":{"xbrl:concept":"us-gaap:ResearchAndDevelopmentExpense","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5853000","decimals":-3}]},{"name":"rpt:f-100","factDimensions":{"xbrl:concept":"us-gaap:SellingAndMarketingExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5520000","decimals":-3}]},{"name":"rpt:f-101","factDimensions":{"xbrl:concept":"us-gaap:SellingAndMarketingExpense","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4242000","decimals":-3}]},{"name":"rpt:f-102","factDimensions":{"xbrl:concept":"us-gaap:GeneralAndAdministrativeExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6512000","decimals":-3}]},{"name":"rpt:f-103","factDimensions":{"xbrl:concept":"us-gaap:GeneralAndAdministrativeExpense","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6614000","decimals":-3}]},{"name":"rpt:f-104","factDimensions":{"xbrl:concept":"us-gaap:GoodwillImpairmentLoss","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-105","factDimensions":{"xbrl:concept":"us-gaap:GoodwillImpairmentLoss","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"335000","decimals":-3}]},{"name":"rpt:f-106","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"40674000","decimals":-3}]},{"name":"rpt:f-107","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"34044000","decimals":-3}]},{"name":"rpt:f-108","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"366000","decimals":-3}]},{"name":"rpt:f-109","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1921000","decimals":-3}]},{"name":"rpt:f-110","factDimensions":{"xbrl:concept":"us-gaap:OtherNonoperatingIncomeExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"71000","decimals":-3}]},{"name":"rpt:f-111","factDimensions":{"xbrl:concept":"us-gaap:OtherNonoperatingIncomeExpense","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-42000","decimals":-3}]},{"name":"rpt:f-112","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"437000","decimals":-3}]},{"name":"rpt:f-113","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1963000","decimals":-3}]},{"name":"rpt:f-114","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"75000","decimals":-3}]},{"name":"rpt:f-115","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"130000","decimals":-3}]},{"name":"rpt:f-116","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"362000","decimals":-3}]},{"name":"rpt:f-117","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-2093000","decimals":-3}]},{"name":"rpt:f-118","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.03","decimals":2}]},{"name":"rpt:f-119","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.18","decimals":2}]},{"name":"rpt:f-120","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.02","decimals":2}]},{"name":"rpt:f-121","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.18","decimals":2}]},{"name":"rpt:f-122","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13138995","decimals":0}]},{"name":"rpt:f-123","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"11843463","decimals":0}]},{"name":"rpt:f-124","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"14573561","decimals":0}]},{"name":"rpt:f-125","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"11843463","decimals":0}]},{"name":"rpt:f-126","factDimensions":{"xbrl:concept":"us-gaap:SharesOutstanding","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"11619538"}]},{"name":"rpt:f-127","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"12000","decimals":-3}]},{"name":"rpt:f-128","factDimensions":{"xbrl:concept":"us-gaap:SharesOutstanding","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-129","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"72924000","decimals":-3}]},{"name":"rpt:f-130","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"-70698000","decimals":-3}]},{"name":"rpt:f-131","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"2238000","decimals":-3}]},{"name":"rpt:f-132","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-101000","decimals":-3}]},{"name":"rpt:f-133","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-101000","decimals":-3}]},{"name":"rpt:f-134","factDimensions":{"xbrl:concept":"us-gaap:SharesOutstanding","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"11619538"}]},{"name":"rpt:f-135","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"12000","decimals":-3}]},{"name":"rpt:f-136","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"72924000","decimals":-3}]},{"name":"rpt:f-137","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-70799000","decimals":-3}]},{"name":"rpt:f-138","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2137000","decimals":-3}]},{"name":"rpt:f-139","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"600000","decimals":-3}]},{"name":"rpt:f-140","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"600000","decimals":-3}]},{"name":"rpt:f-141","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesOther","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"1107190"}]},{"name":"rpt:f-142","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"1000","decimals":-3}]},{"name":"rpt:f-143","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"4454000","decimals":-3}]},{"name":"rpt:f-144","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4455000","decimals":-3}]},{"name":"rpt:f-145","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-2093000","decimals":-3}]},{"name":"rpt:f-146","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-2093000","decimals":-3}]},{"name":"rpt:f-147","factDimensions":{"xbrl:concept":"us-gaap:SharesOutstanding","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"12726728"}]},{"name":"rpt:f-148","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"13000","decimals":-3}]},{"name":"rpt:f-149","factDimensions":{"xbrl:concept":"us-gaap:SharesOutstanding","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-150","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-151","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"77978000","decimals":-3}]},{"name":"rpt:f-152","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-72892000","decimals":-3}]},{"name":"rpt:f-153","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5099000","decimals":-3}]},{"name":"rpt:f-154","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"598000","decimals":-3}]},{"name":"rpt:f-155","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"598000","decimals":-3}]},{"name":"rpt:f-156","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesOther","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"687338"}]},{"name":"rpt:f-157","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"1369000","decimals":-3}]},{"name":"rpt:f-158","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1369000","decimals":-3}]},{"name":"rpt:f-159","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"362000","decimals":-3}]},{"name":"rpt:f-160","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"362000","decimals":-3}]},{"name":"rpt:f-161","factDimensions":{"xbrl:concept":"us-gaap:SharesOutstanding","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"13414066"}]},{"name":"rpt:f-162","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"13000","decimals":-3}]},{"name":"rpt:f-163","factDimensions":{"xbrl:concept":"us-gaap:SharesOutstanding","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-164","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-165","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"79945000","decimals":-3}]},{"name":"rpt:f-166","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-72530000","decimals":-3}]},{"name":"rpt:f-167","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7428000","decimals":-3}]},{"name":"rpt:f-168","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"362000","decimals":-3}]},{"name":"rpt:f-169","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-2093000","decimals":-3}]},{"name":"rpt:f-170","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensation","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"598000","decimals":-3}]},{"name":"rpt:f-171","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensation","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"600000","decimals":-3}]},{"name":"rpt:f-172","factDimensions":{"xbrl:concept":"us-gaap:DepreciationAndAmortization","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1184000","decimals":-3}]},{"name":"rpt:f-173","factDimensions":{"xbrl:concept":"us-gaap:DepreciationAndAmortization","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"825000","decimals":-3}]},{"name":"rpt:f-174","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-175","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"52000","decimals":-3}]},{"name":"rpt:f-176","factDimensions":{"xbrl:concept":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"398000","decimals":-3}]},{"name":"rpt:f-177","factDimensions":{"xbrl:concept":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"403000","decimals":-3}]},{"name":"rpt:f-178","factDimensions":{"xbrl:concept":"us-gaap:GoodwillImpairmentLoss","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-179","factDimensions":{"xbrl:concept":"us-gaap:GoodwillImpairmentLoss","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"335000","decimals":-3}]},{"name":"rpt:f-180","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnTerminationOfLease","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"75000","decimals":-3}]},{"name":"rpt:f-181","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnTerminationOfLease","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-182","factDimensions":{"xbrl:concept":"us-gaap:ProvisionForDoubtfulAccounts","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"49000","decimals":-3}]},{"name":"rpt:f-183","factDimensions":{"xbrl:concept":"us-gaap:ProvisionForDoubtfulAccounts","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"277000","decimals":-3}]},{"name":"rpt:f-184","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsReceivable","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2265000","decimals":-3}]},{"name":"rpt:f-185","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsReceivable","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"670000","decimals":-3}]},{"name":"rpt:f-186","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"572000","decimals":-3}]},{"name":"rpt:f-187","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"77000","decimals":-3}]},{"name":"rpt:f-188","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsPayable","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1246000","decimals":-3}]},{"name":"rpt:f-189","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsPayable","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"333000","decimals":-3}]},{"name":"rpt:f-190","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccruedLiabilities","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-316000","decimals":-3}]},{"name":"rpt:f-191","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccruedLiabilities","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1440000","decimals":-3}]},{"name":"rpt:f-192","factDimensions":{"xbrl:concept":"csbr:IncreaseDecreaseInOperatingLeaseLiabilities","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"242000","decimals":-3}]},{"name":"rpt:f-193","factDimensions":{"xbrl:concept":"csbr:IncreaseDecreaseInOperatingLeaseLiabilities","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"235000","decimals":-3}]},{"name":"rpt:f-194","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3000","decimals":-3}]},{"name":"rpt:f-195","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"27000","decimals":-3}]},{"name":"rpt:f-196","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInDeferredRevenue","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"441000","decimals":-3}]},{"name":"rpt:f-197","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInDeferredRevenue","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1792000","decimals":-3}]},{"name":"rpt:f-198","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInOperatingActivities","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1681000","decimals":-3}]},{"name":"rpt:f-199","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInOperatingActivities","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2905000","decimals":-3}]},{"name":"rpt:f-200","factDimensions":{"xbrl:concept":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3281000","decimals":-3}]},{"name":"rpt:f-201","factDimensions":{"xbrl:concept":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2220000","decimals":-3}]},{"name":"rpt:f-202","factDimensions":{"xbrl:concept":"csbr:ProceedsFromRefundOfSecurityDeposit","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"112000","decimals":-3}]},{"name":"rpt:f-203","factDimensions":{"xbrl:concept":"csbr:ProceedsFromRefundOfSecurityDeposit","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-204","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInInvestingActivities","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-3169000","decimals":-3}]},{"name":"rpt:f-205","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInInvestingActivities","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-2220000","decimals":-3}]},{"name":"rpt:f-206","factDimensions":{"xbrl:concept":"csbr:ProceedsFromExerciseOfOptionsAndWarrants","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1369000","decimals":-3}]},{"name":"rpt:f-207","factDimensions":{"xbrl:concept":"csbr:ProceedsFromExerciseOfOptionsAndWarrants","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4455000","decimals":-3}]},{"name":"rpt:f-208","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeasePrincipalPayments","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"174000","decimals":-3}]},{"name":"rpt:f-209","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeasePrincipalPayments","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"35000","decimals":-3}]},{"name":"rpt:f-210","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInFinancingActivities","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1195000","decimals":-3}]},{"name":"rpt:f-211","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInFinancingActivities","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4420000","decimals":-3}]},{"name":"rpt:f-212","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-3655000","decimals":-3}]},{"name":"rpt:f-213","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5105000","decimals":-3}]},{"name":"rpt:f-214","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8342000","decimals":-3}]},{"name":"rpt:f-215","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3237000","decimals":-3}]},{"name":"rpt:f-216","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4687000","decimals":-3}]},{"name":"rpt:f-217","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8342000","decimals":-3}]},{"name":"rpt:f-218","factDimensions":{"xbrl:concept":"us-gaap:CapitalLeaseObligationsIncurred","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-219","factDimensions":{"xbrl:concept":"us-gaap:CapitalLeaseObligationsIncurred","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"212000","decimals":-3}]},{"name":"rpt:f-220","factDimensions":{"xbrl:concept":"us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6121000","decimals":-3}]},{"name":"rpt:f-221","factDimensions":{"xbrl:concept":"us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3201000","decimals":-3}]},{"name":"rpt:f-222","factDimensions":{"xbrl:concept":"us-gaap:CapitalExpendituresIncurredButNotYetPaid","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-223","factDimensions":{"xbrl:concept":"us-gaap:CapitalExpendituresIncurredButNotYetPaid","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"160000","decimals":-3}]},{"name":"rpt:f-224","factDimensions":{"xbrl:concept":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Organization and Basis of Presentation<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Background</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Champions Oncology, Inc. (the \u201cCompany\u201d), is engaged in transforming drug discovery and development through data-driven research strategies and innovative pharmacology, biomarker and data platforms.  The Company\u2019s TumorGraft Technology Platform is a novel approach to personalizing cancer care based upon the implantation of human tumors in immune-deficient mice. The Company provides a technology platform to pharmaceutical and biotechnology companies using proprietary TumorGraft studies, which the Company believes may be predictive of how drugs may perform in clinical settings. Utilizing the TumorGraft Technology Platform (the \"Platform\"), a comprehensive Bank of unique, well characterized \"Patient Derived XenoGrafts\" (PDX) models, the Company offers multiple services to pharmaceutical and biotechnology companies seeking personalized approaches to drug development. By performing studies to predict the efficacy of oncology drugs, our Platform facilitates drug discovery with lower costs and increased speed of drug development as well as increased adoption of existing drugs.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company has two operating subsidiaries: Champions Oncology (Israel), Limited and Champions Biotechnology U.K., Limited. For the years ended April\u00a030, 2021 and 2020, there were no revenues earned by these subsidiaries.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Basis of Presentation</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div>The accompanying consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (\u201cGAAP\u201d). The Company operates in one reportable business segment.","language":"en-us"}]},{"name":"rpt:f-225","factDimensions":{"xbrl:concept":"csbr:NumberofOperatingSubsidiaries","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"csbr:subsidiary"},"factValues":[{"value":"2"}]},{"name":"rpt:f-226","factDimensions":{"xbrl:concept":"us-gaap:BasisOfAccountingPolicyPolicyTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Basis of Presentation</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div>The accompanying consolidated financial statements have been prepared in accordance with accounting principles generally accepted in the United States of America (\u201cGAAP\u201d). The Company operates in one reportable business segment.","language":"en-us"}]},{"name":"rpt:f-227","factDimensions":{"xbrl:concept":"us-gaap:NumberOfReportableSegments","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"csbr:segment"},"factValues":[{"value":"1"}]},{"name":"rpt:f-228","factDimensions":{"xbrl:concept":"us-gaap:SignificantAccountingPoliciesTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Summary of Significant Accounting Policies<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Principles of Consolidation</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All material intercompany balances and transactions have been eliminated in consolidation.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Foreign Currency</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company\u2019s foreign subsidiaries functional currency is the U.S. dollar. Transaction gains and losses are recognized in earnings. The Company is subject to foreign exchange rate fluctuations in connection with the Company\u2019s international operations.</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Use of Estimates</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The preparation of consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosures of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period.   Significant estimates include, among other things, accounts receivable realization, revenue recognition, valuation allowance for deferred tax assets, valuation of goodwill, recoverability of capitalized software development costs, and stock-based compensation and warrant assumptions.\u00a0 We base our estimates on historical experience, our observance of trends in particular areas and information or valuations and various other assumptions that we believe to be reasonable under the circumstances and which form the basis for making judgments about the carrying value of assets and liabilities that may not be readily apparent from other sources.\u00a0\u00a0Actual amounts could differ significantly from amounts previously estimated.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Correction of Immaterial Errors</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%\">   During the preparation of its annual consolidated financial statements as of and for the year ended April 30, 2021, management determined that an adjustment was needed to correct its previously issued consolidated financial statements due to an immaterial accounting error.  Specifically, the Company did not accrue for its obligation to remit royalty payments based on oncology service revenue earned in prior periods to third-parties pursuant to contractual arrangements. </span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">As a result, the accompanying consolidated financial statements and the related Note 7  - Commitments and Contingencies, have been revised to correct the immaterial accounting error for the affected periods.  Correction of this immaterial error resulted in an increase in accrued liabilities of approximately $101,000 with a corresponding reduction in retained earnings as of May 1, 2019, to adjust for the cumulative impact of the error as of the beginning of the earliest period presented in the accompanying consolidated financial statements. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The correction of this immaterial error also required an adjustment to the consolidated financial statements for fiscal year 2020, resulting in an increase in cost of sales and net loss and an increase in accrued liabilities and reduction in retained earnings of approximately $118,000. Management initially recorded the effect of this immaterial error of approximately $219,000 in the unaudited consolidated financial statements as of and for the three and nine month periods ended  January 31, 2021. Subsequently, management determined that the correction of the immaterial error should have been reflected in the periods in which the error originated, following the approach described above.</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Accordingly, the following tables summarize the effects of the immaterial error correction to the Company's consolidated financial statements as of and for the year ended April 30, 2020, and the unaudited consolidated financial statements as of and for the three and nine month periods ended January 31, 2021.</span></div><div><span><br/></span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">(in thousands):</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%\"> </span><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:71.052%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:52.192%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.623%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.686%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:15.566%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.623%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.623%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.687%\"></td><td style=\"width:0.1%\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-bottom:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-bottom:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-bottom:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-bottom:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"15\" style=\"border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2020</span></td></tr><tr style=\"height:3pt\"><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">As  Previously Reported</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Impact of adjustment</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">As Revised</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%\">Consolidated Balance Sheet</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Accrued liabilities</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,502\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,721\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total current liabilities</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">12,085\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">12,304\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total liabilities</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">15,433\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">15,652\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Accumulated deficit</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(72,673)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(72,892)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total stockholders' equity</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5,318\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5,099\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:74.415%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:54.695%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.063%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.585%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:14.617%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.782%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.458%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"15\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">For the year ended</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"15\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">As Previously Reported</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Impact of Adjustment</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Revised as</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%\">Consolidated Income Statement</span></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Cost of oncology services</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">16,882\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">118\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">17,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total costs and operating expenses</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">33,926\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">118\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">34,044\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Loss from operations</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(1,803)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(118)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(1,921)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Net loss</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(1,975)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(118)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(2,093)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Basic and diluted EPS</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(0.17)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(0.01)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(0.18)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.052%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:31.320%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.097%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.408%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.924%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.408%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.097%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.408%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.097%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.408%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.619%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.408%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.106%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"33\" style=\"border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">January 31, 2021</span></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"15\" style=\"border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">3 Months Ended</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"15\" style=\"border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">9 Months Ended</span></td></tr><tr style=\"height:5pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"15\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">(unaudited)</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"15\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">(unaudited)</span></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">As  Reported</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Impact of<br/>Adjustment</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">As Revised</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">As  Reported</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Impact of<br/>Adjustment</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">As Revised</span></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%\">Consolidated Income Statement</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Cost of oncology services</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4,842\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4,623\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">15,822\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">15,603\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total costs and operating expenses</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">10,049\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">9,830\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">29,681\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">29,462\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Income from operations</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">763\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">982\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">795\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Net income</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">740\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">959\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">816\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,035\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Basic EPS</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.06\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.01\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.07\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.06\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.02\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.08\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Diluted EPS</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.05\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.02\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.07\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.06\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.01\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.07\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%\">Consolidated Balance Sheet</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Accrued liabilities </span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,426\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,207\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,426\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,207\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total current liabilities </span></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,414\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,195\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,414\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,195\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total liabilities </span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">17,393\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">17,174\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">17,393\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">17,174\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Accumulated deficit</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(71,857)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(71,638)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(71,857)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(71,638)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total stockholders' equity </span></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">7,867\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">8,086\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">7,867\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">8,086\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div><span><br/></span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:112%\">Cash and Cash Equivalents</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company considers only those investments which are highly liquid, readily convertible to cash, and with original maturities of three months or less to be cash equivalents. As of\u00a0April 30, 2021\u00a0and 2020 the Company had cash balances of $4.7\u00a0million and $8.3\u00a0million, respectively, and no cash equivalents.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Liquidity</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Our liquidity needs have typically arisen from the funding of our research and development programs and the launch of new products, working capital requirements, and other strategic initiatives. In the past, we have met these cash requirements through our cash on hand, working capital management, proceeds from certain private placements and public offerings of our securities, and sales of products and services.  For the year ended April\u00a030, 2021, the Company had net income of approximately $362,000, an accumulated deficit of approximately $72.5 million, working capital of $1.4 million and cash of $4.7 million. We believe that our cash on hand, together with future improved cash flows from operations, are adequate to fund operations through at least August 2022. Should the Company be required to raise additional capital, there can be no assurance that management would be successful in raising such capital on terms acceptable to us, if at all.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Fair Value</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The carrying value of cash, accounts receivable, prepaid expenses, deposits and other receivables, accounts payable, and accrued liabilities approximate their fair value based on the liquidity or the short-term maturities of these instruments. The fair value hierarchy promulgated by GAAP consists of three levels:</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt\">Level one</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> \u2014 Quoted market prices in active markets for identical assets or liabilities;</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt\">Level two</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> \u2014 Inputs other than level one inputs that are either directly or indirectly observable; and</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt\">Level three</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> \u2014 Unobservable inputs developed using estimates and assumptions, which are developed by the reporting entity and reflect those assumptions that a market participant would use.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Determining which category an asset or liability falls within the hierarchy requires significant judgment. The Company evaluates its hierarchy disclosures each quarter. The Company has no assets or liabilities that are measured at fair value on a recurring and/or non-recurring  during the years ended April\u00a030, 2021 and 2020.</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Property and Equipment</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Property and equipment is recorded at cost and primarily consists of laboratory equipment, furniture and fixtures, computer hardware and software, and internally developed software. Assets in progress include equipment or software not yet placed in service. Depreciation and amortization is calculated on a straight-line basis over the estimated useful lives of the various assets ranging from <span style=\"-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY5MGEwMzcyYWEwYzQ5YWE4MTdhMWUwMDkyZTIyOTJjL3NlYzo2OTBhMDM3MmFhMGM0OWFhODE3YTFlMDA5MmUyMjkyY18xMzAvZnJhZzoxMmIyMjdiYTllNDk0OWQxODcyNTU5ZjE2ZmYyNDY2NC90ZXh0cmVnaW9uOjEyYjIyN2JhOWU0OTQ5ZDE4NzI1NTlmMTZmZjI0NjY0XzQzOTA_9582f2b9-ea68-47d0-b9e7-ac486cad1f56\">three</span> to nine years. Refer to Footnote 4, \"Property and Equipment\" for a detailed discussion. </span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Leases</span></div><div><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> The Company accounts for its leases under Financial Accounting Standards Board (\"FASB\") Accounting Standards Codification (\"ASC\") Topic 842, Leases (\"ASC 842\"). Under this guidance, arrangements meeting the definition of a lease are classified as operating or financing leases and are recorded on the consolidated balance sheet as both a right-of-use asset (\"ROU\") and lease liability, calculated by discounting fixed lease payments over the lease term at the rate implicit in the lease or the Company\u2019s incremental borrowing rate. As the Company's leases do not provide an implicit rate, the Company uses an incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. Lease liabilities are increased by interest and reduced by payments each period, and the right-of-use asset is amortized over the lease term. For operating leases, interest on the lease liability and the amortization of the right-of-use asset result in straight-line rent expense over the lease term. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Impairment of Long-Lived Assets</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Impairment losses are to be recognized when the carrying amount of a long-lived asset is not recoverable or exceeds its fair value.\u00a0\u00a0The Company evaluates its long-lived assets for impairment whenever events or changes in circumstances indicate that a carrying value may not be recoverable.\u00a0\u00a0The Company uses estimates of future cash flows over the remaining useful life of a long- lived asset or asset group to determine the recoverability of the asset.\u00a0\u00a0These estimates only include the net cash flows directly associated with, and that are expected to arise as a direct result of, the use and eventual disposition of the asset or asset group.\u00a0\u00a0The Company has not recognized any impairment losses for the Company\u2019s long-lived assets for the years ending April\u00a030, 2021 and 2020.</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Other long term assets</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Other long term assets represents amounts relating to lease deposits for our Hackensack, New Jersey and Rockville, Maryland locations. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Goodwill</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Goodwill represents the excess of the purchase price over the fair value of the net tangible and identifiable intangible assets acquired in a business combination. The Company evaluates the carrying value of goodwill annually in connection with the annual budgeting and forecast process and also between annual evaluations if events occur or circumstances change that would more likely than not reduce the fair value of the reporting unit to which goodwill was allocated to below its carrying amount. Such circumstances could include, but are not limited to: (1) a significant adverse change in legal factors, market conditions, or in business climate, (2) unanticipated competition, or (3) an adverse action or assessment by a regulator. When evaluating goodwill for impairment, we may first perform an assessment qualitatively whether it is more likely than not that a reporting unit\u2019s carrying amount exceeds its fair value, referred to as a \u201cstep zero\u201d approach. Subsequently (if necessary after step zero), an entity should perform its goodwill impairment test by comparing the fair value of a reporting unit with its carrying value. Under FASB's Accounting Standards Update (\"ASU\") 2014-02, Topic 350, \"Intangibles\u2014Goodwill and Other\" goodwill impairment is measured as the excess of the carrying amount of the reporting unit over its fair value. </span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The impairment evaluation test involves comparing the current fair value of each business unit to its carrying value, including goodwill. Fair value is typically estimated using a discounted cash flow analysis, which requires the Company to estimate the future cash flows anticipated to be generated by the business unit being tested for impairment as well as to select a risk-adjusted discount rate to measure the present value of the anticipated cash flows. When determining future cash flow estimates, the Company considers historical results adjusted to reflect current and anticipated operating conditions. The Company estimates cash flows for the business unit over a discrete period (typically four or five years) and the terminal period (considering expected long term growth rates and trends). Estimating future cash flows requires significant judgment by management in such areas as future economic conditions, industry-specific conditions, product pricing, and necessary capital expenditures. The use of different assumptions or estimates for future cash flows or significant changes in risk-adjusted discount rates due to changes in market conditions could produce substantially different estimates of the fair value of the business unit.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company has one reportable segment. The Company assesses goodwill impairment by business unit.  Judgments regarding the existence of impairment indicators are based on legal factors, market conditions and operational performance of the businesses.\u00a0\u00a0Future events, including but not limited to continued declines in economic activity, loss of contracts or a significant number of customers, or a rapid increase in costs or capital expenditures, could cause us to conclude that impairment indicators exist and that goodwill is impaired.\u00a0For the year ended April 30, 2021, the Company's annual assessment did not result in any impairment indicators. The Company recognized goodwill impairment for the years ended April 30, 2021 and 2020 of $0 and $335,000, respectively.  As of April 30, 2021 and 2020, goodwill was $335,000.</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Deferred Revenue</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue represents payments received in advance for products to be delivered.\u00a0\u00a0When products are delivered, deferred revenue is then recognized as earned.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Other Non-Current Liabilities</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Other non-current liabilities represent amounts for uncertain tax positions relating to one of our foreign entities.</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Cost of Oncology Services</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Cost of oncology services relates primarily to our TOS business unit. TOS costs consist of direct costs related to laboratory supplies, mice purchases, and maintenance costs for studies completed internally as well as charges from Contract Research Organization's for studies handled externally. Indirect costs include salaries and other payroll related costs of compensation for personnel directly engaged in providing TOS products and services. All costs of performing studies in-house are expensed as incurred. All costs of performing studies from external sources, are expensed when incurred.</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Research and Development</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Research and development costs represent both costs incurred internally for research and development activities, including personnel costs, mice purchases, and maintenance, as well as costs incurred externally to facilitate research activities, such as tumor tissue procurement and characterization expenses.\u00a0\u00a0All research and development costs are expensed as incurred.\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Sales and Marketing</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Sales and marketing expenses represent costs incurred to promote the Company\u2019s products offered, including salaries, benefits and related costs of our sales and marketing personnel, and represent costs of advertising and other selling and marketing expenses. All sales and marketing costs, including advertising costs, are expensed as incurred.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Earnings Per Share</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Basic net income or loss per share is computed by dividing the net income or loss for the period by the weighted-average number of shares of common stock outstanding during the period. Diluted net income per share is computed by dividing the net income for the period by the weighted-average number of shares of common stock plus dilutive potential common stock considered outstanding during the period. Such dilutive shares consist of incremental shares that would be issued upon exercise of the Company\u2019s common stock purchase warrants and stock options. </span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Stock-based Payments</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company typically recognizes expense for stock-based payments based on the fair value of awards on the date of grant.\u00a0\u00a0The Company uses the Black-Scholes option pricing model to estimate fair value.\u00a0\u00a0The Black-Scholes option valuation model was developed for use in estimating the fair value of short-traded options that have no vesting restrictions and are fully transferable.\u00a0\u00a0The option pricing model requires the Company to estimate certain key assumptions such as expected life, volatility, risk free interest rates and dividend yield to determine the fair value of stock-based awards.\u00a0\u00a0These assumptions are based on historical information and management judgment.\u00a0\u00a0The risk-free interest rate used is based on the United States treasury security rate with a term consistent with the expected term of the award at the time of the grant.\u00a0Since the Company has limited option exercise history, it has generally elected to estimate the expected life of an award based upon the Securities and Exchange Commission-approved \u201csimplified method\u201d noted under the provisions of Staff Accounting Bulletin No. 107 with the continued use of this method extended under the provisions of Staff Accounting Bulletin No. 110. \u00a0Estimated volatility is based </span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">upon the historical volatility of the Company's common stock.\u00a0\u00a0The Company does not anticipate paying a dividend, and therefore, no expected dividend yield was used.</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company expenses stock-based payments over the period that the awards are expected to vest.\u00a0\u00a0In the event of forfeitures, compensation expense is adjusted.\u00a0\u00a0The Company expenses modification charges in the period of modification and, if required, over the remaining period the awards are expected to vest. The Company will report cash flows resulting from tax deductions in excess of the compensation cost recognized from those options (excess tax benefits) as financing cash flows, if they should arise.</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Income Taxes</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">    Deferred income taxes have been provided to show the effect of temporary differences between the recognition of expenses for financial and income tax reporting purposes and between the tax basis of assets and liabilities, and their reported amounts in the consolidated financial statements.\u00a0\u00a0In assessing the realizability of deferred tax assets, the Company assesses the likelihood that deferred tax assets will be recovered through tax planning strategies or from future taxable income, and to the extent that recovery is not likely or there is insufficient operating history, a valuation allowance is established.\u00a0\u00a0The Company adjusts the valuation allowance in the period management determines it is more likely than not that net deferred tax assets will or will not be realized.\u00a0\u00a0Changes in valuation allowances from period to period are included in the tax provision in the period of change.  As of April\u00a030, 2021 and 2020, the Company provided a valuation allowance for all net deferred tax assets, as recovery is not more likely than not based on an insufficient history of earnings.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Tax positions are positions taken in a previously filed tax return or positions expected to be taken in a future tax return that are reflected in measuring current or deferred income tax assets and liabilities reported in the consolidated financial statements.\u00a0\u00a0Tax positions include, but are not limited to, the following:</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt\">An allocation or shift of income between taxing jurisdictions;</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt\">The characterization of income or a decision to exclude reportable taxable income in a tax return; or</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt\">A decision to classify a transaction, entity or other position in a tax return as tax exempt.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company reflects tax benefits only if it is more likely than not that we will be able to sustain the tax position, based on its technical merits.\u00a0\u00a0If a tax benefit meets this criterion, it is measured and recognized based on the largest amount of benefit that is cumulatively greater than 50% likely to be realized.\u00a0\u00a0As of April\u00a030, 2021 and 2020 the Company has recorded $181,000 and $178,000, respectively, of liabilities related to uncertain tax positions relative to one of its foreign operations.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company\u2019s practice is to recognize interest and/or penalties related to income tax matters in income tax expense. The Company accrued $3,000 and $27,000, for interest and penalties on the Company\u2019s statement of operations for the years ended April\u00a030, 2021 and 2020, respectively. The Company does not anticipate any significant unrecognized tax benefits to be recorded during the next 12 months.\u00a0\u00a0For the year ended April 30, 2021 and 2020, the Company recognized a provision for income taxes of $75,000 and $130,000, respectively.  These amounts are mainly attributable to taxable income earned in Israel relating to transfer pricing.</span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Revenue Recognition</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company recognizes revenue in accordance with ASC 606, Revenue from Contracts with Customers.  The objective of the standard is to establish a single comprehensive revenue recognition model that is designed to create greater comparability of financial statements across industries and jurisdictions. Under this standard, companies recognize revenue to depict the transfer of goods or services to customers in amounts that reflect the consideration to which the Company expects to be entitled in exchange for those goods or services. </span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">All revenue is generated from contracts with customers. The Company's arrangements are service type contracts that mainly have a duration of less than a year. The Company recognizes revenue when control of these services is transferred to the customer in an amount, referred to as the transaction price, that reflects the consideration to which the Company is expected to be entitled in exchange for those services. The Company determines revenue recognition utilizing the following five steps: (1) identification of the contract with a customer, (2) identification of the performance obligations in the contract (promised goods or services that are distinct), (3) determination of the transaction price, (4) allocation of the transaction price to the performance obligations, and (5) recognition of revenue when, or as, the Company transfers control of the product or service for each performance obligation. The Company records revenues net of any tax assessments by governmental authorities, such as value added taxes, that are imposed on and concurrent with specific revenue generating transactions. </span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline\">Pharmacology Study and Other Services</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company generally enters into contracts with customers to provide oncology services with payments based on fixed-fee arrangements. At contract inception, the Company assesses the services promised in the contracts with customers to identify the performance obligations in the arrangement. The Company's fixed-fee arrangements for oncology services are considered a single performance obligation because the Company provides a highly-integrated service.</span></div><div style=\"text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company recognizes revenue over time using a progress-based input method since there is no single output measure that would fairly depict the transfer of control over the life of the performance obligation. Revenue is recognized for the single performance obligation over time due to the Company's right to payment for work performed to date and the performance does not create an asset with an alternative use. The Company recognizes revenue as portions of the overall performance obligation are completed as this best depicts the progress of the performance obligation.</span></div><div style=\"text-indent:18pt\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Incremental Costs of Obtaining a Contract (Sales Commissions)</span></div><div><span><br/></span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Under ASC 606, the costs of obtaining a contract can be expensed immediately, rather than capitalized and amortized, if the amortization period is one year or shorter.  Sales commissions for the Company represent contract costs with a term of one year or less.  Therefore, under ASC 606, the Company elected the practical expedient to expense these costs as incurred.\u00a0\u00a0\u00a0\u00a0</span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Variable Consideration</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In some cases, contracts provide for variable consideration that is contingent upon the occurrence of uncertain future events, such as the success of the initial performance obligation. Variable consideration is estimated at the expected value or at the most likely amount depending on the type of consideration. Estimated amounts are included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is resolved. The estimate of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on an assessment of its anticipated performance and all information (historical, current and forecasted) that is reasonably available to the Company.  </span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Trade Receivables, Unbilled Services and Deferred Revenue</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In general, billings and payments are established by contractual provisions including predetermined payment schedules, which may or may not correspond to the timing of the transfer of control of the Company's services under the contract. In general, the Company's intention in its invoicing (payment terms) is to maintain cash neutrality over the life of the contract. Upfront payments, when they occur, are intended to cover certain expenses the Company incurs at the beginning of the contract. Neither the Company nor its customers view such upfront payments and contracted payment schedules as a means of financing. Unbilled services primarily arise from timing of payment terms and when an input method of revenue recognition is utilized and revenue recognized exceeds the amount billed to the customer.  </span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue consists of unearned payments received in excess of revenue recognized. As the contracted services are subsequently performed and the associated revenue is recognized, the deferred revenue balance is reduced by the amount of the revenue recognized during the period. Deferred revenue is classified as a current liability on the consolidated balance sheet as the Company expects to recognize the associated revenue in less than one year.</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Accounting Pronouncements Being Evaluated</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In June 2016, the Financial Accounting Standards Board (FASB) FASB issued Accounting Standards Update (ASU) No. 2016-13, \"Financial Instruments - Credit Losses\".  This update requires immediate recognition of management\u2019s estimates of current expected credit losses (\"CECL\").  Under the prior model, losses were recognized only as they were incurred.  The new model is applicable to all financial instruments that are not accounted for at fair value through net income.  The standard is effective for fiscal years beginning after December 15, 2022 for public entities qualifying as smaller reporting companies.  Early adoption is permitted.  We are currently assessing the impact of this update on our consolidated financial statements and have not yet determined the impact on our consolidated financial statements.</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In December 2019, the FASB issued ASU 2019-12, Income Taxes (ASC 740) \u2014 Simplifying the Accounting for Income Taxes. ASU 2019-12 which modifies ASC 740 to simplify the accounting for income taxes. The ASU removes certain exceptions for recognizing deferred taxes for investments, performing intraperiod allocation and calculating income taxes in interim periods. The ASU also adds guidance to reduce complexity in certain areas, including recognizing deferred taxes for tax goodwill and allocating taxes to members of a consolidated group. ASU 2019-12 is effective for annual periods, including </span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">interim periods within those annual periods, beginning after December 15, 2020. We are currently assessing the potential impact of this ASU on our consolidated financial statements and do not expect a material impact on our consolidated financial statements.</span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Recently Adopted Accounting Pronouncements</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In February 2016, the FASB issued ASU No. 2016-02, \"Leases\", (Topic 842), which required the Company to recognize lease assets and lease liabilities (related to leases previously classified as operating under previous U.S. GAAP) on its consolidated balance sheet for all leases in excess of one year in duration. The ASU was effective for the Company on May 1, 2019. The Company elected to adopt ASU 2016-02 using the modified retrospective method and, therefore, have not recast comparative periods presented in its unaudited consolidated financial statements. As permitted under ASU 2016-02, the Company elected to account for the non-lease components together with the lease components as a single lease component. The Company recorded an operating lease right-of-use (\"ROU\") asset of\u00a0$3.2 million, net of deferred rent of\u00a0$900,000\u00a0and an operating lease liability of\u00a0$4.1 million\u00a0as of May 1, 2019. Refer to \"Note 12. Leases\" for additional information.</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In January 2017, the FASB issued ASU No. 2017-04, \u201cIntangibles - Goodwill and Other\u201d (Topic 350): Simplifying the Test for Goodwill Impairment (ASU 2017-04). This new standard simplifies how an entity is required to test goodwill for impairment by eliminating a step from the goodwill impairment test. ASU 2017-04 allows for prospective application and is effective for fiscal years beginning after December 15, 2019, and interim periods therein with early adoption permitted for interim or annual goodwill impairment tests performed on testing dates after January 1, 2017. The Company adopted this guidance on May 1, 2019.  The adoption did not have an impact on the Company's consolidated financial statements.\u00a0</span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In June 2018, the FASB issued ASU 2018-07, \"Compensation-Stock Compensation (Topic 718): Improvements to Nonemployee Share-Based Payment Accounting\". This ASU expands the scope of Topic 718, Compensation\u2014Stock Compensation (which currently only includes share-based payments to employees) to include share-based payments issued to nonemployees for goods or services. Under the new guidance, the existing employee guidance will apply to nonemployee share-based transactions (as long as the transaction is not effectively a form of financing), with the exception of specific guidance related to the attribution of compensation cost. The cost of nonemployee awards will continue to be recorded as if the grantor had paid cash for the goods or services. The new accounting guidance was effective for the Company on May 1, 2019.  The Company early adopted ASU 2018-07 beginning with its financial reporting for the quarter ended January 31, 2019.  The adoption did not have a material impact on the Company's consolidated financial statements.</span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In August 2018, the FASB issued ASU 2018-13, Fair Value Measurement (ASC 820) \u2014 Disclosure Framework-Changes to the Disclosure Requirements for Fair Value Measurement. ASU 2018-13 removes certain disclosures, modifies certain disclosures and adds additional disclosures. ASU 2018-13 is effective for annual periods, including interim periods within those annual periods, beginning after December 15, 2019. The Company adopted this guidance on May 1, 2020.  The adoption of this ASU did not have a material impact on the Company's consolidated financial statements.</span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In August 2018, the FASB issued ASU 2018-15, which amends ASC 350-40, Intangibles\u2014Goodwill and Other\u2014Internal-Use Software, to address a customer\u2019s accounting for implementation costs incurred in a cloud computing arrangement (\"CCA\") that is a service contract.  This update aligns the accounting for costs incurred to implement a CCA that is a service arrangement with the guidance on capitalizing costs associated with developing or obtaining internal-use software.  The update is effective for public business entities for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years.  The Company adopted this guidance on May 1, 2020.  The adoption of this ASU did not have a material impact is reflected in the Company's current year consolidated financial statements.</span></div>","language":"en-us"}]},{"name":"rpt:f-229","factDimensions":{"xbrl:concept":"us-gaap:ConsolidationPolicyTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Principles of Consolidation</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries. All material intercompany balances and transactions have been eliminated in consolidation.</span></div>","language":"en-us"}]},{"name":"rpt:f-230","factDimensions":{"xbrl:concept":"us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Foreign Currency</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company\u2019s foreign subsidiaries functional currency is the U.S. dollar. Transaction gains and losses are recognized in earnings. The Company is subject to foreign exchange rate fluctuations in connection with the Company\u2019s international operations.</span></div>","language":"en-us"}]},{"name":"rpt:f-231","factDimensions":{"xbrl:concept":"us-gaap:UseOfEstimates","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Use of Estimates</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The preparation of consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosures of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period.   Significant estimates include, among other things, accounts receivable realization, revenue recognition, valuation allowance for deferred tax assets, valuation of goodwill, recoverability of capitalized software development costs, and stock-based compensation and warrant assumptions.\u00a0 We base our estimates on historical experience, our observance of trends in particular areas and information or valuations and various other assumptions that we believe to be reasonable under the circumstances and which form the basis for making judgments about the carrying value of assets and liabilities that may not be readily apparent from other sources.\u00a0\u00a0Actual amounts could differ significantly from amounts previously estimated.</span></div>","language":"en-us"}]},{"name":"rpt:f-232","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccruedLiabilities","xbrl:period":"2018-05-01T00:00:00/2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"101000","decimals":-3}]},{"name":"rpt:f-233","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-118000","decimals":-3}]},{"name":"rpt:f-234","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-219000","decimals":-3}]},{"name":"rpt:f-235","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfErrorCorrectionsAndPriorPeriodAdjustmentsTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Accordingly, the following tables summarize the effects of the immaterial error correction to the Company's consolidated financial statements as of and for the year ended April 30, 2020, and the unaudited consolidated financial statements as of and for the three and nine month periods ended January 31, 2021.</span></div><div><span><br/></span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">(in thousands):</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%\"> </span><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:71.052%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:52.192%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.623%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.686%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:15.566%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.623%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.623%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.687%\"></td><td style=\"width:0.1%\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-bottom:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-bottom:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-bottom:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-bottom:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"15\" style=\"border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2020</span></td></tr><tr style=\"height:3pt\"><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">As  Previously Reported</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Impact of adjustment</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">As Revised</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%\">Consolidated Balance Sheet</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Accrued liabilities</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,502\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,721\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total current liabilities</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">12,085\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">12,304\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total liabilities</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">15,433\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">15,652\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Accumulated deficit</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(72,673)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(72,892)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total stockholders' equity</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5,318\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5,099\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div><span><br/></span></div><div><span><br/></span></div><div><span><br/></span></div><div><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:74.415%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:54.695%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.063%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.585%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:14.617%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.782%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.458%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"15\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">For the year ended</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"15\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">As Previously Reported</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Impact of Adjustment</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Revised as</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%\">Consolidated Income Statement</span></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Cost of oncology services</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">16,882\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">118\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">17,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total costs and operating expenses</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">33,926\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">118\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">34,044\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Loss from operations</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(1,803)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(118)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(1,921)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Net loss</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(1,975)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(118)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(2,093)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Basic and diluted EPS</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(0.17)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(0.01)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(0.18)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.052%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:31.320%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.097%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.408%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.924%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.408%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.097%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.408%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.097%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.408%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.619%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.408%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.106%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"33\" style=\"border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">January 31, 2021</span></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"15\" style=\"border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">3 Months Ended</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"15\" style=\"border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">9 Months Ended</span></td></tr><tr style=\"height:5pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"15\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">(unaudited)</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"15\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">(unaudited)</span></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">As  Reported</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Impact of<br/>Adjustment</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">As Revised</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">As  Reported</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Impact of<br/>Adjustment</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">As Revised</span></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%\">Consolidated Income Statement</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Cost of oncology services</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4,842\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4,623\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">15,822\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">15,603\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total costs and operating expenses</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">10,049\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">9,830\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">29,681\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">29,462\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Income from operations</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">763\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">982\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">795\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Net income</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">740\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">959\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">816\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,035\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Basic EPS</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.06\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.01\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.07\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.06\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.02\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.08\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Diluted EPS</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.05\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.02\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.07\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.06\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.01\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.07\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:100%\">Consolidated Balance Sheet</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Accrued liabilities </span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,426\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,207\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,426\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,207\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total current liabilities </span></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,414\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,195\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,414\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,195\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total liabilities </span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">17,393\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">17,174\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">17,393\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(219)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">17,174\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Accumulated deficit</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(71,857)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(71,638)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(71,857)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(71,638)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total stockholders' equity </span></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">7,867\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">8,086\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">7,867\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">219\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">8,086\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table>","language":"en-us"}]},{"name":"rpt:f-236","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"2502000","decimals":-3}]},{"name":"rpt:f-237","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"219000","decimals":-3}]},{"name":"rpt:f-238","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2721000","decimals":-3}]},{"name":"rpt:f-239","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"12085000","decimals":-3}]},{"name":"rpt:f-240","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"219000","decimals":-3}]},{"name":"rpt:f-241","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12304000","decimals":-3}]},{"name":"rpt:f-242","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"15433000","decimals":-3}]},{"name":"rpt:f-243","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"219000","decimals":-3}]},{"name":"rpt:f-244","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15652000","decimals":-3}]},{"name":"rpt:f-245","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"-72673000","decimals":-3}]},{"name":"rpt:f-246","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-219000","decimals":-3}]},{"name":"rpt:f-247","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-72892000","decimals":-3}]},{"name":"rpt:f-248","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"5318000","decimals":-3}]},{"name":"rpt:f-249","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-219000","decimals":-3}]},{"name":"rpt:f-250","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5099000","decimals":-3}]},{"name":"rpt:f-251","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"16882000","decimals":-3}]},{"name":"rpt:f-252","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"118000","decimals":-3}]},{"name":"rpt:f-253","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"17000000","decimals":-3}]},{"name":"rpt:f-254","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"33926000","decimals":-3}]},{"name":"rpt:f-255","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"118000","decimals":-3}]},{"name":"rpt:f-256","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"34044000","decimals":-3}]},{"name":"rpt:f-257","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"-1803000","decimals":-3}]},{"name":"rpt:f-258","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-118000","decimals":-3}]},{"name":"rpt:f-259","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1921000","decimals":-3}]},{"name":"rpt:f-260","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"-1975000","decimals":-3}]},{"name":"rpt:f-261","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-118000","decimals":-3}]},{"name":"rpt:f-262","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-2093000","decimals":-3}]},{"name":"rpt:f-263","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"-0.17","decimals":2}]},{"name":"rpt:f-264","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"-0.17","decimals":2}]},{"name":"rpt:f-265","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-0.01","decimals":2}]},{"name":"rpt:f-266","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-0.01","decimals":2}]},{"name":"rpt:f-267","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.18","decimals":2}]},{"name":"rpt:f-268","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.18","decimals":2}]},{"name":"rpt:f-269","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"4842000","decimals":-3}]},{"name":"rpt:f-270","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-219000","decimals":-3}]},{"name":"rpt:f-271","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4623000","decimals":-3}]},{"name":"rpt:f-272","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"15822000","decimals":-3}]},{"name":"rpt:f-273","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-219000","decimals":-3}]},{"name":"rpt:f-274","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15603000","decimals":-3}]},{"name":"rpt:f-275","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"10049000","decimals":-3}]},{"name":"rpt:f-276","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-219000","decimals":-3}]},{"name":"rpt:f-277","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9830000","decimals":-3}]},{"name":"rpt:f-278","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"29681000","decimals":-3}]},{"name":"rpt:f-279","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-219000","decimals":-3}]},{"name":"rpt:f-280","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"29462000","decimals":-3}]},{"name":"rpt:f-281","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"763000","decimals":-3}]},{"name":"rpt:f-282","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"219000","decimals":-3}]},{"name":"rpt:f-283","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"982000","decimals":-3}]},{"name":"rpt:f-284","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"795000","decimals":-3}]},{"name":"rpt:f-285","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"219000","decimals":-3}]},{"name":"rpt:f-286","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1014000","decimals":-3}]},{"name":"rpt:f-287","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"740000","decimals":-3}]},{"name":"rpt:f-288","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"219000","decimals":-3}]},{"name":"rpt:f-289","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"959000","decimals":-3}]},{"name":"rpt:f-290","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"816000","decimals":-3}]},{"name":"rpt:f-291","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"219000","decimals":-3}]},{"name":"rpt:f-292","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1035000","decimals":-3}]},{"name":"rpt:f-293","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"0.06","decimals":2}]},{"name":"rpt:f-294","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"0.01","decimals":2}]},{"name":"rpt:f-295","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.07","decimals":2}]},{"name":"rpt:f-296","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"0.06","decimals":2}]},{"name":"rpt:f-297","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"0.02","decimals":2}]},{"name":"rpt:f-298","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.08","decimals":2}]},{"name":"rpt:f-299","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"0.05","decimals":2}]},{"name":"rpt:f-300","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"0.02","decimals":2}]},{"name":"rpt:f-301","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2020-11-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.07","decimals":2}]},{"name":"rpt:f-302","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"0.06","decimals":2}]},{"name":"rpt:f-303","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"0.01","decimals":2}]},{"name":"rpt:f-304","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2020-05-01T00:00:00/2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.07","decimals":2}]},{"name":"rpt:f-305","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"2426000","decimals":-3}]},{"name":"rpt:f-306","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-219000","decimals":-3}]},{"name":"rpt:f-307","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2207000","decimals":-3}]},{"name":"rpt:f-308","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"2426000","decimals":-3}]},{"name":"rpt:f-309","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-219000","decimals":-3}]},{"name":"rpt:f-310","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2207000","decimals":-3}]},{"name":"rpt:f-311","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"11414000","decimals":-3}]},{"name":"rpt:f-312","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-219000","decimals":-3}]},{"name":"rpt:f-313","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11195000","decimals":-3}]},{"name":"rpt:f-314","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"11414000","decimals":-3}]},{"name":"rpt:f-315","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-219000","decimals":-3}]},{"name":"rpt:f-316","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11195000","decimals":-3}]},{"name":"rpt:f-317","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"17393000","decimals":-3}]},{"name":"rpt:f-318","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-219000","decimals":-3}]},{"name":"rpt:f-319","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"17174000","decimals":-3}]},{"name":"rpt:f-320","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"17393000","decimals":-3}]},{"name":"rpt:f-321","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"-219000","decimals":-3}]},{"name":"rpt:f-322","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"17174000","decimals":-3}]},{"name":"rpt:f-323","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"-71857000","decimals":-3}]},{"name":"rpt:f-324","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"219000","decimals":-3}]},{"name":"rpt:f-325","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-71638000","decimals":-3}]},{"name":"rpt:f-326","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"-71857000","decimals":-3}]},{"name":"rpt:f-327","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"219000","decimals":-3}]},{"name":"rpt:f-328","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-71638000","decimals":-3}]},{"name":"rpt:f-329","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"7867000","decimals":-3}]},{"name":"rpt:f-330","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"219000","decimals":-3}]},{"name":"rpt:f-331","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8086000","decimals":-3}]},{"name":"rpt:f-332","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:ScenarioPreviouslyReportedMember"},"factValues":[{"value":"7867000","decimals":-3}]},{"name":"rpt:f-333","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RestatementAxis":"srt:RestatementAdjustmentMember"},"factValues":[{"value":"219000","decimals":-3}]},{"name":"rpt:f-334","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2021-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8086000","decimals":-3}]},{"name":"rpt:f-335","factDimensions":{"xbrl:concept":"us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:112%\">Cash and Cash Equivalents</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%\">\u00a0</span></div>The Company considers only those investments which are highly liquid, readily convertible to cash, and with original maturities of three months or less to be cash equivalents.","language":"en-us"}]},{"name":"rpt:f-336","factDimensions":{"xbrl:concept":"us-gaap:Cash","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4700000","decimals":-5}]},{"name":"rpt:f-337","factDimensions":{"xbrl:concept":"us-gaap:Cash","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8300000","decimals":-5}]},{"name":"rpt:f-338","factDimensions":{"xbrl:concept":"us-gaap:CashEquivalentsAtCarryingValue","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-339","factDimensions":{"xbrl:concept":"us-gaap:CashEquivalentsAtCarryingValue","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-340","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"362000","decimals":-3}]},{"name":"rpt:f-341","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-72500000","decimals":-5}]},{"name":"rpt:f-342","factDimensions":{"xbrl:concept":"csbr:WorkingCapital","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1400000","decimals":-5}]},{"name":"rpt:f-343","factDimensions":{"xbrl:concept":"us-gaap:Cash","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4700000","decimals":-5}]},{"name":"rpt:f-344","factDimensions":{"xbrl:concept":"us-gaap:FairValueMeasurementPolicyPolicyTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Fair Value</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The carrying value of cash, accounts receivable, prepaid expenses, deposits and other receivables, accounts payable, and accrued liabilities approximate their fair value based on the liquidity or the short-term maturities of these instruments. The fair value hierarchy promulgated by GAAP consists of three levels:</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt\">Level one</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> \u2014 Quoted market prices in active markets for identical assets or liabilities;</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt\">Level two</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> \u2014 Inputs other than level one inputs that are either directly or indirectly observable; and</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt\">Level three</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> \u2014 Unobservable inputs developed using estimates and assumptions, which are developed by the reporting entity and reflect those assumptions that a market participant would use.</span></div>Determining which category an asset or liability falls within the hierarchy requires significant judgment. The Company evaluates its hierarchy disclosures each quarter.","language":"en-us"}]},{"name":"rpt:f-345","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentPolicyTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Property and Equipment</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div>Property and equipment is recorded at cost and primarily consists of laboratory equipment, furniture and fixtures, computer hardware and software, and internally developed software. Assets in progress include equipment or software not yet placed in service. Depreciation and amortization is calculated on a straight-line basis over the estimated useful lives of the various assets ranging from <span style=\"-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjY5MGEwMzcyYWEwYzQ5YWE4MTdhMWUwMDkyZTIyOTJjL3NlYzo2OTBhMDM3MmFhMGM0OWFhODE3YTFlMDA5MmUyMjkyY18xMzAvZnJhZzoxMmIyMjdiYTllNDk0OWQxODcyNTU5ZjE2ZmYyNDY2NC90ZXh0cmVnaW9uOjEyYjIyN2JhOWU0OTQ5ZDE4NzI1NTlmMTZmZjI0NjY0XzQzOTA_9582f2b9-ea68-47d0-b9e7-ac486cad1f56\">three</span> to nine years.","language":"en-us"}]},{"name":"rpt:f-346","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentUsefulLife","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"P9Y"}]},{"name":"rpt:f-347","factDimensions":{"xbrl:concept":"us-gaap:LesseeLeasesPolicyTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Leases The Company accounts for its leases under Financial Accounting Standards Board (\"FASB\") Accounting Standards Codification (\"ASC\") Topic 842, Leases (\"ASC 842\"). Under this guidance, arrangements meeting the definition of a lease are classified as operating or financing leases and are recorded on the consolidated balance sheet as both a right-of-use asset (\"ROU\") and lease liability, calculated by discounting fixed lease payments over the lease term at the rate implicit in the lease or the Company\u2019s incremental borrowing rate. As the Company's leases do not provide an implicit rate, the Company uses an incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments. Lease liabilities are increased by interest and reduced by payments each period, and the right-of-use asset is amortized over the lease term. For operating leases, interest on the lease liability and the amortization of the right-of-use asset result in straight-line rent expense over the lease term.","language":"en-us"}]},{"name":"rpt:f-348","factDimensions":{"xbrl:concept":"us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Impairment of Long-Lived Assets</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div>Impairment losses are to be recognized when the carrying amount of a long-lived asset is not recoverable or exceeds its fair value.\u00a0\u00a0The Company evaluates its long-lived assets for impairment whenever events or changes in circumstances indicate that a carrying value may not be recoverable.\u00a0\u00a0The Company uses estimates of future cash flows over the remaining useful life of a long- lived asset or asset group to determine the recoverability of the asset.\u00a0\u00a0These estimates only include the net cash flows directly associated with, and that are expected to arise as a direct result of, the use and eventual disposition of the asset or asset group.","language":"en-us"}]},{"name":"rpt:f-349","factDimensions":{"xbrl:concept":"us-gaap:ImpairmentOfLongLivedAssetsHeldForUse","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-350","factDimensions":{"xbrl:concept":"us-gaap:ImpairmentOfLongLivedAssetsHeldForUse","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-351","factDimensions":{"xbrl:concept":"csbr:OtherLongTermAssetsPolicyTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Other long term assetsOther long term assets represents amounts relating to lease deposits for our Hackensack, New Jersey and Rockville, Maryland locations.","language":"en-us"}]},{"name":"rpt:f-352","factDimensions":{"xbrl:concept":"us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Goodwill</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Goodwill represents the excess of the purchase price over the fair value of the net tangible and identifiable intangible assets acquired in a business combination. The Company evaluates the carrying value of goodwill annually in connection with the annual budgeting and forecast process and also between annual evaluations if events occur or circumstances change that would more likely than not reduce the fair value of the reporting unit to which goodwill was allocated to below its carrying amount. Such circumstances could include, but are not limited to: (1) a significant adverse change in legal factors, market conditions, or in business climate, (2) unanticipated competition, or (3) an adverse action or assessment by a regulator. When evaluating goodwill for impairment, we may first perform an assessment qualitatively whether it is more likely than not that a reporting unit\u2019s carrying amount exceeds its fair value, referred to as a \u201cstep zero\u201d approach. Subsequently (if necessary after step zero), an entity should perform its goodwill impairment test by comparing the fair value of a reporting unit with its carrying value. Under FASB's Accounting Standards Update (\"ASU\") 2014-02, Topic 350, \"Intangibles\u2014Goodwill and Other\" goodwill impairment is measured as the excess of the carrying amount of the reporting unit over its fair value. </span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The impairment evaluation test involves comparing the current fair value of each business unit to its carrying value, including goodwill. Fair value is typically estimated using a discounted cash flow analysis, which requires the Company to estimate the future cash flows anticipated to be generated by the business unit being tested for impairment as well as to select a risk-adjusted discount rate to measure the present value of the anticipated cash flows. When determining future cash flow estimates, the Company considers historical results adjusted to reflect current and anticipated operating conditions. The Company estimates cash flows for the business unit over a discrete period (typically four or five years) and the terminal period (considering expected long term growth rates and trends). Estimating future cash flows requires significant judgment by management in such areas as future economic conditions, industry-specific conditions, product pricing, and necessary capital expenditures. The use of different assumptions or estimates for future cash flows or significant changes in risk-adjusted discount rates due to changes in market conditions could produce substantially different estimates of the fair value of the business unit.</span></div>The Company has one reportable segment. The Company assesses goodwill impairment by business unit.  Judgments regarding the existence of impairment indicators are based on legal factors, market conditions and operational performance of the businesses.\u00a0\u00a0Future events, including but not limited to continued declines in economic activity, loss of contracts or a significant number of customers, or a rapid increase in costs or capital expenditures, could cause us to conclude that impairment indicators exist and that goodwill is impaired.","language":"en-us"}]},{"name":"rpt:f-353","factDimensions":{"xbrl:concept":"us-gaap:NumberOfReportableSegments","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"csbr:segment"},"factValues":[{"value":"1"}]},{"name":"rpt:f-354","factDimensions":{"xbrl:concept":"us-gaap:GoodwillImpairmentLoss","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-355","factDimensions":{"xbrl:concept":"us-gaap:GoodwillImpairmentLoss","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"335000","decimals":-3}]},{"name":"rpt:f-356","factDimensions":{"xbrl:concept":"us-gaap:Goodwill","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"335000","decimals":-3}]},{"name":"rpt:f-357","factDimensions":{"xbrl:concept":"us-gaap:Goodwill","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"335000","decimals":-3}]},{"name":"rpt:f-358","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Deferred Revenue</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue represents payments received in advance for products to be delivered.\u00a0\u00a0When products are delivered, deferred revenue is then recognized as earned.</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Revenue Recognition</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company recognizes revenue in accordance with ASC 606, Revenue from Contracts with Customers.  The objective of the standard is to establish a single comprehensive revenue recognition model that is designed to create greater comparability of financial statements across industries and jurisdictions. Under this standard, companies recognize revenue to depict the transfer of goods or services to customers in amounts that reflect the consideration to which the Company expects to be entitled in exchange for those goods or services. </span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">All revenue is generated from contracts with customers. The Company's arrangements are service type contracts that mainly have a duration of less than a year. The Company recognizes revenue when control of these services is transferred to the customer in an amount, referred to as the transaction price, that reflects the consideration to which the Company is expected to be entitled in exchange for those services. The Company determines revenue recognition utilizing the following five steps: (1) identification of the contract with a customer, (2) identification of the performance obligations in the contract (promised goods or services that are distinct), (3) determination of the transaction price, (4) allocation of the transaction price to the performance obligations, and (5) recognition of revenue when, or as, the Company transfers control of the product or service for each performance obligation. The Company records revenues net of any tax assessments by governmental authorities, such as value added taxes, that are imposed on and concurrent with specific revenue generating transactions. </span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline\">Pharmacology Study and Other Services</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company generally enters into contracts with customers to provide oncology services with payments based on fixed-fee arrangements. At contract inception, the Company assesses the services promised in the contracts with customers to identify the performance obligations in the arrangement. The Company's fixed-fee arrangements for oncology services are considered a single performance obligation because the Company provides a highly-integrated service.</span></div><div style=\"text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company recognizes revenue over time using a progress-based input method since there is no single output measure that would fairly depict the transfer of control over the life of the performance obligation. Revenue is recognized for the single performance obligation over time due to the Company's right to payment for work performed to date and the performance does not create an asset with an alternative use. The Company recognizes revenue as portions of the overall performance obligation are completed as this best depicts the progress of the performance obligation.</span></div><div style=\"text-indent:18pt\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Incremental Costs of Obtaining a Contract (Sales Commissions)</span></div><div><span><br/></span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Under ASC 606, the costs of obtaining a contract can be expensed immediately, rather than capitalized and amortized, if the amortization period is one year or shorter.  Sales commissions for the Company represent contract costs with a term of one year or less.  Therefore, under ASC 606, the Company elected the practical expedient to expense these costs as incurred.\u00a0\u00a0\u00a0\u00a0</span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Variable Consideration</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In some cases, contracts provide for variable consideration that is contingent upon the occurrence of uncertain future events, such as the success of the initial performance obligation. Variable consideration is estimated at the expected value or at the most likely amount depending on the type of consideration. Estimated amounts are included in the transaction price to the extent it is probable that a significant reversal of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is resolved. The estimate of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on an assessment of its anticipated performance and all information (historical, current and forecasted) that is reasonably available to the Company.  </span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Trade Receivables, Unbilled Services and Deferred Revenue</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In general, billings and payments are established by contractual provisions including predetermined payment schedules, which may or may not correspond to the timing of the transfer of control of the Company's services under the contract. In general, the Company's intention in its invoicing (payment terms) is to maintain cash neutrality over the life of the contract. Upfront payments, when they occur, are intended to cover certain expenses the Company incurs at the beginning of the contract. Neither the Company nor its customers view such upfront payments and contracted payment schedules as a means of financing. Unbilled services primarily arise from timing of payment terms and when an input method of revenue recognition is utilized and revenue recognized exceeds the amount billed to the customer.  </span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue consists of unearned payments received in excess of revenue recognized. As the contracted services are subsequently performed and the associated revenue is recognized, the deferred revenue balance is reduced by the amount of the revenue recognized during the period. Deferred revenue is classified as a current liability on the consolidated balance sheet as the Company expects to recognize the associated revenue in less than one year.</span></div>","language":"en-us"}]},{"name":"rpt:f-359","factDimensions":{"xbrl:concept":"csbr:OtherNoncurrentLiabilitiesPolicyTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Other Non-Current Liabilities</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Other non-current liabilities represent amounts for uncertain tax positions relating to one of our foreign entities.</span></div>","language":"en-us"}]},{"name":"rpt:f-360","factDimensions":{"xbrl:concept":"csbr:CostOfOncologySolutionsPolicyTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Cost of Oncology Services</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Cost of oncology services relates primarily to our TOS business unit. TOS costs consist of direct costs related to laboratory supplies, mice purchases, and maintenance costs for studies completed internally as well as charges from Contract Research Organization's for studies handled externally. Indirect costs include salaries and other payroll related costs of compensation for personnel directly engaged in providing TOS products and services. All costs of performing studies in-house are expensed as incurred. All costs of performing studies from external sources, are expensed when incurred.</span></div>","language":"en-us"}]},{"name":"rpt:f-361","factDimensions":{"xbrl:concept":"us-gaap:ResearchAndDevelopmentExpensePolicy","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Research and Development</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div>Research and development costs represent both costs incurred internally for research and development activities, including personnel costs, mice purchases, and maintenance, as well as costs incurred externally to facilitate research activities, such as tumor tissue procurement and characterization expenses.\u00a0\u00a0All research and development costs are expensed as incurred.","language":"en-us"}]},{"name":"rpt:f-362","factDimensions":{"xbrl:concept":"us-gaap:CostOfSalesPolicyTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Sales and Marketing</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Sales and marketing expenses represent costs incurred to promote the Company\u2019s products offered, including salaries, benefits and related costs of our sales and marketing personnel, and represent costs of advertising and other selling and marketing expenses. All sales and marketing costs, including advertising costs, are expensed as incurred.</span></div>","language":"en-us"}]},{"name":"rpt:f-363","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerSharePolicyTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Earnings Per Share</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div>Basic net income or loss per share is computed by dividing the net income or loss for the period by the weighted-average number of shares of common stock outstanding during the period. Diluted net income per share is computed by dividing the net income for the period by the weighted-average number of shares of common stock plus dilutive potential common stock considered outstanding during the period. Such dilutive shares consist of incremental shares that would be issued upon exercise of the Company\u2019s common stock purchase warrants and stock options.","language":"en-us"}]},{"name":"rpt:f-364","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Stock-based Payments</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company typically recognizes expense for stock-based payments based on the fair value of awards on the date of grant.\u00a0\u00a0The Company uses the Black-Scholes option pricing model to estimate fair value.\u00a0\u00a0The Black-Scholes option valuation model was developed for use in estimating the fair value of short-traded options that have no vesting restrictions and are fully transferable.\u00a0\u00a0The option pricing model requires the Company to estimate certain key assumptions such as expected life, volatility, risk free interest rates and dividend yield to determine the fair value of stock-based awards.\u00a0\u00a0These assumptions are based on historical information and management judgment.\u00a0\u00a0The risk-free interest rate used is based on the United States treasury security rate with a term consistent with the expected term of the award at the time of the grant.\u00a0Since the Company has limited option exercise history, it has generally elected to estimate the expected life of an award based upon the Securities and Exchange Commission-approved \u201csimplified method\u201d noted under the provisions of Staff Accounting Bulletin No. 107 with the continued use of this method extended under the provisions of Staff Accounting Bulletin No. 110. \u00a0Estimated volatility is based </span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">upon the historical volatility of the Company's common stock.\u00a0\u00a0The Company does not anticipate paying a dividend, and therefore, no expected dividend yield was used.</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company expenses stock-based payments over the period that the awards are expected to vest.\u00a0\u00a0In the event of forfeitures, compensation expense is adjusted.\u00a0\u00a0The Company expenses modification charges in the period of modification and, if required, over the remaining period the awards are expected to vest. The Company will report cash flows resulting from tax deductions in excess of the compensation cost recognized from those options (excess tax benefits) as financing cash flows, if they should arise.</span></div>","language":"en-us"}]},{"name":"rpt:f-365","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPolicyTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Income Taxes</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">    Deferred income taxes have been provided to show the effect of temporary differences between the recognition of expenses for financial and income tax reporting purposes and between the tax basis of assets and liabilities, and their reported amounts in the consolidated financial statements.\u00a0\u00a0In assessing the realizability of deferred tax assets, the Company assesses the likelihood that deferred tax assets will be recovered through tax planning strategies or from future taxable income, and to the extent that recovery is not likely or there is insufficient operating history, a valuation allowance is established.\u00a0\u00a0The Company adjusts the valuation allowance in the period management determines it is more likely than not that net deferred tax assets will or will not be realized.\u00a0\u00a0Changes in valuation allowances from period to period are included in the tax provision in the period of change.  As of April\u00a030, 2021 and 2020, the Company provided a valuation allowance for all net deferred tax assets, as recovery is not more likely than not based on an insufficient history of earnings.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Tax positions are positions taken in a previously filed tax return or positions expected to be taken in a future tax return that are reflected in measuring current or deferred income tax assets and liabilities reported in the consolidated financial statements.\u00a0\u00a0Tax positions include, but are not limited to, the following:</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt\">An allocation or shift of income between taxing jurisdictions;</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt\">The characterization of income or a decision to exclude reportable taxable income in a tax return; or</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt\">A decision to classify a transaction, entity or other position in a tax return as tax exempt.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company reflects tax benefits only if it is more likely than not that we will be able to sustain the tax position, based on its technical merits.\u00a0\u00a0If a tax benefit meets this criterion, it is measured and recognized based on the largest amount of benefit that is cumulatively greater than 50% likely to be realized.\u00a0\u00a0As of April\u00a030, 2021 and 2020 the Company has recorded $181,000 and $178,000, respectively, of liabilities related to uncertain tax positions relative to one of its foreign operations.</span></div>The Company\u2019s practice is to recognize interest and/or penalties related to income tax matters in income tax expense.","language":"en-us"}]},{"name":"rpt:f-366","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-367","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"178000","decimals":-3}]},{"name":"rpt:f-368","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3000","decimals":-3}]},{"name":"rpt:f-369","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestExpense","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"27000000","decimals":-3}]},{"name":"rpt:f-370","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"75000","decimals":-3}]},{"name":"rpt:f-371","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"130000","decimals":-3}]},{"name":"rpt:f-372","factDimensions":{"xbrl:concept":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Accounting Pronouncements Being Evaluated</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In June 2016, the Financial Accounting Standards Board (FASB) FASB issued Accounting Standards Update (ASU) No. 2016-13, \"Financial Instruments - Credit Losses\".  This update requires immediate recognition of management\u2019s estimates of current expected credit losses (\"CECL\").  Under the prior model, losses were recognized only as they were incurred.  The new model is applicable to all financial instruments that are not accounted for at fair value through net income.  The standard is effective for fiscal years beginning after December 15, 2022 for public entities qualifying as smaller reporting companies.  Early adoption is permitted.  We are currently assessing the impact of this update on our consolidated financial statements and have not yet determined the impact on our consolidated financial statements.</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In December 2019, the FASB issued ASU 2019-12, Income Taxes (ASC 740) \u2014 Simplifying the Accounting for Income Taxes. ASU 2019-12 which modifies ASC 740 to simplify the accounting for income taxes. The ASU removes certain exceptions for recognizing deferred taxes for investments, performing intraperiod allocation and calculating income taxes in interim periods. The ASU also adds guidance to reduce complexity in certain areas, including recognizing deferred taxes for tax goodwill and allocating taxes to members of a consolidated group. ASU 2019-12 is effective for annual periods, including </span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">interim periods within those annual periods, beginning after December 15, 2020. We are currently assessing the potential impact of this ASU on our consolidated financial statements and do not expect a material impact on our consolidated financial statements.</span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Recently Adopted Accounting Pronouncements</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In February 2016, the FASB issued ASU No. 2016-02, \"Leases\", (Topic 842), which required the Company to recognize lease assets and lease liabilities (related to leases previously classified as operating under previous U.S. GAAP) on its consolidated balance sheet for all leases in excess of one year in duration. The ASU was effective for the Company on May 1, 2019. The Company elected to adopt ASU 2016-02 using the modified retrospective method and, therefore, have not recast comparative periods presented in its unaudited consolidated financial statements. As permitted under ASU 2016-02, the Company elected to account for the non-lease components together with the lease components as a single lease component. The Company recorded an operating lease right-of-use (\"ROU\") asset of\u00a0$3.2 million, net of deferred rent of\u00a0$900,000\u00a0and an operating lease liability of\u00a0$4.1 million\u00a0as of May 1, 2019. Refer to \"Note 12. Leases\" for additional information.</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In January 2017, the FASB issued ASU No. 2017-04, \u201cIntangibles - Goodwill and Other\u201d (Topic 350): Simplifying the Test for Goodwill Impairment (ASU 2017-04). This new standard simplifies how an entity is required to test goodwill for impairment by eliminating a step from the goodwill impairment test. ASU 2017-04 allows for prospective application and is effective for fiscal years beginning after December 15, 2019, and interim periods therein with early adoption permitted for interim or annual goodwill impairment tests performed on testing dates after January 1, 2017. The Company adopted this guidance on May 1, 2019.  The adoption did not have an impact on the Company's consolidated financial statements.\u00a0</span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In June 2018, the FASB issued ASU 2018-07, \"Compensation-Stock Compensation (Topic 718): Improvements to Nonemployee Share-Based Payment Accounting\". This ASU expands the scope of Topic 718, Compensation\u2014Stock Compensation (which currently only includes share-based payments to employees) to include share-based payments issued to nonemployees for goods or services. Under the new guidance, the existing employee guidance will apply to nonemployee share-based transactions (as long as the transaction is not effectively a form of financing), with the exception of specific guidance related to the attribution of compensation cost. The cost of nonemployee awards will continue to be recorded as if the grantor had paid cash for the goods or services. The new accounting guidance was effective for the Company on May 1, 2019.  The Company early adopted ASU 2018-07 beginning with its financial reporting for the quarter ended January 31, 2019.  The adoption did not have a material impact on the Company's consolidated financial statements.</span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In August 2018, the FASB issued ASU 2018-13, Fair Value Measurement (ASC 820) \u2014 Disclosure Framework-Changes to the Disclosure Requirements for Fair Value Measurement. ASU 2018-13 removes certain disclosures, modifies certain disclosures and adds additional disclosures. ASU 2018-13 is effective for annual periods, including interim periods within those annual periods, beginning after December 15, 2019. The Company adopted this guidance on May 1, 2020.  The adoption of this ASU did not have a material impact on the Company's consolidated financial statements.</span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">In August 2018, the FASB issued ASU 2018-15, which amends ASC 350-40, Intangibles\u2014Goodwill and Other\u2014Internal-Use Software, to address a customer\u2019s accounting for implementation costs incurred in a cloud computing arrangement (\"CCA\") that is a service contract.  This update aligns the accounting for costs incurred to implement a CCA that is a service arrangement with the guidance on capitalizing costs associated with developing or obtaining internal-use software.  The update is effective for public business entities for fiscal years beginning after December 15, 2019, and interim periods within those fiscal years.  The Company adopted this guidance on May 1, 2020.  The adoption of this ASU did not have a material impact is reflected in the Company's current year consolidated financial statements.</span></div>","language":"en-us"}]},{"name":"rpt:f-373","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2019-05-02T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201602Member"},"factValues":[{"value":"3200000","decimals":-5}]},{"name":"rpt:f-374","factDimensions":{"xbrl:concept":"us-gaap:AdvanceRent","xbrl:period":"2019-05-02T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201602Member"},"factValues":[{"value":"900000","decimals":-3}]},{"name":"rpt:f-375","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiability","xbrl:period":"2019-05-02T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:AdjustmentsForNewAccountingPronouncementsAxis":"us-gaap:AccountingStandardsUpdate201602Member"},"factValues":[{"value":"4100000","decimals":-5}]},{"name":"rpt:f-376","factDimensions":{"xbrl:concept":"csbr:AccountsReceivableUnbilledServicesAndDeferredRevenueTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Accounts Receivable, Unbilled Services and Deferred RevenueAccounts receivable and unbilled services were as follows (in thousands):<div style=\"margin-top:5pt;text-align:center\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:71.948%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.007%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.536%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.009%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2021</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Accounts receivable</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4,304\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,655\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Unbilled services</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3,020\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,404\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total accounts receivable and unbilled services</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">7,324\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5,059\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Less: allowance for doubtful accounts</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(338)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(289)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total accounts receivable, net</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">6,986\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4,770\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:400;line-height:120%\"> </span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue was as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:71.948%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.007%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.536%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.009%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2021</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2020</span></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Deferred revenue</span></td><td style=\"background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">6,256\u00a0</span></td><td style=\"background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5,815\u00a0</span></td><td style=\"background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div><span><br/></span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue is shown as a current liability on the Company's balance sheet.</span></div>","language":"en-us"}]},{"name":"rpt:f-377","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Accounts receivable and unbilled services were as follows (in thousands):<table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:71.948%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.007%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.536%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.009%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2021</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Accounts receivable</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4,304\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,655\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Unbilled services</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3,020\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,404\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total accounts receivable and unbilled services</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">7,324\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5,059\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Less: allowance for doubtful accounts</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(338)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(289)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total accounts receivable, net</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">6,986\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4,770\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table>","language":"en-us"}]},{"name":"rpt:f-378","factDimensions":{"xbrl:concept":"csbr:TradeAccountsReceivable","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4304000","decimals":-3}]},{"name":"rpt:f-379","factDimensions":{"xbrl:concept":"csbr:TradeAccountsReceivable","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2655000","decimals":-3}]},{"name":"rpt:f-380","factDimensions":{"xbrl:concept":"us-gaap:UnbilledContractsReceivable","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3020000","decimals":-3}]},{"name":"rpt:f-381","factDimensions":{"xbrl:concept":"us-gaap:UnbilledContractsReceivable","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2404000","decimals":-3}]},{"name":"rpt:f-382","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7324000","decimals":-3}]},{"name":"rpt:f-383","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGross","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5059000","decimals":-3}]},{"name":"rpt:f-384","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivable","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"338000","decimals":-3}]},{"name":"rpt:f-385","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivable","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"289000","decimals":-3}]},{"name":"rpt:f-386","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6986000","decimals":-3}]},{"name":"rpt:f-387","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4770000","decimals":-3}]},{"name":"rpt:f-388","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue was as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.269%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:71.948%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.007%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.536%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.009%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2021</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2020</span></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Deferred revenue</span></td><td style=\"background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">6,256\u00a0</span></td><td style=\"background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"background-color:#bfe4ff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#bfe4ff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5,815\u00a0</span></td><td style=\"background-color:#bfe4ff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-389","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6256000","decimals":-3}]},{"name":"rpt:f-390","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5815000","decimals":-3}]},{"name":"rpt:f-391","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Property and Equipment<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Property and equipment consisted of the following (in thousands):</span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">April 30,</span></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Furniture and fixtures</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">246\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">180\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Computer equipment and software</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,461\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,209\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Laboratory equipment</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">6,640\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4,818\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Capitalized software development costs</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">484\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Assets in progress</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,211\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">554\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Leasehold improvements</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total property and equipment</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">10,046\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">6,765\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Accumulated depreciation and amortization</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(3,956)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(2,772)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Property and equipment, net</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">6,090\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3,993\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0\u00a0\u00a0\u00a0Depreciation and amortization expense was $1.2 million and $825,000 for the years ended April\u00a030, 2021 and 2020, respectively.  Depreciation and amortization expense, excluding expense recorded under finance leases, was\u00a0$925,000 and $683,000\u00a0for the twelve months ended\u00a0April 30, 2021\u00a0and\u00a02020. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0\u00a0\u00a0\u00a0As of\u00a0April 30, 2021\u00a0and\u00a02020, property, plant and equipment included gross assets held under finance leases of\u00a0$343,000. Related depreciation expense for these assets was $124,000 and $142,000 for the years ended\u00a0April\u00a030, 2021\u00a0and\u00a02020.   </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0\u00a0\u00a0\u00a0During the year ended April 30, 2020, specifically during the quarter ended October 31, 2019, the Company traded in and disposed of a\u00a0$235,000\u00a0leased asset that was previously included in the laboratory equipment category. At the time of disposal, the accumulated depreciation related to that asset was written off in the amount of\u00a0$127,000\u00a0(see also paragraph below). As of January 31, 2020, the remaining leased asset included in the laboratory equipment category was fully depreciated resulting in a net balance of nil from that point forward.</span></div><div style=\"text-align:justify;text-indent:36pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Capitalized software development costs under a hosting arrangement</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company accounts for the cost of computer software obtained or developed for internal use as well as the software development and implementation costs associated with a hosting arrangement (\"internal-use software\") that is a service contract in accordance and with ASC 350, </span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%\">Intangibles - Goodwill and Other </span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">(\"ASC-350\"). We capitalize certain costs in the </span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">development of our internal-use software when the preliminary project stage is completed and it is probable that the project itself will be completed and the software will perform as intended. These capitalized costs include personnel and related expenses for employees and costs of third-party consultants who are directly associated with and who devote time to these internal-use software projects. Capitalization of these costs ceases once the project is substantially complete and the software is ready for its intended purpose. Costs incurred for significant upgrades, increased functionality, and enhancements to the Company's internal-use software solutions are also capitalized. Costs incurred for training, maintenance, and minor modifications are expensed as incurred.  Capitalized software development costs are amortized using the straight-line method over an estimated useful economic life of three years.  </span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> </span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">During the year ended April 30, 2020, the Company began to capitalize development and implementation costs in accordance with accounting guidance for its Lumin Bioinformatics platform (\"Lumin\").  Lumin is the Company's new oncology data-driven software program and data tool which is classified as Software as a Service (SaaS).  These capitalized costs represent salaries, including direct payroll-related costs, certain software development consultant expenses and molecular sequencing programming costs incurred in the engineering and coding of the software development.   As of April 30, 2020, development was not yet complete and, as such, the platform was not placed into service or made available for sale. Therefore, these costs were classified as assets in progress in the amount of $315,000 at April 30, 2020. After additional development during the first quarter of fiscal 2021, the initial version of the Lumin platform was launched, at which time initial capitalization ceased and amortization commenced. The total Lumin asset was placed into service as of July 31, 2020 in the gross amount of $484,000.  Depreciation and amortization related to this asset was $134,000 for the year ended April 30, 2021.  </span></div><div style=\"text-align:justify;text-indent:36pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">During the second quarter ended October 31, 2021 and through the end of fiscal 2021, the Company continued to develop increased functionality, expand product design and usability, and add enhancements to the Lumin platform.  In accordance with accounting guidance, these costs were capitalized, and  as of April 30, 2021, were not yet placed into service or made available for sale. This developmental work does not render the initial released version to be obsolete or diminished in value but, rather, adds to the base level of the existing platform.  Total costs included in assets in progress related to these capitalized enhancements and additional functionality as of April 30, 2021 are $991,000. These developments will be placed into service and made available for sale during fiscal 2022. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Finance Lease</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0\u00a0\u00a0\u00a0In November 2014, the Company entered into a finance lease for laboratory equipment. The lease had costs of approximately\u00a0$149,000, at inception, through November 2019.\u00a0The final lease payment under this finance lease of\u00a0$2,000\u00a0was paid during the three months ended January 31, 2020.\u00a0</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0\u00a0\u00a0\u00a0In July 2018, the Company entered into a second finance lease for laboratory equipment. The lease had total costs of approximately\u00a0$266,000, inclusive of interest and taxes, with a monthly payment of approximately\u00a0$11,000. Although the lease was originally due to mature in July 2020, the Company decided to pay the outstanding balance on February 1, 2019. During the quarter ended October 31, 2019, the Company traded in this asset and received a\u00a0$160,000\u00a0reduction in the purchase price of two newly acquired assets. The net book value of the asset traded in at the time of trade in was\u00a0$108,000, which resulted in the gain on the disposal of the asset of\u00a0$52,000, which is included as an offset in the other expense line within the Company's consolidated statement of operations for the year ended  April 30, 2020. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0\u00a0\u00a0\u00a0In December 2019, the Company entered into a finance lease for laboratory equipment. The lease had costs of approximately\u00a0$231,000, at inception, through November 2020. This lease expired December 2020. Prior to expiration, the  monthly finance lease payment was approximately\u00a0$19,000. The future minimum lease payments remaining under this finance lease at April 30, 2021 and 2020 were zero are\u00a0$135,000, respectively. The present value of minimum future obligations was calculated based on interest rate of\u00a04.75%. Depreciation and amortization expense related to this finance lease was $124,000 and\u00a0$88,500\u00a0for the years ended April 30, 2021 and 2020, respectively.</span></div>","language":"en-us"}]},{"name":"rpt:f-392","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Property and equipment consisted of the following (in thousands):</span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">April 30,</span></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Furniture and fixtures</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">246\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">180\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Computer equipment and software</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,461\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,209\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Laboratory equipment</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">6,640\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4,818\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Capitalized software development costs</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">484\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Assets in progress</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,211\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">554\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Leasehold improvements</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total property and equipment</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">10,046\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">6,765\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Accumulated depreciation and amortization</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(3,956)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(2,772)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Property and equipment, net</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">6,090\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3,993\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-393","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:FurnitureAndFixturesMember"},"factValues":[{"value":"246000","decimals":-3}]},{"name":"rpt:f-394","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:FurnitureAndFixturesMember"},"factValues":[{"value":"180000","decimals":-3}]},{"name":"rpt:f-395","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:ComputerEquipmentMember"},"factValues":[{"value":"1461000","decimals":-3}]},{"name":"rpt:f-396","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:ComputerEquipmentMember"},"factValues":[{"value":"1209000","decimals":-3}]},{"name":"rpt:f-397","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:OtherMachineryAndEquipmentMember"},"factValues":[{"value":"6640000","decimals":-3}]},{"name":"rpt:f-398","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:OtherMachineryAndEquipmentMember"},"factValues":[{"value":"4818000","decimals":-3}]},{"name":"rpt:f-399","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember"},"factValues":[{"value":"484000","decimals":-3}]},{"name":"rpt:f-400","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-401","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:AssetUnderConstructionMember"},"factValues":[{"value":"1211000","decimals":-3}]},{"name":"rpt:f-402","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:AssetUnderConstructionMember"},"factValues":[{"value":"554000","decimals":-3}]},{"name":"rpt:f-403","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:LeaseholdImprovementsMember"},"factValues":[{"value":"4000","decimals":-3}]},{"name":"rpt:f-404","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:LeaseholdImprovementsMember"},"factValues":[{"value":"4000","decimals":-3}]},{"name":"rpt:f-405","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10046000","decimals":-3}]},{"name":"rpt:f-406","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6765000","decimals":-3}]},{"name":"rpt:f-407","factDimensions":{"xbrl:concept":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3956000","decimals":-3}]},{"name":"rpt:f-408","factDimensions":{"xbrl:concept":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2772000","decimals":-3}]},{"name":"rpt:f-409","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentNet","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6090000","decimals":-3}]},{"name":"rpt:f-410","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentNet","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3993000","decimals":-3}]},{"name":"rpt:f-411","factDimensions":{"xbrl:concept":"us-gaap:DepreciationDepletionAndAmortization","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1200000","decimals":-5}]},{"name":"rpt:f-412","factDimensions":{"xbrl:concept":"us-gaap:DepreciationDepletionAndAmortization","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"825000","decimals":-3}]},{"name":"rpt:f-413","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseDepreciationandAmortizationExpenses","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"925000","decimals":-3}]},{"name":"rpt:f-414","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseDepreciationandAmortizationExpenses","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"683000","decimals":-3}]},{"name":"rpt:f-415","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAsset","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"343000","decimals":-3}]},{"name":"rpt:f-416","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAsset","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"343000","decimals":-3}]},{"name":"rpt:f-417","factDimensions":{"xbrl:concept":"us-gaap:Depreciation","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"csbr:FinanceLeasedAssetsMember"},"factValues":[{"value":"124000","decimals":-3}]},{"name":"rpt:f-418","factDimensions":{"xbrl:concept":"us-gaap:Depreciation","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"csbr:FinanceLeasedAssetsMember"},"factValues":[{"value":"142000","decimals":-3}]},{"name":"rpt:f-419","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentDisposals","xbrl:period":"2019-08-01T00:00:00/2019-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:OtherMachineryAndEquipmentMember"},"factValues":[{"value":"235000","decimals":-3}]},{"name":"rpt:f-420","factDimensions":{"xbrl:concept":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationSaleOfPropertyPlantAndEquipment1","xbrl:period":"2020-08-01T00:00:00/2020-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:OtherMachineryAndEquipmentMember"},"factValues":[{"value":"127000","decimals":-3}]},{"name":"rpt:f-421","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentUsefulLife","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-422","factDimensions":{"xbrl:concept":"us-gaap:HostingArrangementServiceContractImplementationCostCapitalizedBeforeAccumulatedAmortization","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:AssetUnderConstructionMember"},"factValues":[{"value":"315000","decimals":-3}]},{"name":"rpt:f-423","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:SoftwareAndSoftwareDevelopmentCostsMember"},"factValues":[{"value":"484000","decimals":-3}]},{"name":"rpt:f-424","factDimensions":{"xbrl:concept":"us-gaap:HostingArrangementServiceContractImplementationCostExpenseAmortization","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"134000","decimals":-3}]},{"name":"rpt:f-425","factDimensions":{"xbrl:concept":"us-gaap:HostingArrangementServiceContractImplementationCostCapitalizedAccumulatedAmortization","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"991000","decimals":-3}]},{"name":"rpt:f-426","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseCost","xbrl:period":"2014-11-01T00:00:00/2019-12-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"149000","decimals":-3}]},{"name":"rpt:f-427","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeasePrincipalPayments","xbrl:period":"2019-11-01T00:00:00/2020-02-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2000","decimals":-3}]},{"name":"rpt:f-428","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseCost","xbrl:period":"2018-07-01T00:00:00/2018-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"266000","decimals":-3}]},{"name":"rpt:f-429","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseMonthlyPayment","xbrl:period":"2018-07-01T00:00:00/2018-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11000","decimals":-3}]},{"name":"rpt:f-430","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment","xbrl:period":"2019-08-01T00:00:00/2019-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"csbr:TradedinAssetsMember"},"factValues":[{"value":"160000","decimals":-3}]},{"name":"rpt:f-431","factDimensions":{"xbrl:concept":"csbr:NumberOfAssetsAcquired","xbrl:period":"2019-08-01T00:00:00/2019-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"csbr:asset"},"factValues":[{"value":"2"}]},{"name":"rpt:f-432","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentNet","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"csbr:TradedinAssetsMember"},"factValues":[{"value":"108000","decimals":-3}]},{"name":"rpt:f-433","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"csbr:TradedinAssetsMember"},"factValues":[{"value":"52000","decimals":-3}]},{"name":"rpt:f-434","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseCost","xbrl:period":"2019-12-01T00:00:00/2020-01-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"231000","decimals":-3}]},{"name":"rpt:f-435","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseMonthlyPayment","xbrl:period":"2019-12-01T00:00:00/2020-01-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"19000","decimals":-3}]},{"name":"rpt:f-436","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityPaymentsDue","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-437","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityPaymentsDue","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"135000","decimals":-3}]},{"name":"rpt:f-438","factDimensions":{"xbrl:concept":"csbr:PresentValueMinimumFutureObligationsInterestRate","xbrl:period":"2019-12-01T00:00:00/2020-01-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.0475"}]},{"name":"rpt:f-439","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"124000","decimals":-2}]},{"name":"rpt:f-440","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"88500","decimals":-2}]},{"name":"rpt:f-441","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Revenue from Contracts with Customers<div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Oncology Services Revenue</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company accounts for revenue in accordance with ASC 606, Revenue from Contracts with Customers.  Under ASC 606, revenue is recognized when, or as, a customer obtains control of promised services. The amount of revenue recognized reflects the consideration to which the Company expects to be entitled to receive in exchange for these services. </span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">A performance obligation is a promise (or a combination of promises) in a contract to transfer distinct goods or services to a customer and is the unit of accounting under ASC 606 for the purposes of revenue recognition. A contract's transaction price is allocated to each separate performance obligation based upon the standalone selling price and is recognized as revenue, when, or as, the performance obligation is satisfied. The majority of the Company's contracts have a single performance obligation because the promise to transfer individual services is not separately identifiable from other promises in the contracts, and therefore, is not distinct.</span></div><div style=\"text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The majority of the Company's revenue arrangements are service contracts that are completed within a year or less. There are a few contracts that range in duration between 1 and 3 years. Substantially all of the Company's performance obligations, and associated revenue, are transferred to the customer over time. Most of the Company's contracts can be terminated by the customer without cause. In the event of termination, the Company's contracts provide that the customer pay the Company for services rendered through the termination date. The Company generally receives compensation based on a predetermined invoicing schedule relating to specific milestones for that contract. In addition, in certain instances a customer contract may include forms of variable consideration such as performance increases or other provisions that can increase or decrease the transaction price. This variable consideration is generally awarded upon achievement of certain performance metrics. For the purposes of revenue recognition, variable consideration is assessed on a contract-by-contract basis and the amount to be recorded is estimated based on the assessment of the Company's anticipated performance and consideration of all information that is reasonably available. Variable consideration is recognized as revenue if and when it is deemed probable that a significant reversal in the amount of cumulative revenue recognized will not occur when the uncertainty associated with the variable consideration is resolved in the future.</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Amendments to contracts are common. The Company evaluates each amendment which meets the criteria of a contract modification under ASC 606. Each modification is further evaluated to determine whether the contract modification should be accounted for as a separate contract or as a continuation of the original agreement. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">      The Company accounts for amendments as a separate contract as they meet the criteria under ASC 606-10-25-12.</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">      Other TOS revenue represents additional services provided to the Company's pharmaceutical and biotechnology customers,  specifically flow cytometry services and SaaS provided via our Lumin Bioinformatics software. </span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">       The following table represents disaggregated revenue for the twelve months ended April\u00a030, 2021 and 2020:</span></div><div style=\"margin-top:5pt;text-align:center\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:71.345%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:70.416%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.219%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.824%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.014%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.827%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Pharmacology services</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">39,473\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">31,262\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Personalized oncology services</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">166\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">790\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Other TOS revenue</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,401\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">71\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total oncology services revenue</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">41,040\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">32,123\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr></table></div><div style=\"margin-top:5pt\"><span><br/></span></div><div style=\"margin-top:5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Contract Balances</span></div><div style=\"margin-top:5pt;text-align:center\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Contract assets include unbilled amounts typically resulting from revenue recognized in excess of the amounts billed to the customer for which the right to payment is subject to factors other than the passage of time. These amounts may not exceed their net realizable value. Contract assets are classified as current. Contract liabilities consist of customer payments received in advance of performance and billings in excess of revenue recognized, net of revenue recognized from the balance at the beginning of the period. Contract assets and liabilities are presented on the balance sheet on a net contract-by-contract basis at the end of each reporting period.</span></div>","language":"en-us"}]},{"name":"rpt:f-442","factDimensions":{"xbrl:concept":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MinimumMember","srt:ProductOrServiceAxis":"csbr:FewContractsMember","us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis":"2021-05-01"},"factValues":[{"value":"P1Y"}]},{"name":"rpt:f-443","factDimensions":{"xbrl:concept":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:ProductOrServiceAxis":"csbr:FewContractsMember","srt:RangeAxis":"srt:MaximumMember","us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis":"2021-05-01"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-444","factDimensions":{"xbrl:concept":"us-gaap:DisaggregationOfRevenueTableTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"The following table represents disaggregated revenue for the twelve months ended April\u00a030, 2021 and 2020:<table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:71.345%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:70.416%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.219%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.824%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:12.014%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.827%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Pharmacology services</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">39,473\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">31,262\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Personalized oncology services</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">166\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">790\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Other TOS revenue</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,401\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">71\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total oncology services revenue</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">41,040\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">32,123\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr></table>","language":"en-us"}]},{"name":"rpt:f-445","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:PharmacologyServicesMember"},"factValues":[{"value":"39473000","decimals":-3}]},{"name":"rpt:f-446","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:PharmacologyServicesMember"},"factValues":[{"value":"31262000","decimals":-3}]},{"name":"rpt:f-447","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:PersonalizedOncologyServicesMember"},"factValues":[{"value":"166000","decimals":-3}]},{"name":"rpt:f-448","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:PersonalizedOncologyServicesMember"},"factValues":[{"value":"790000","decimals":-3}]},{"name":"rpt:f-449","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:OtherServicesMember"},"factValues":[{"value":"1401000","decimals":-3}]},{"name":"rpt:f-450","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:OtherServicesMember"},"factValues":[{"value":"71000","decimals":-3}]},{"name":"rpt:f-451","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"41040000","decimals":-3}]},{"name":"rpt:f-452","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"32123000","decimals":-3}]},{"name":"rpt:f-453","factDimensions":{"xbrl:concept":"us-gaap:ConcentrationRiskDisclosureTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Significant Customers<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">For the years ended April\u00a030, 2021 and 2020, none of our customers accounted for more than 10.0% of our total revenue.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">As of April\u00a030, 2021 and 2020, none of our customers accounted for more than 10.0% of our total accounts receivable balance.</span></div>","language":"en-us"}]},{"name":"rpt:f-454","factDimensions":{"xbrl:concept":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Commitments and Contingencies<div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Legal Matters</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company is not currently party to any legal matters to its knowledge. The Company is not aware of any other matters that would have a material impact on the Company\u2019s financial position or results of operations.</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">\u00a0</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Registration Payment Arrangements</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company has entered into an Amended and Restated Registration Rights Agreement in connection with the March 2015 Private Placement. This Amended and Restated Registration Rights Agreement contains provisions that may call for the Company to pay penalties in certain circumstances. This registration payment arrangement primarily relates to the Company\u2019s ability to file a registration statement within a particular time period, have a registration statement declared effective within a particular time period and to maintain the effectiveness of the registration statement for a particular time period. The Company has not accrued any liquidated damages associated with the Amended and Restated Registration Right Agreement as the Company has filed the required registration statement and anticipates continued compliance with the agreement.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Royalties</span></div>The Company contracts with third-party vendors to license tumor samples for development into PDX models and use in our TOS business. These types of arrangements have an upfront fee ranging from nil\u00a0to $10,000 per tumor sample depending on the successful growth of the tumor model and ability to develop them into a sellable product. The upfront costs are expensed as incurred. In addition, under certain agreements, for a limited period of time, the Company is subject to royalty payments if the licensed tumor models are used for sale in\u00a0our TOS business,\u00a0ranging from 2% to 12.5% of the contract price\u00a0after recouping certain initiation costs.  Some of these arrangements also set forth an annual minimum royalty due regardless of tumor models used for sale.   For the years ended April\u00a030, 2021 and 2020, we have paid or accrued approximately $127,000 and  $128,000 related to these royalty arrangements, respectively.","language":"en-us"}]},{"name":"rpt:f-455","factDimensions":{"xbrl:concept":"csbr:CollaborationArrangementRoyaltyFee","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-456","factDimensions":{"xbrl:concept":"csbr:CollaborationArrangementRoyaltyFee","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"10000"}]},{"name":"rpt:f-457","factDimensions":{"xbrl:concept":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"0.02"}]},{"name":"rpt:f-458","factDimensions":{"xbrl:concept":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"0.125"}]},{"name":"rpt:f-459","factDimensions":{"xbrl:concept":"us-gaap:RoyaltyExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"127000","decimals":-3}]},{"name":"rpt:f-460","factDimensions":{"xbrl:concept":"us-gaap:RoyaltyExpense","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"128000","decimals":-3}]},{"name":"rpt:f-461","factDimensions":{"xbrl:concept":"us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Stock-based Payments<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Stock-based compensation in the amount of $598,000 and $600,000 was recognized for years ended April\u00a030, 2021 and 2020, respectively.\u00a0Stock-based compensation costs were recorded as follows (in thousands):</span></div><div><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">General and administrative</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">292\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">328\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Sales and marketing</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">199\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">237\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Research and development</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">23\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">13\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">TOS cost of sales</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">84\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">21\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">POS cost of sales</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total stock-based compensation expense</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">598\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">600\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">2010 Equity Incentive Plan</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">On February 18, 2011, shareholders owning a majority of the issued and outstanding shares of the Company executed a written consent approving the 2010 Equity Incentive Plan (\u201c2010 Equity Plan\u201d). The purpose of the 2010 Equity Plan is to grant (i) Non-statutory Stock Options; (ii) Restricted Stock Awards; and (iii) Stock Appreciation Rights (collectively, stock-based compensation) to its employees, directors and non-employees. Total stock awards under the 2010 Equity Plan shall not exceed 30,000,000 shares of common stock. Options and Stock Appreciation Rights expire no later than ten years from the date of grant and the awards vest as determined by the Board of Directors. Options and Stock Appreciation Rights have a strike price not less than 100% of the fair market value of the common stock subject to the option or right at the date of grant.</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">2008 Equity Incentive Plan</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company has previously granted (i) Non-statutory Stock Options; (ii) Restricted Stock Awards; and (iii) Stock Appreciation Rights (collectively, stock-based compensation) to its employees, directors and non-employees under a 2008 Equity Incentive Plan (the \u201c2008 Equity Plan\u201d).\u00a0\u00a0Such awards may be granted by the Company\u2019s Board of Directors.\u00a0\u00a0Options granted under the 2008 Equity Plan expire no later than ten years from the date of grant and the awards vest as determined by the Board of Directors.</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">For stock-based payments to non-employee consultants under both the 2010 and 2008 Equity Plan, the fair value of the stock-based consideration issued is used to measure the transaction, as management believes this to be a more reliable measure of fair value than the services received.\u00a0\u00a0The fair value of the award is expensed over the period service is provided to the Company; however, it is ultimately measured at the price of the Company\u2019s common stock or the fair value of stock options using the Black-Scholes valuation model on the date that the commitment for performance by the non-employee consultant has been reached or performance is complete, which is generally the vesting date of the award.</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Director Compensation Plan</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">On December 12, 2013, the Compensation Committee of the Board of Directors of the Company adopted changes to the Director Compensation Plan of 2010 (the \u201cDirector Plan\u201d) effective December 1, 2013.\u00a0\u00a0Under the Director Plan, independent directors of the Company are entitled to an annual award of a five-year option to purchase 8,333 shares of the Company\u2019s common stock, and the Chairman of the Board of the Company is entitled to an annual award of a five years option to purchase 16,667 shares of the Company\u2019s common stock.\u00a0\u00a0Independent directors who serve as chairperson of a committee will also receive an annual grant of a five-year option to purchase 1,667 shares of the Company\u2019s common stock. All options issued under the Director Plan vest quarterly at a rate of 25%. Option grants will typically be issued after the annual shareholder meeting which will generally be held in October of each year. New directors will receive a grant upon joining the Board equal to the pro-rata annual grant for the remainder of the year.\u00a0Options issued under the Director Plan are issued pursuant to the 2010 Equity Plan.\u00a0</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Stock Option Grants</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Black-Scholes assumptions used to calculate the fair value of options granted during the years ended April\u00a030, 2021 and 2020 were as follows:</span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:53.432%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.636%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.530%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.902%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Expected term in years</span></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3-6</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3 - 6</span></div></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Risk-free interest rates</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.1% - 0.5%</span></div></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1.3% - 1.8%</span></div></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Volatility</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">70% - 75%</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">69% - 71%</span></div></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Dividend yield</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></div></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></div></td></tr></table></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The weighted average fair value of stock options granted during the years ending April\u00a030, 2021 and 2020, was $5.11 and $5.33, respectively. The Company\u2019s stock options activity and related information as of and for the years ended April\u00a030, 2021 and 2020 is as follows:</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:24.744%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.651%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Non-<br/>Employees</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Directors<br/>and<br/>Employees</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Total</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (Years)</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Aggregate<br/>Intrinsic<br/>Value</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, May 1, 2020</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">43,332\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,228,326\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,271,658\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3.23\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">10,663,000\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Granted</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">135,834\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">135,834\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">9.24\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">7.3</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">259,000\u00a0</span></td><td style=\"background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Exercised</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(1,160)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(686,178)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(687,338)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2.33\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Canceled</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(923)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(47,751)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(48,674)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">6.03\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Forfeited</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(12,000)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(12,000)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">7.48\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Expired</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(5,834)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(5,834)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">10.80\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, April 30, 2021</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">35,415\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,618,231\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,653,646\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3.96\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.4</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,384,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Vested and expected to vest as of April 30, 2021</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">35,415\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,618,231\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,653,646\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3.96\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.4</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,384,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Vested as of April 30, 2021</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">9,584\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,323,270\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,332,854\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3.34\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4.8</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">9,995,000\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%\">\u00a0</span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:24.744%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.651%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Non-<br/>Employees</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Directors<br/>and<br/>Employees</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Total</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (Years)</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Aggregate<br/>Intrinsic<br/>Value</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, May 1, 2019</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">50,000\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,373,626\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,423,626\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3.19\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.3</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">14,557,000\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Granted</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">229,833\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">229,833\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.33\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">8.1</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">544,000\u00a0</span></td><td style=\"border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Exercised</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(248,495)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(248,495)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2.31\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Canceled</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(11,824)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(11,824)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">7.96\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Forfeited</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(44,813)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(44,813)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">7.85\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Expired</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(6,668)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(70,001)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(76,669)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">8.04\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, April 30, 2020</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">43,332\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,228,326\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,271,658\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3.23\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">10,663,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Vested and expected to vest as of April 30, 2020</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">43,332\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,228,326\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,271,658\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3.23\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">10,663,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Vested as of April 30, 2020</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">17,501\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,926,117\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,943,618\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2.83\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4.5</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">9,898,000\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Stock Purchase Warrants</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">As of April\u00a030, 2021 and 2020, the Company had zero warrants outstanding for the purchase of shares of its common stock, as all those that were exercisable as of April 30, 2019 were either exercised or expired by March 2020.  For the year ending April 30, 2020, the Company received cash proceeds related to the exercise of these warrants of approximately $3.9 million.  Activity related to warrants is summarized in the following table.  Approximately 161,000 shares noted as exercised below were done so via a cash-less exercise basis. </span></div><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:49.779%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.632%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Number<br/>of<br/>Shares</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (Years)</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Aggregate<br/>Intrinsic<br/>Value</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, May 1, 2019</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,671,440\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">6.20\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.9</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5,730,000\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Granted</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Exercised</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(858,695)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.62\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">10,045,000\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Forfeited</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(760,601)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.76\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">8,587,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Expired</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(52,144)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4.85\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">700,000\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, April 30, 2020</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table>","language":"en-us"}]},{"name":"rpt:f-462","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"598000","decimals":-3}]},{"name":"rpt:f-463","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"600000","decimals":-3}]},{"name":"rpt:f-464","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Stock-based compensation costs were recorded as follows (in thousands):<table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">General and administrative</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">292\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">328\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Sales and marketing</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">199\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">237\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Research and development</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">23\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">13\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">TOS cost of sales</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">84\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">21\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">POS cost of sales</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total stock-based compensation expense</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">598\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">600\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table>","language":"en-us"}]},{"name":"rpt:f-465","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:GeneralAndAdministrativeExpenseMember"},"factValues":[{"value":"292000","decimals":-3}]},{"name":"rpt:f-466","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:GeneralAndAdministrativeExpenseMember"},"factValues":[{"value":"328000","decimals":-3}]},{"name":"rpt:f-467","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:SellingAndMarketingExpenseMember"},"factValues":[{"value":"199000","decimals":-3}]},{"name":"rpt:f-468","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:SellingAndMarketingExpenseMember"},"factValues":[{"value":"237000","decimals":-3}]},{"name":"rpt:f-469","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:ResearchAndDevelopmentExpenseMember"},"factValues":[{"value":"23000","decimals":-3}]},{"name":"rpt:f-470","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"us-gaap:ResearchAndDevelopmentExpenseMember"},"factValues":[{"value":"13000","decimals":-3}]},{"name":"rpt:f-471","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"csbr:TranslationalOncologySolutionsCostOfSalesMember"},"factValues":[{"value":"84000","decimals":-3}]},{"name":"rpt:f-472","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"csbr:TranslationalOncologySolutionsCostOfSalesMember"},"factValues":[{"value":"21000","decimals":-3}]},{"name":"rpt:f-473","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"csbr:PersonalizedOncologySolutionsCostOfSalesMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-474","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeStatementLocationAxis":"csbr:PersonalizedOncologySolutionsCostOfSalesMember"},"factValues":[{"value":"1000","decimals":-3}]},{"name":"rpt:f-475","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"598000","decimals":-3}]},{"name":"rpt:f-476","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"600000","decimals":-3}]},{"name":"rpt:f-477","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod","xbrl:period":"2011-02-18T00:00:00/2011-02-19T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2010Member","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"30000000"}]},{"name":"rpt:f-478","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2010Member"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-479","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2010Member"},"factValues":[{"value":"1"}]},{"name":"rpt:f-480","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:TwoThousandEightEquityIncentivePlanMember"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-481","factDimensions":{"xbrl:concept":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember"},"factValues":[{"value":"P5Y"}]},{"name":"rpt:f-482","factDimensions":{"xbrl:concept":"csbr:StockOptionsAwardSharesToPurchaseCommonStock","xbrl:period":"2013-12-12T00:00:00/2013-12-13T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember"},"factValues":[{"value":"8333"}]},{"name":"rpt:f-483","factDimensions":{"xbrl:concept":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember"},"factValues":[{"value":"P5Y"}]},{"name":"rpt:f-484","factDimensions":{"xbrl:concept":"csbr:StockOptionsAwardSharesToPurchaseCommonStock","xbrl:period":"2013-12-12T00:00:00/2013-12-13T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"16667"}]},{"name":"rpt:f-485","factDimensions":{"xbrl:concept":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember"},"factValues":[{"value":"P5Y"}]},{"name":"rpt:f-486","factDimensions":{"xbrl:concept":"csbr:StockOptionsAwardSharesToPurchaseUnregisteredCommonStock","xbrl:period":"2013-12-12T00:00:00/2013-12-13T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember"},"factValues":[{"value":"1667"}]},{"name":"rpt:f-487","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedPercentage","xbrl:period":"2013-12-12T00:00:00/2013-12-13T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember"},"factValues":[{"value":"0.25"}]},{"name":"rpt:f-488","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Black-Scholes assumptions used to calculate the fair value of options granted during the years ended April\u00a030, 2021 and 2020 were as follows:</span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:53.432%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.636%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.530%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.902%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Expected term in years</span></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3-6</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3 - 6</span></div></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Risk-free interest rates</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.1% - 0.5%</span></div></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1.3% - 1.8%</span></div></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Volatility</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">70% - 75%</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">69% - 71%</span></div></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Dividend yield</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></div></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></div></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-489","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-490","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"P6Y"}]},{"name":"rpt:f-491","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-492","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"P6Y"}]},{"name":"rpt:f-493","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.001"}]},{"name":"rpt:f-494","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.005"}]},{"name":"rpt:f-495","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.013"}]},{"name":"rpt:f-496","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.018"}]},{"name":"rpt:f-497","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.70"}]},{"name":"rpt:f-498","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.75"}]},{"name":"rpt:f-499","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.69"}]},{"name":"rpt:f-500","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.71"}]},{"name":"rpt:f-501","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0"}]},{"name":"rpt:f-502","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0"}]},{"name":"rpt:f-503","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"5.11","decimals":2}]},{"name":"rpt:f-504","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"5.33","decimals":2}]},{"name":"rpt:f-505","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"The Company\u2019s stock options activity and related information as of and for the years ended April\u00a030, 2021 and 2020 is as follows:\u00a0<div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:24.744%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.651%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Non-<br/>Employees</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Directors<br/>and<br/>Employees</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Total</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (Years)</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Aggregate<br/>Intrinsic<br/>Value</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, May 1, 2020</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">43,332\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,228,326\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,271,658\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3.23\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">10,663,000\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Granted</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">135,834\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">135,834\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">9.24\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">7.3</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">259,000\u00a0</span></td><td style=\"background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Exercised</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(1,160)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(686,178)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(687,338)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2.33\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Canceled</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(923)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(47,751)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(48,674)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">6.03\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Forfeited</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(12,000)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(12,000)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">7.48\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Expired</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(5,834)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(5,834)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">10.80\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, April 30, 2021</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">35,415\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,618,231\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,653,646\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3.96\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.4</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,384,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Vested and expected to vest as of April 30, 2021</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">35,415\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,618,231\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,653,646\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3.96\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.4</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,384,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Vested as of April 30, 2021</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">9,584\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,323,270\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,332,854\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3.34\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4.8</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">9,995,000\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%\">\u00a0</span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:24.744%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.534%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.651%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Non-<br/>Employees</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Directors<br/>and<br/>Employees</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Total</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (Years)</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Aggregate<br/>Intrinsic<br/>Value</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, May 1, 2019</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">50,000\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,373,626\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,423,626\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3.19\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.3</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">14,557,000\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Granted</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">229,833\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">229,833\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.33\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">8.1</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">544,000\u00a0</span></td><td style=\"border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Exercised</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(248,495)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(248,495)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2.31\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Canceled</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(11,824)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(11,824)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">7.96\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Forfeited</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(44,813)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(44,813)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">7.85\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Expired</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(6,668)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(70,001)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(76,669)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">8.04\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, April 30, 2020</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">43,332\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,228,326\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,271,658\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3.23\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">10,663,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Vested and expected to vest as of April 30, 2020</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">43,332\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,228,326\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,271,658\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3.23\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">10,663,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Vested as of April 30, 2020</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">17,501\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,926,117\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,943,618\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2.83\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4.5</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">9,898,000\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-506","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"43332"}]},{"name":"rpt:f-507","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"2228326"}]},{"name":"rpt:f-508","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"2271658"}]},{"name":"rpt:f-509","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"3.23","decimals":2}]},{"name":"rpt:f-510","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P5Y"}]},{"name":"rpt:f-511","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10663000","decimals":-3}]},{"name":"rpt:f-512","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-513","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"135834"}]},{"name":"rpt:f-514","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"135834"}]},{"name":"rpt:f-515","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"9.24","decimals":2}]},{"name":"rpt:f-516","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P7Y3M18D"}]},{"name":"rpt:f-517","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"259000","decimals":-3}]},{"name":"rpt:f-518","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"1160"}]},{"name":"rpt:f-519","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"686178"}]},{"name":"rpt:f-520","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"687338"}]},{"name":"rpt:f-521","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"2.33","decimals":2}]},{"name":"rpt:f-522","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"923"}]},{"name":"rpt:f-523","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"47751"}]},{"name":"rpt:f-524","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"48674"}]},{"name":"rpt:f-525","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"6.03","decimals":2}]},{"name":"rpt:f-526","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-527","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"12000"}]},{"name":"rpt:f-528","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"12000"}]},{"name":"rpt:f-529","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"7.48","decimals":2}]},{"name":"rpt:f-530","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"5834"}]},{"name":"rpt:f-531","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-532","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"5834"}]},{"name":"rpt:f-533","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"10.80","decimals":2}]},{"name":"rpt:f-534","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"35415"}]},{"name":"rpt:f-535","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"1618231"}]},{"name":"rpt:f-536","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1653646"}]},{"name":"rpt:f-537","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"3.96","decimals":2}]},{"name":"rpt:f-538","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsGrantInPeriodWeightedAverageRemainingContractualTerm","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P5Y4M24D"}]},{"name":"rpt:f-539","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11384000","decimals":-3}]},{"name":"rpt:f-540","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"35415"}]},{"name":"rpt:f-541","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"1618231"}]},{"name":"rpt:f-542","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1653646"}]},{"name":"rpt:f-543","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"3.96","decimals":2}]},{"name":"rpt:f-544","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P5Y4M24D"}]},{"name":"rpt:f-545","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11384000","decimals":-3}]},{"name":"rpt:f-546","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"9584"}]},{"name":"rpt:f-547","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"1323270"}]},{"name":"rpt:f-548","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1332854"}]},{"name":"rpt:f-549","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"3.34","decimals":2}]},{"name":"rpt:f-550","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P4Y9M18D"}]},{"name":"rpt:f-551","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9995000","decimals":-3}]},{"name":"rpt:f-552","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"50000"}]},{"name":"rpt:f-553","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"2373626"}]},{"name":"rpt:f-554","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"2423626"}]},{"name":"rpt:f-555","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"3.19","decimals":2}]},{"name":"rpt:f-556","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","xbrl:period":"2018-05-01T00:00:00/2019-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P5Y3M18D"}]},{"name":"rpt:f-557","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"14557000","decimals":-3}]},{"name":"rpt:f-558","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-559","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"229833"}]},{"name":"rpt:f-560","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"229833"}]},{"name":"rpt:f-561","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"5.33","decimals":2}]},{"name":"rpt:f-562","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P8Y1M6D"}]},{"name":"rpt:f-563","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"544000","decimals":-3}]},{"name":"rpt:f-564","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-565","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"248495"}]},{"name":"rpt:f-566","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"248495"}]},{"name":"rpt:f-567","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"2.31","decimals":2}]},{"name":"rpt:f-568","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-569","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"11824"}]},{"name":"rpt:f-570","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"11824"}]},{"name":"rpt:f-571","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"7.96","decimals":2}]},{"name":"rpt:f-572","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-573","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"44813"}]},{"name":"rpt:f-574","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"44813"}]},{"name":"rpt:f-575","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"7.85","decimals":2}]},{"name":"rpt:f-576","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"6668"}]},{"name":"rpt:f-577","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"70001"}]},{"name":"rpt:f-578","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"76669"}]},{"name":"rpt:f-579","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"8.04","decimals":2}]},{"name":"rpt:f-580","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"43332"}]},{"name":"rpt:f-581","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"2228326"}]},{"name":"rpt:f-582","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"2271658"}]},{"name":"rpt:f-583","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"3.23","decimals":2}]},{"name":"rpt:f-584","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsGrantInPeriodWeightedAverageRemainingContractualTerm","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P5Y"}]},{"name":"rpt:f-585","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10663000","decimals":-3}]},{"name":"rpt:f-586","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"43332"}]},{"name":"rpt:f-587","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"2228326"}]},{"name":"rpt:f-588","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"2271658"}]},{"name":"rpt:f-589","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"3.23","decimals":2}]},{"name":"rpt:f-590","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P5Y"}]},{"name":"rpt:f-591","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10663000","decimals":-3}]},{"name":"rpt:f-592","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:NonEmployeesMember"},"factValues":[{"value":"17501"}]},{"name":"rpt:f-593","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","srt:TitleOfIndividualAxis":"csbr:DirectorsAndEmployeesMember"},"factValues":[{"value":"1926117"}]},{"name":"rpt:f-594","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1943618"}]},{"name":"rpt:f-595","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"2.83","decimals":2}]},{"name":"rpt:f-596","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P4Y6M"}]},{"name":"rpt:f-597","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9898000","decimals":-3}]},{"name":"rpt:f-598","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsOutstanding","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"0"}]},{"name":"rpt:f-599","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardWarrantsOutstanding","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"0"}]},{"name":"rpt:f-600","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromWarrantExercises","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3900000","decimals":-5}]},{"name":"rpt:f-601","factDimensions":{"xbrl:concept":"csbr:ScheduleOfShareBasedCompensationWarrantsActivityTableTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Activity related to warrants is summarized in the following table.  Approximately 161,000 shares noted as exercised below were done so via a cash-less exercise basis. <table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:49.779%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.632%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Number<br/>of<br/>Shares</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Exercise<br/>Price</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Weighted<br/>Average<br/>Remaining<br/>Contractual<br/>Life (Years)</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Aggregate<br/>Intrinsic<br/>Value</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, May 1, 2019</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,671,440\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">6.20\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.9</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5,730,000\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Granted</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Exercised</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(858,695)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.62\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">10,045,000\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Forfeited</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(760,601)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">5.76\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">8,587,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Expired</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(52,144)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4.85\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">700,000\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, April 30, 2020</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table>","language":"en-us"}]},{"name":"rpt:f-602","factDimensions":{"xbrl:concept":"csbr:StockIssuedDuringPeriodSharesStockOptionsAndWarrantsExercised","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"161000","decimals":-3}]},{"name":"rpt:f-603","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"1671440"}]},{"name":"rpt:f-604","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"6.20","decimals":2}]},{"name":"rpt:f-605","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms","xbrl:period":"2018-05-01T00:00:00/2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"P0Y10M24D"}]},{"name":"rpt:f-606","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"5730000","decimals":-3}]},{"name":"rpt:f-607","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-608","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodIntrinsicValue","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-609","factDimensions":{"xbrl:concept":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsAggregateIntrinsicValueGranted","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-610","factDimensions":{"xbrl:concept":"csbr:SharebasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisedInPeriod","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"858695"}]},{"name":"rpt:f-611","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsExercisesInPeriodWeightedAverageExercisePrice","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"5.62","decimals":2}]},{"name":"rpt:f-612","factDimensions":{"xbrl:concept":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExercised","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10045000","decimals":-3}]},{"name":"rpt:f-613","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"760601"}]},{"name":"rpt:f-614","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsForfeituresInPeriodWeightedAverageExercisePrice","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"5.76","decimals":2}]},{"name":"rpt:f-615","factDimensions":{"xbrl:concept":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueForfeited","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8587000","decimals":-3}]},{"name":"rpt:f-616","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsInPeriod","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"52144"}]},{"name":"rpt:f-617","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOtherThanOptionsExpirationsInPeriodWeightedAverageExercisePrice","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"4.85","decimals":2}]},{"name":"rpt:f-618","factDimensions":{"xbrl:concept":"csbr:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueExpired","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"700000","decimals":-3}]},{"name":"rpt:f-619","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-620","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedIntrinsicValue","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-621","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:WarrantMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-622","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxDisclosureTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Provision for Income Taxes<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The components of the provision for income taxes are as follows (in thousands):</span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:49.779%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.632%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"21\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30, 2021</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Federal</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">State</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Foreign</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Total</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Current</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">13\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">62\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">75\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">13\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">62\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">75\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:49.779%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.632%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"21\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30, 2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Federal</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">State</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Foreign</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Total</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Current</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">127\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">130\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">127\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">130\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:center;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">A reconciliation between the Company\u2019s effective tax rate and the United States statutory tax rate for the years ended April\u00a030, 2021 and 2020 is as follows:</span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Federal income tax at statutory rate</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">21.0\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">21.0\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">US vs. foreign tax rate difference</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.5\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(0.4)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">State income tax, net of federal benefit</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">80.8\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">16.9\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Permanent differences</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(61.5)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(14.0)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Increase in uncertain tax position</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.7\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(1.4)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Goodwill impairment</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(3.5)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Change in valuation allowance</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(24.3)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(25.2)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Income tax expense</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">17.2\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(6.6)</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr></table></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred income taxes reflect the net tax effects of temporary differences between the carrying amounts of assets and liabilities for financial reporting purposes and the amounts used for income tax purposes.\u00a0\u00a0Significant components of the Company\u2019s deferred tax assets and liabilities as of April\u00a030, 2021 and 2020 consist of the following (in thousands):</span><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">As of April 30,</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Accrued liabilities</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">232\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">77\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Right of use, net asset/liability</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">271\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">226\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Depreciation and amortization</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(206)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(175)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Stock-based compensation expense</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3,640\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4,109\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Net operating loss carry-forward</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,404\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,223\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total deferred tax assets</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">15,341\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">15,460\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Valuation allowance</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(15,341)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(15,460)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Net deferred tax asset</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:0.730%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:98.900%\"></td><td style=\"width:0.1%\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr></table></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security (CARES) Act was signed into law. The Act contains several new or changed income tax provisions, including but not limited to the following: increased limitation threshold for determining deductible interest expense; class life changes to qualified improvements (in general, from 39 years to 15 years); and the ability to carry back net operating losses incurred from tax years 2018 through 2020 up to the five preceding tax years. The Company has evaluated the new tax provisions of the CARES Act and determined the impact to be either immaterial or not applicable. </span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Management has evaluated the available evidence about future tax planning strategies, taxable income, and other possible sources of realization of deferred tax assets and has established a full valuation allowance against its net deferred tax assets as of\u00a0April\u00a030, 2021\u00a0and\u00a02020.\u00a0\u00a0For the years ended\u00a0April\u00a030, 2021\u00a0and\u00a02020, the Company recorded a valuation allowance of\u00a0$15.3\u00a0million.\u00a0</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">As of\u00a0April\u00a030, 2021\u00a0and\u00a02020, the Company\u2019s estimated U.S. net operating loss carry-forwards were approximately\u00a0$46.9\u00a0million\u00a0and\u00a0$45.0\u00a0million, respectively. Net operating losses generated prior to May 1, 2018 have a 20-year carryforward and will begin expiring in\u00a02025\u00a0for federal and\u00a02031\u00a0for state purposes. Losses generated in the fiscal years ended\u00a0April\u00a030, 2021 and 2020\u00a0can be carried forward indefinitely.\u00a0\u00a0A valuation allowance has been recorded against all of these loss carryforwards.</span></div><div style=\"text-align:justify;text-indent:33.75pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Under the provisions of the Internal Revenue Code, certain substantial changes in the Company\u2019s ownership may result in a limitation on the amount of net operating losses that may be utilized in future years. During the fiscal year ended April 30, 2013, approximately\u00a0$12.0 million\u00a0of the Company\u2019s net operating losses became subject to limitation under Internal Revenue Code Section 382 in connection with an ownership change on January 28, 2013. As a result of the ownership change, the Company\u2019s annual limitation is approximately\u00a0$432,000.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0The Company files income tax returns in various jurisdictions with varying statutes of limitations.\u00a0\u00a0As of\u00a0April\u00a030, 2021, the earliest tax year still subject to examination for state purposes is fiscal 2018.\u00a0\u00a0The Company\u2019s tax years for periods ending April 30, 2002 and forward are subject to examination by the United States and certain states due to the carry-forward of unutilized net operating losses.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The following table indicates the changes to the Company\u2019s uncertain tax positions for the period and years ended April\u00a030, 2021 and 2020 in thousands:</span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Balance, beginning of the year</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">178\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">151\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Addition based on tax positions related to prior years</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Payment made on tax positions related to prior years</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Addition based on tax positions related to current year</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">27\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Balance, end of year</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">181\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">178\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">As of April\u00a030, 2021 and 2020, the above amounts of $181,000  and $178,000 were included in other long-term liabilities.</span></div>","language":"en-us"}]},{"name":"rpt:f-623","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The components of the provision for income taxes are as follows (in thousands):</span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:49.779%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.632%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"21\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30, 2021</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Federal</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">State</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Foreign</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Total</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Current</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">13\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">62\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">75\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">13\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">62\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">75\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:49.779%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.632%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"21\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30, 2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Federal</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">State</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Foreign</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Total</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Current</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">127\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">130\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">127\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">130\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-624","factDimensions":{"xbrl:concept":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"13000","decimals":-3}]},{"name":"rpt:f-625","factDimensions":{"xbrl:concept":"us-gaap:CurrentForeignTaxExpenseBenefit","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"62000","decimals":-3}]},{"name":"rpt:f-626","factDimensions":{"xbrl:concept":"us-gaap:CurrentIncomeTaxExpenseBenefit","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"75000","decimals":-3}]},{"name":"rpt:f-627","factDimensions":{"xbrl:concept":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"13000","decimals":-3}]},{"name":"rpt:f-628","factDimensions":{"xbrl:concept":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"62000","decimals":-3}]},{"name":"rpt:f-629","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"75000","decimals":-3}]},{"name":"rpt:f-630","factDimensions":{"xbrl:concept":"us-gaap:CurrentFederalTaxExpenseBenefit","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-631","factDimensions":{"xbrl:concept":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3000","decimals":-3}]},{"name":"rpt:f-632","factDimensions":{"xbrl:concept":"us-gaap:CurrentForeignTaxExpenseBenefit","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"127000","decimals":-3}]},{"name":"rpt:f-633","factDimensions":{"xbrl:concept":"us-gaap:CurrentIncomeTaxExpenseBenefit","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"130000","decimals":-3}]},{"name":"rpt:f-634","factDimensions":{"xbrl:concept":"us-gaap:FederalIncomeTaxExpenseBenefitContinuingOperations","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-635","factDimensions":{"xbrl:concept":"us-gaap:StateAndLocalIncomeTaxExpenseBenefitContinuingOperations","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3000","decimals":-3}]},{"name":"rpt:f-636","factDimensions":{"xbrl:concept":"us-gaap:ForeignIncomeTaxExpenseBenefitContinuingOperations","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"127000","decimals":-3}]},{"name":"rpt:f-637","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"130000","decimals":-3}]},{"name":"rpt:f-638","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">A reconciliation between the Company\u2019s effective tax rate and the United States statutory tax rate for the years ended April\u00a030, 2021 and 2020 is as follows:</span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Federal income tax at statutory rate</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">21.0\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">21.0\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">US vs. foreign tax rate difference</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.5\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(0.4)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">State income tax, net of federal benefit</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">80.8\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">16.9\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Permanent differences</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(61.5)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(14.0)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Increase in uncertain tax position</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.7\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(1.4)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Goodwill impairment</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(3.5)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Change in valuation allowance</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(24.3)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(25.2)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Income tax expense</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">17.2\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(6.6)</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-639","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.210"}]},{"name":"rpt:f-640","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.210"}]},{"name":"rpt:f-641","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.005","decimals":3}]},{"name":"rpt:f-642","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"-0.004","decimals":3}]},{"name":"rpt:f-643","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.808","decimals":3}]},{"name":"rpt:f-644","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.169","decimals":3}]},{"name":"rpt:f-645","factDimensions":{"xbrl:concept":"csbr:EffectiveIncomeTaxRateReconciliationPermanentDifferences","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.615","decimals":3}]},{"name":"rpt:f-646","factDimensions":{"xbrl:concept":"csbr:EffectiveIncomeTaxRateReconciliationPermanentDifferences","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.140","decimals":3}]},{"name":"rpt:f-647","factDimensions":{"xbrl:concept":"csbr:EffectiveIncomeTaxRateReconciliationIncreaseInUncertainTaxPosition","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"-0.007","decimals":3}]},{"name":"rpt:f-648","factDimensions":{"xbrl:concept":"csbr:EffectiveIncomeTaxRateReconciliationIncreaseInUncertainTaxPosition","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.014","decimals":3}]},{"name":"rpt:f-649","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseImpairmentLosses","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0","decimals":3}]},{"name":"rpt:f-650","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseImpairmentLosses","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.035","decimals":3}]},{"name":"rpt:f-651","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"-0.243","decimals":3}]},{"name":"rpt:f-652","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"-0.252","decimals":3}]},{"name":"rpt:f-653","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.172","decimals":3}]},{"name":"rpt:f-654","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"-0.066","decimals":3}]},{"name":"rpt:f-655","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Significant components of the Company\u2019s deferred tax assets and liabilities as of April\u00a030, 2021 and 2020 consist of the following (in thousands):<table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">As of April 30,</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Accrued liabilities</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">232\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">77\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Right of use, net asset/liability</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">271\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">226\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Depreciation and amortization</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(206)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(175)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Stock-based compensation expense</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3,640\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">4,109\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Net operating loss carry-forward</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,404\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,223\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total deferred tax assets</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">15,341\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">15,460\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Valuation allowance</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(15,341)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(15,460)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:14pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Net deferred tax asset</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table>","language":"en-us"}]},{"name":"rpt:f-656","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"232000","decimals":-3}]},{"name":"rpt:f-657","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"77000","decimals":-3}]},{"name":"rpt:f-658","factDimensions":{"xbrl:concept":"csbr:DeferredTaxAssetsTaxDeferredExpenseRightOfUseAssetLiability","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"271000","decimals":-3}]},{"name":"rpt:f-659","factDimensions":{"xbrl:concept":"csbr:DeferredTaxAssetsTaxDeferredExpenseRightOfUseAssetLiability","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"226000","decimals":-3}]},{"name":"rpt:f-660","factDimensions":{"xbrl:concept":"csbr:DeferredTaxLiabilityDeferredExpenseDepreciationAndAmortization","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"206000","decimals":-3}]},{"name":"rpt:f-661","factDimensions":{"xbrl:concept":"csbr:DeferredTaxLiabilityDeferredExpenseDepreciationAndAmortization","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"175000","decimals":-3}]},{"name":"rpt:f-662","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3640000","decimals":-3}]},{"name":"rpt:f-663","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4109000","decimals":-3}]},{"name":"rpt:f-664","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11404000","decimals":-3}]},{"name":"rpt:f-665","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11223000","decimals":-3}]},{"name":"rpt:f-666","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsGross","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15341000","decimals":-3}]},{"name":"rpt:f-667","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsGross","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15460000","decimals":-3}]},{"name":"rpt:f-668","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsValuationAllowance","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15341000","decimals":-3}]},{"name":"rpt:f-669","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsValuationAllowance","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15460000","decimals":-3}]},{"name":"rpt:f-670","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsLiabilitiesNet","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-671","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsLiabilitiesNet","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-672","factDimensions":{"xbrl:concept":"us-gaap:OperatingLossCarryforwardsValuationAllowance","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15300000","decimals":-5}]},{"name":"rpt:f-673","factDimensions":{"xbrl:concept":"us-gaap:OperatingLossCarryforwardsValuationAllowance","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15300000","decimals":-5}]},{"name":"rpt:f-674","factDimensions":{"xbrl:concept":"us-gaap:OperatingLossCarryforwards","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"46900000","decimals":-5}]},{"name":"rpt:f-675","factDimensions":{"xbrl:concept":"us-gaap:OperatingLossCarryforwards","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"45000000.0","decimals":-5}]},{"name":"rpt:f-676","factDimensions":{"xbrl:concept":"csbr:OperatingLossCarryforwardsLimitationsOnUseAmount","xbrl:period":"2013-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12000000.0","decimals":-5}]},{"name":"rpt:f-677","factDimensions":{"xbrl:concept":"csbr:OperatingLossCarryforwardsLimitationsOnUseAmount","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"432000","decimals":-3}]},{"name":"rpt:f-678","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"The following table indicates the changes to the Company\u2019s uncertain tax positions for the period and years ended April\u00a030, 2021 and 2020 in thousands:<table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Balance, beginning of the year</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">178\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">151\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Addition based on tax positions related to prior years</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Payment made on tax positions related to prior years</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Addition based on tax positions related to current year</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">27\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Balance, end of year</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">181\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">178\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table>","language":"en-us"}]},{"name":"rpt:f-679","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"178000","decimals":-3}]},{"name":"rpt:f-680","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2019-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"151000","decimals":-3}]},{"name":"rpt:f-681","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-682","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-683","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-684","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-685","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3000","decimals":-3}]},{"name":"rpt:f-686","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"27000","decimals":-3}]},{"name":"rpt:f-687","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-688","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"178000","decimals":-3}]},{"name":"rpt:f-689","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-690","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"178000","decimals":-3}]},{"name":"rpt:f-691","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Earnings Per Share<div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">A reconciliation of net income (loss) and number of shares used in computing basic and diluted earnings (loss) per share was as follows:</span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Basic and diluted net loss per share computation (dollars in thousands):</span></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Net income (loss) attributable to common stockholders</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">362\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(2,093)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Weighted Average common shares - basic</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">13,138,995\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,843,463\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Basic net income (loss) per share</span></td><td style=\"border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.03\u00a0</span></td><td style=\"border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(0.18)</span></td><td style=\"border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Diluted income (loss) per share computation</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Net income (loss) attributable to common stockholders</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">362\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(2,093)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Income (loss) available to common stockholders</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">362\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(2,093)</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Weighted Average common shares</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">13,138,995\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,843,463\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Incremental shares from assumed exercise of warrants and stock options</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,434,566\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Adjusted weighted average share \u2013 diluted</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">14,573,561\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,843,463\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Diluted net income (loss) per share</span></td><td style=\"border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.02\u00a0</span></td><td style=\"border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(0.18)</span></td><td style=\"border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The following table reflects the total potential stock-based instruments outstanding at April\u00a030, 2021 and 2020 that could have an effect on the future computation of dilution per common share.  These figures were not included in the above calculation as, to do so, would be antidilutive:</span></div><div style=\"margin-top:5pt;text-align:justify\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30</span></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Stock options</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,653,646\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,271,658\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total common stock equivalents</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,653,646\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,271,658\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-692","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">A reconciliation of net income (loss) and number of shares used in computing basic and diluted earnings (loss) per share was as follows:</span></div><div style=\"margin-top:5pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Basic and diluted net loss per share computation (dollars in thousands):</span></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Net income (loss) attributable to common stockholders</span></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">362\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(2,093)</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Weighted Average common shares - basic</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">13,138,995\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,843,463\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Basic net income (loss) per share</span></td><td style=\"border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.03\u00a0</span></td><td style=\"border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(0.18)</span></td><td style=\"border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Diluted income (loss) per share computation</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Net income (loss) attributable to common stockholders</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">362\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(2,093)</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Income (loss) available to common stockholders</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">362\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(2,093)</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Weighted Average common shares</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">13,138,995\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,843,463\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Incremental shares from assumed exercise of warrants and stock options</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,434,566\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Adjusted weighted average share \u2013 diluted</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">14,573,561\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">11,843,463\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Diluted net income (loss) per share</span></td><td style=\"border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">0.02\u00a0</span></td><td style=\"border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">(0.18)</span></td><td style=\"border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-693","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"362000","decimals":-3}]},{"name":"rpt:f-694","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-2093000","decimals":-3}]},{"name":"rpt:f-695","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13138995","decimals":0}]},{"name":"rpt:f-696","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfShareOutstandingBasicAndDiluted","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"11843463","decimals":0}]},{"name":"rpt:f-697","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.03","decimals":2}]},{"name":"rpt:f-698","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.18","decimals":2}]},{"name":"rpt:f-699","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"362000","decimals":-3}]},{"name":"rpt:f-700","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-2093000","decimals":-3}]},{"name":"rpt:f-701","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"362000","decimals":-3}]},{"name":"rpt:f-702","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-2093000","decimals":-3}]},{"name":"rpt:f-703","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13138995","decimals":0}]},{"name":"rpt:f-704","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"11843463","decimals":0}]},{"name":"rpt:f-705","factDimensions":{"xbrl:concept":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1434566","decimals":0}]},{"name":"rpt:f-706","factDimensions":{"xbrl:concept":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"0","decimals":0}]},{"name":"rpt:f-707","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"14573561","decimals":0}]},{"name":"rpt:f-708","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"11843463","decimals":0}]},{"name":"rpt:f-709","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.02","decimals":2}]},{"name":"rpt:f-710","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.18","decimals":2}]},{"name":"rpt:f-711","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The following table reflects the total potential stock-based instruments outstanding at April\u00a030, 2021 and 2020 that could have an effect on the future computation of dilution per common share.  These figures were not included in the above calculation as, to do so, would be antidilutive:</span></div><div style=\"margin-top:5pt;text-align:justify\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.706%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.630%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.533%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.631%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30</span></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2021</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Stock options</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,653,646\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,271,658\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Total common stock equivalents</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">1,653,646\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,271,658\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-712","factDimensions":{"xbrl:concept":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"1653646","decimals":0}]},{"name":"rpt:f-713","factDimensions":{"xbrl:concept":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"2271658","decimals":0}]},{"name":"rpt:f-714","factDimensions":{"xbrl:concept":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1653646","decimals":0}]},{"name":"rpt:f-715","factDimensions":{"xbrl:concept":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"2271658","decimals":0}]},{"name":"rpt:f-716","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionsDisclosureTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Related Party Transactions<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Related party transactions include transactions between the Company and its shareholders, management, or affiliates.\u00a0\u00a0The following transactions were in the normal course of operations and were measured at the exchange amount, which is the amount of consideration established and agreed to by the parties.</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Consulting Services</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">For both years ended April\u00a030, 2021 and 2020, the Company paid a member of its Board of Directors $54,000 and $72,000 for consulting services unrelated to his duties as a board member.  During the years ended April\u00a030, 2021 and 2020, the Company paid another board member $17,000 and $48,000, respectively, for consulting services unrelated to his duties as a board member.  All of the amounts paid to these related parties have been recognized in expense in the period the services were performed.</span></div>","language":"en-us"}]},{"name":"rpt:f-717","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:BoardMemberOneMember","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember"},"factValues":[{"value":"54000","decimals":-3}]},{"name":"rpt:f-718","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:BoardMemberOneMember","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember"},"factValues":[{"value":"72000","decimals":-3}]},{"name":"rpt:f-719","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:BoardMemberTwoMember","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember"},"factValues":[{"value":"17000","decimals":-3}]},{"name":"rpt:f-720","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:BoardMemberTwoMember","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember"},"factValues":[{"value":"48000","decimals":-3}]},{"name":"rpt:f-721","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeasesTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Leases<div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company accounts for its leases under ASC 842.\u00a0Under this guidance, arrangements meeting the definition of a lease are classified as operating or financing leases, and are recorded on the consolidated balance sheet as both an operating lease ROU asset and operating lease liability, calculated by discounting fixed lease payments over the lease term at the rate implicit in the lease or the Company\u2019s incremental borrowing rate. Lease liabilities are increased by interest and reduced by payments each period, and the right of use asset is amortized over the lease term. For operating leases, interest on the lease liability and the amortization of the right of use asset result in straight-line rent expense over the lease term. Variable lease expenses, if any, are recorded when incurred. The Company has elected to apply the short-term lease exemption practical expedient for each class of underlying assets and excludes short-term leases having initial terms of 12 months or less. The Company recognizes rent expense on a straight-line basis over the lease term for these short-term leases. The Company has determined that no material embedded leases exist. Under ASC 842, the Company determines if an arrangement is a lease at inception. ROU assets and liabilities are recognized at commencement date based on the present value of remaining lease payments over the lease term. For this purpose, the Company considers only payments that are fixed and determinable at the time of commencement. As the Company's leases do not provide an implicit rate, the Company uses an incremental borrowing rate based on the information available at commencement date in determining the present value of lease payments.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Operating Leases</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:13.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company currently leases certain office equipment and its office and laboratory facilities under non-cancelable operating leases. Rent expense for operating leases is recognized on a straight-line basis over the lease term from the lease commencement date through the scheduled expiration date. Rent expenses totaled $1,247,000 and $955,000 for the years ended April\u00a030, 2021 and 2020, respectively. The Company considers its facilities adequate for its current operational needs.</span></div><div style=\"text-align:justify;text-indent:15.75pt\"><span><br/></span></div><div style=\"text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">The Company leases the following facilities:</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt\">One University Plaza, Suite 307, Hackensack, New Jersey 07601, which, since November 2011, serves as the Company\u2019s corporate headquarters. The lease expires in November 2021. The Company recognized $91,000 and $94,000 of rental costs relative to this lease for fiscal 2021 and 2020, respectively.</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt\">1330 Piccard Drive Suite 025, Rockville, MD 20850, which consists of laboratory and office space where the Company conducts operations related to its primary service offerings. The Company executed this lease (the \"Original Premises\") on January 11, 2017. The operating commencement date was August 11, 2017. This lease originally expired in August 2028.</span></div><div style=\"padding-left:54pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u25e6</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt\">On March 30, 2020, the Company executed the first amendment to this lease to expand the existing premises at 1330 Piccard Drive, Suite 025 (\"Expansion Premises\") to add on Suites 050 and 104. This amendment also extended the current lease term by six months. The Expansion Premises operating lease commencement date was June 1, 2020 and, under the amendment, both leases expire February 28, 2029.</span></div><div style=\"padding-left:54pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u25e6</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt\">In accordance with ASC 842, the Company evaluated the first amendment and also performed a reassessment of the existing lease for Suite 025 to determine the impact of the six-month term extension. As a result of this assessment, the Company recognized an additional operating ROU asset and related operating lease liability for Suite 025 of $118,000 and $125,000, respectively, as well as an incremental net rent expense of $8,000 during the three months ended July 31, 2020. The Company did not recognize the incremental rental expense under this amendment during fiscal 2020 as the Expansion Premises lease commencement date was during fiscal 2021.</span></div><div style=\"padding-left:54pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u25e6</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt\">Upon the Expansion Premises operating lease commencement date (June 1, 2020), the Company recognized an operating ROU asset and related operating lease liability for Suites 050 and 104 of $3.8\u00a0million, each, respectively.</span></div><div style=\"padding-left:54pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u25e6</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt\">For the leases related to the Original and Expansion Premises at Piccard Drive, the Company recognized $1,113,000 and $604,000 of rental expense for fiscal 2021 and 2020, respectively.</span></div><div style=\"padding-left:54pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u25e6</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt\">On December 22, 2020, the Company executed the second amendment to this lease to expand the existing premises at 1330 Piccard Drive, Suites 025, 050, and 104 (\"Additional Expansion Premises\") and add on Suite 201. The Additional Expansion Premises operating lease commencement date was April 1, 2021 and, under the second amendment, reaffirms that all three leases expire February 28, 2029. The Company recognized $43,000 of rental expense under this lease for fiscal 2021.</span></div><div style=\"padding-left:54pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u25e6</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.46pt\">Upon the Additional Expansion Premises operating lease commencement date (April 1, 2021), the Company also recognized an operating ROU asset and related operating lease liability for Suite 201 of $3.3\u00a0million, each, respectively.</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt\">1405 Research Boulevard, Suite 125, Rockville, Maryland 20850 (\u201cNew Location\u201d), which consisted of laboratory and office space where the Company conducted operations related to its primary service offerings. The Company executed this lease on November\u00a01, 2018. The operating commencement date was January\u00a017, 2019. This lease was set to expire in\u00a0April 2024. The Company terminated this lease on June 30, 2020 and transitioned its activities from this location to the Expansion Premises, as defined above, during the first quarter of fiscal 2021. Upon lease termination, the Company recognized a decrease in the related operating ROU asset and operating lease liability of approximately $850,000 and $926,000, respectively, as well as a gain on lease termination of $76,000.  The Company also recognized $43,000\u00a0and\u00a0$257,000\u00a0of rental expense for fiscal 2021 and 2020, respectively.</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:4.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> ROU assets and lease liabilities related to our current operating leases are as follows (in thousands):</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> </span></div><div style=\"margin-top:5pt;text-align:center;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:77.631%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:48.805%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.947%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.948%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2021</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">May 1, 2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Operating lease right-of-use assets, net<br/></span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">8,521\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,798\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Current portion of operating lease liabilities<br/></span></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">818\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">503\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Non-current portion of operating lease liabilities</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">8,783\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3,170\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:justify\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">As of April 30, 2021, the weighted average remaining operating lease term and the weighted average discount rate were\u00a07.78 years and\u00a05.78%, respectively.  </span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Future minimum lease payments due each fiscal year as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:54.385%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.168%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.632%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2022</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,437\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2023</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,530\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2024</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,673\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2025</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,713\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2026</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,757\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Thereafter</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">7,904\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0Total</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">21,014\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"padding-left:13.5pt;text-align:justify\"><span><br/></span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Refer to Note 4, Property and Equipment, for more information on financing leases.</span></div>","language":"en-us"}]},{"name":"rpt:f-722","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1247000","decimals":-3}]},{"name":"rpt:f-723","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"955000","decimals":-3}]},{"name":"rpt:f-724","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:CorporateHeadquartersMember"},"factValues":[{"value":"91000","decimals":-3}]},{"name":"rpt:f-725","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:CorporateHeadquartersMember"},"factValues":[{"value":"94000","decimals":-3}]},{"name":"rpt:f-726","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseRenewalTerm","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P6M"}]},{"name":"rpt:f-727","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2020-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"118000","decimals":-3}]},{"name":"rpt:f-728","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiability","xbrl:period":"2020-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"125000","decimals":-3}]},{"name":"rpt:f-729","factDimensions":{"xbrl:concept":"csbr:OperatingLeaseIncrementalRentExpense","xbrl:period":"2020-05-01T00:00:00/2020-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"8000","decimals":-3}]},{"name":"rpt:f-730","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2020-06-02T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"3800000","decimals":-5}]},{"name":"rpt:f-731","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"1113000","decimals":-3}]},{"name":"rpt:f-732","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"604000","decimals":-3}]},{"name":"rpt:f-733","factDimensions":{"xbrl:concept":"csbr:OperatingLeaseIncrementalRentExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"43000","decimals":-3}]},{"name":"rpt:f-734","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiability","xbrl:period":"2021-04-02T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3300000","decimals":-5}]},{"name":"rpt:f-735","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2020-07-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDNewLocationMember"},"factValues":[{"value":"850000","decimals":-3}]},{"name":"rpt:f-736","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiability","xbrl:period":"2020-07-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDNewLocationMember"},"factValues":[{"value":"926000","decimals":-3}]},{"name":"rpt:f-737","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnTerminationOfLease","xbrl:period":"2020-06-30T00:00:00/2020-07-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDNewLocationMember"},"factValues":[{"value":"76000","decimals":-3}]},{"name":"rpt:f-738","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDNewLocationMember"},"factValues":[{"value":"43000","decimals":-3}]},{"name":"rpt:f-739","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2019-05-01T00:00:00/2020-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDNewLocationMember"},"factValues":[{"value":"257000","decimals":-3}]},{"name":"rpt:f-740","factDimensions":{"xbrl:concept":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"ROU assets and lease liabilities related to our current operating leases are as follows (in thousands):<div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\"> </span></div><div style=\"margin-top:5pt;text-align:center;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:77.631%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:48.805%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.947%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.948%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2021</span></td><td colspan=\"3\" style=\"padding:2px 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%\">May 1, 2020</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Operating lease right-of-use assets, net<br/></span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">8,521\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,798\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Current portion of operating lease liabilities<br/></span></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">818\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">503\u00a0</span></td><td style=\"padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Non-current portion of operating lease liabilities</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">8,783\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">3,170\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-741","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8521000","decimals":-3}]},{"name":"rpt:f-742","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2020-05-02T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2798000","decimals":-3}]},{"name":"rpt:f-743","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityCurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"818000","decimals":-3}]},{"name":"rpt:f-744","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityCurrent","xbrl:period":"2020-05-02T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"503000","decimals":-3}]},{"name":"rpt:f-745","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityNoncurrent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8783000","decimals":-3}]},{"name":"rpt:f-746","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityNoncurrent","xbrl:period":"2020-05-02T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3170000","decimals":-3}]},{"name":"rpt:f-747","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P7Y9M10D"}]},{"name":"rpt:f-748","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.0578"}]},{"name":"rpt:f-749","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%\">Future minimum lease payments due each fiscal year as follows (in thousands):</span></div><div style=\"margin-top:5pt;text-align:center;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:54.385%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:74.168%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.632%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2022</span></td><td style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,437\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2023</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,530\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2024</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,673\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2025</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,713\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2026</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">2,757\u00a0</span></td><td style=\"background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">Thereafter</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">7,904\u00a0</span></td><td style=\"background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0Total</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%\">21,014\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-750","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2437000","decimals":-3}]},{"name":"rpt:f-751","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2530000","decimals":-3}]},{"name":"rpt:f-752","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2673000","decimals":-3}]},{"name":"rpt:f-753","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2713000","decimals":-3}]},{"name":"rpt:f-754","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2757000","decimals":-3}]},{"name":"rpt:f-755","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7904000","decimals":-3}]},{"name":"rpt:f-756","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","xbrl:period":"2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"21014000","decimals":-3}]},{"name":"rpt:f-757","factDimensions":{"xbrl:concept":"us-gaap:SubsequentEventsTextBlock","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Subsequent EventsSubsequent events are defined as those events or transactions that occur after the balance sheet date, but before the financial statements are filed with the Securities and Exchange Commission.\u00a0 As of the filing date of this annual report on form 10-K, there are no such subsequent events to disclose.","language":"en-us"}]}]}}