{"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-26-049834","cik":"http://www.sec.gov/CIK","dei":"http://xbrl.sec.gov/dei/2026","us-gaap":"http://fasb.org/us-gaap/2026","srt":"http://fasb.org/srt/2026","dtr-types":"http://www.xbrl.org/dtr/type/2024-01-31","xbrli":"http://www.xbrl.org/2003/instance","cyd":"http://xbrl.sec.gov/cyd/2026","ecd":"http://xbrl.sec.gov/ecd/2026","csbr":"http://championsoncology.com/20260430","country":"http://xbrl.sec.gov/country/2026","stpr":"http://xbrl.sec.gov/stpr/2026"},"description":"10-K 0001628280-26-049834 (CIK 0000771856) projected from XBRL by xbrlkit"},"xbrlModel":{"name":"rpt:Report","modelType":"xbrl:report","properties":[{"property":"xbrl:reportFilingDate","value":"2026-07-27"}],"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:institution","dataType":"xs:decimal"}],"dataTypes":[{"name":"dei:nonemptySequenceNumberItemType","baseType":"xs:token"},{"name":"dei:internationalNameItemType","baseType":"xs:token"},{"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:AccountsReceivableAllowanceForCreditLossProvisionForCreditLossesAndBadDebt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:AccountsReceivableAllowanceForCreditLossReversalForAmountsSubsequentlyCollected","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:AccountsReceivableAllowanceForCreditLossReversalOfProvisionForCreditLossesAndBadDebt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"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:ContractWithCustomerLiabilityAdditions","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:ContractWithCustomerLiabilityRevenueRecognizedIncludingOpeningBalance","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:DeferredTaxAssetsLeaseLiabilities","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:DeferredTaxLiabilitiesRightOfUseAssets","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:DepreciationAndAmortizationExcludingFinanceLeases","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxAssetsAmount","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxAssetsPercent","dataType":"xbrlr:pureType","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:FinanceLeaseLiabilityToBePaidAfterYearTwo","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityCurrent","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityNoncurrent","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:IncreaseDecreaseInUncertainTaxPosition","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:LesseeOperatingLeaseLiabilityToBePaidAfterYearThree","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:NumberOfMajorInstitutionsWithCashBalances","dataType":"xs:integer","periodType":"instant","nillable":true},{"name":"csbr:NumberofOperatingSubsidiaries","dataType":"xs:integer","periodType":"duration","nillable":true},{"name":"csbr:OperatingLeaseRightOfUseAssetIncreaseDecrease","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"csbr:OperatingLossCarryforwardsExpirationPeriod","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"csbr:OperatingLossCarryforwardsLimitationsOnUseAmount","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:PresentValueMinimumFutureObligationsInterestRate","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"csbr:SalesAndMarketingExpensePolicyPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedCompensationAnnualBaseCompensationAmount","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"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:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"csbr:ShareBasedPaymentArrangementOptionExercisePricePercentageOfFairValueOfCommonStockMinimum","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","dataType":"xbrlr:duration","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:WorkingCapitalDeficit","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"cyd:CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"cyd:CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"cyd:CybersecurityRiskManagementProcessesIntegratedFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"cyd:CybersecurityRiskManagementProcessesIntegratedTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"cyd:CybersecurityRiskManagementThirdPartyEngagedFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"cyd:CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"cyd:CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"cyd:CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"cyd:CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"cyd:CybersecurityRiskRoleOfManagementTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"cyd:CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:AmendmentFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"dei:AuditorFirmId","dataType":"dei:nonemptySequenceNumberItemType","periodType":"duration","nillable":true},{"name":"dei:AuditorLocation","dataType":"dei:internationalNameItemType","periodType":"duration","nillable":true},{"name":"dei:AuditorName","dataType":"dei:internationalNameItemType","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:DocumentFinStmtErrorCorrectionFlag","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:EntityAddressAddressLine2","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":"ecd:Additional402vDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:AdjToCompAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:AdjToNonPeoNeoCompFnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:AdjToPeoCompFnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:AggtErrCompAmt","dataType":"xbrlr:monetary","periodType":"instant","nillable":true},{"name":"ecd:AggtErrCompNotYetDeterminedTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:AwardExrcPrice","dataType":"xbrlr:perShare","periodType":"instant","nillable":true},{"name":"ecd:AwardGrantDateFairValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true},{"name":"ecd:AwardTmgHowMnpiCnsdrdTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:AwardTmgMethodTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:AwardTmgMnpiCnsdrdFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"ecd:AwardTmgMnpiDiscTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:AwardTmgPredtrmndFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"ecd:AwardUndrlygSecuritiesAmt","dataType":"xs:decimal","periodType":"instant","nillable":true},{"name":"ecd:AwardsCloseToMnpiDiscIndName","dataType":"xs:string","periodType":"instant","nillable":true},{"name":"ecd:AwardsCloseToMnpiDiscTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:ChangedPeerGroupFnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:CoSelectedMeasureAmt","dataType":"xs:decimal","periodType":"duration","nillable":true},{"name":"ecd:CoSelectedMeasureName","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"ecd:CompActuallyPaidVsCoSelectedMeasureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:CompActuallyPaidVsNetIncomeTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:CompActuallyPaidVsOtherMeasureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:CompActuallyPaidVsTotalShareholderRtnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:EqtyAwrdsAdjFnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:EquityValuationAssumptionDifferenceFnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:ErrCompAnalysisTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:ForgoneRecoveryDueToExpenseOfEnforcementAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:ForgoneRecoveryDueToViolationOfHomeCountryLawAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:ForgoneRecoveryExplanationOfImpracticabilityTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:ForgoneRecoveryIndName","dataType":"xs:string","periodType":"duration","nillable":true},{"name":"ecd:InsiderTrdPoliciesProcAdoptedFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"ecd:InsiderTrdPoliciesProcNotAdoptedTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:MeasureName","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"ecd:MnpiDiscTimedForCompValFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"ecd:MtrlTermsOfTrdArrTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:NamedExecutiveOfficersFnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:NonGaapMeasureDescriptionTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:NonPeoNeoAvgCompActuallyPaidAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:NonPeoNeoAvgTotalCompAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:NonRule10b51ArrAdoptedFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"ecd:NonRule10b51ArrTrmntdFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"ecd:OtherPerfMeasureAmt","dataType":"xs:decimal","periodType":"duration","nillable":true},{"name":"ecd:OutstandingAggtErrCompAmt","dataType":"xbrlr:monetary","periodType":"instant","nillable":true},{"name":"ecd:OutstandingRecoveryCompAmt","dataType":"xbrlr:monetary","periodType":"instant","nillable":true},{"name":"ecd:OutstandingRecoveryIndName","dataType":"xs:string","periodType":"duration","nillable":true},{"name":"ecd:PeerGroupIssuersFnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:PeerGroupTotalShareholderRtnAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:PeoActuallyPaidCompAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:PeoName","dataType":"xs:normalizedString","periodType":"duration","nillable":true},{"name":"ecd:PeoTotalCompAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:PnsnBnftsAdjFnTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:PvpTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:RestatementDeterminationDate","dataType":"xs:date","periodType":"duration","nillable":true},{"name":"ecd:RestatementDoesNotRequireRecoveryTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:Rule10b51ArrAdoptedFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"ecd:Rule10b51ArrTrmntdFlag","dataType":"xs:boolean","periodType":"duration","nillable":true},{"name":"ecd:StkPrcOrTsrEstimationMethodTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:TabularListTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:TotalShareholderRtnAmt","dataType":"xbrlr:monetary","periodType":"duration","nillable":true},{"name":"ecd:TotalShareholderRtnVsPeerGroupTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"ecd:TrdArrAdoptionDate","dataType":"xs:string","periodType":"duration","nillable":true},{"name":"ecd:TrdArrDuration","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"ecd:TrdArrExpirationDate","dataType":"xs:string","periodType":"duration","nillable":true},{"name":"ecd:TrdArrIndName","dataType":"xs:string","periodType":"duration","nillable":true},{"name":"ecd:TrdArrIndTitle","dataType":"xs:string","periodType":"duration","nillable":true},{"name":"ecd:TrdArrSecuritiesAggAvailAmt","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"ecd:TrdArrTerminationDate","dataType":"xs:string","periodType":"duration","nillable":true},{"name":"ecd:UndrlygSecurityMktPriceChngPct","dataType":"xbrlr:pureType","periodType":"instant","nillable":true},{"name":"srt:StockRepurchaseProgramAuthorizedAmount1","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AccountsPayableCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:AccountsReceivableGross","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:AccountsReceivableGrossCurrent","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: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:AllowanceForDoubtfulAccountsReceivableWriteOffs","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"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:AssetsFairValueDisclosure","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: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:ConcentrationRiskPercentage1","dataType":"xbrlr:percent","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:ContractWithCustomerLiability","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"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:DeferredFederalIncomeTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredForeignIncomeTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredIncomeTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredIncomeTaxLiabilities","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:DeferredTaxAssetsDeferredIncome","dataType":"xbrlr:monetary","periodType":"instant","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:DeferredTaxAssetsNet","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:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts","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:DeferredTaxLiabilitiesPropertyPlantAndEquipment","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"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:EffectiveIncomeTaxRateReconciliationGiltiAmount","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpense","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:FairValueMeasurementPolicyPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:FinanceLeaseInterestExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:FinanceLeaseInterestPaymentOnLiability","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseLiability","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseLiabilityCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList","dataType":"xbrlr:enumeration","periodType":"instant","nillable":true},{"name":"us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:FinanceLeaseLiabilityNoncurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList","dataType":"xbrlr:enumeration","periodType":"instant","nillable":true},{"name":"us-gaap:FinanceLeaseLiabilityPaymentsDue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount","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:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","dataType":"xbrlr:enumeration","periodType":"instant","nillable":true},{"name":"us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1","dataType":"xbrlr:duration","periodType":"instant","nillable":true},{"name":"us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"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: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:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign","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:IncomeTaxPaidFederalAfterRefundReceived","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncomeTaxPaidForeignAfterRefundReceived","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncomeTaxPaidStateAndLocalAfterRefundReceived","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:IncomeTaxPolicyTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncomeTaxReconciliationNondeductibleExpense","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncomeTaxReconciliationTaxContingencies","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncomeTaxesPaidNet","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"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:IncreaseDecreaseInContractWithCustomerLiability","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:IncreaseDecreaseInOtherNoncurrentAssets","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"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:LeaseCost","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:LeaseCostTableTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:LesseeFinanceLeasesTextBlock","dataType":"xbrlr:textBlock","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:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","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:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"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:LiabilitiesFairValueDisclosure","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:MinorityInterest","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:NumberOfOperatingSegments","dataType":"xs:integer","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:OperatingLeaseCost","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"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:OtherLiabilitiesCurrent","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"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:PriorPeriodReclassificationAdjustmentDescription","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ProceedsFromSaleOfMachineryAndEquipment","dataType":"xbrlr:monetary","periodType":"duration","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:ProceedsFromStockOptionsExercised","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:ProfitLoss","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","dataType":"xbrlr:monetary","periodType":"instant","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: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":"instant","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: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:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock","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: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:SegmentReportingPolicyPolicyTextBlock","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:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","dataType":"xbrlr:duration","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","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:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","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:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","dataType":"xbrla:sharesType","periodType":"instant","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: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:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","dataType":"xbrlr:percent","periodType":"duration","nillable":true},{"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:SignificantAccountingPoliciesTextBlock","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"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:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1","dataType":"xbrlr:monetary","periodType":"instant","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:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","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:TaxAdjustmentsSettlementsAndUnusualProvisions","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:TaxJurisdictionOfDomicileExtensibleEnumeration","dataType":"xbrlr:enumeration","periodType":"duration","nillable":true},{"name":"us-gaap:TreasuryStockAcquiredAverageCostPerShare","dataType":"xbrlr:perShare","periodType":"duration","nillable":true},{"name":"us-gaap:TreasuryStockCommonShares","dataType":"xbrla:sharesType","periodType":"instant","nillable":true},{"name":"us-gaap:TreasuryStockCommonValue","dataType":"xbrlr:monetary","periodType":"instant","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:TreasuryStockSharesAcquired","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:TreasuryStockValueAcquiredCostMethod","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"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:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions","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:UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"debit"}]},{"name":"us-gaap:UseOfEstimates","dataType":"xbrlr:textBlock","periodType":"duration","nillable":true},{"name":"us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount","dataType":"xbrlr:monetary","periodType":"duration","nillable":true,"properties":[{"property":"xbrla:balance","value":"credit"}]},{"name":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","dataType":"xbrla:sharesType","periodType":"duration","nillable":true},{"name":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","dataType":"xbrla:sharesType","periodType":"duration","nillable":true}],"headings":[{"name":"csbr:AuditorInformationAbstract"},{"name":"csbr:CommitmentsAndContingenciesLineItems"},{"name":"csbr:CommitmentsAndContingenciesTable"},{"name":"csbr:ContractWithCustomerLiabilityRollForward"},{"name":"cyd:CybersecurityRiskManagementStrategyAndGovernanceAbstract"},{"name":"cyd:CybersecurityRiskManagementStrategyAndGovernanceLineItems"},{"name":"cyd:CybersecurityRiskManagementStrategyAndGovernanceTable"},{"name":"dei:CoverAbstract"},{"name":"ecd:AdjLineItems"},{"name":"ecd:AwardTmgDiscLineItems"},{"name":"ecd:AwardTmgDiscTable"},{"name":"ecd:AwardsCloseToMnpiDiscLineItems"},{"name":"ecd:AwardsCloseToMnpiDiscTable"},{"name":"ecd:ErrCompRecoveryTable"},{"name":"ecd:ForgoneRecoveriesByIndTable"},{"name":"ecd:ForgoneRecoveriesLineItems"},{"name":"ecd:InsiderTradingArrLineItems"},{"name":"ecd:InsiderTradingPoliciesProcLineItems"},{"name":"ecd:InsiderTradingPoliciesProcTable"},{"name":"ecd:OutstandingRecoveriesByIndTable"},{"name":"ecd:OutstandingRecoveriesLineItems"},{"name":"ecd:PayVsPerformanceDisclosureLineItems"},{"name":"ecd:PayVsPerformanceDisclosureWithAdditionalMeasuresLineItems"},{"name":"ecd:PayVsPerformanceTableLineItems"},{"name":"ecd:PvpAdjTable"},{"name":"ecd:PvpMeasuresLineItems"},{"name":"ecd:PvpMeasuresTable"},{"name":"ecd:PvpTable"},{"name":"ecd:PvpTabularListTable"},{"name":"ecd:PvpTabularListsLineItems"},{"name":"ecd:PvpTabularListsTable"},{"name":"ecd:PvpWithAdditionalMeasuresTable"},{"name":"ecd:RecoveryOfErrCompDisclosureLineItems"},{"name":"ecd:TabularListMeasuresLineItems"},{"name":"ecd:TradingArrByIndTable"},{"name":"us-gaap:AccountingPoliciesAbstract"},{"name":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"},{"name":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward"},{"name":"us-gaap:AssetsAbstract"},{"name":"us-gaap:AssetsCurrentAbstract"},{"name":"us-gaap:ClassOfStockLineItems"},{"name":"us-gaap:CommitmentsAndContingenciesDisclosureAbstract"},{"name":"us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefitAbstract"},{"name":"us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefitAbstract"},{"name":"us-gaap:DeferredTaxAssetsGrossAbstract"},{"name":"us-gaap:DeferredTaxLiabilitiesAbstract"},{"name":"us-gaap:DisaggregationOfRevenueLineItems"},{"name":"us-gaap:DisaggregationOfRevenueTable"},{"name":"us-gaap:DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"},{"name":"us-gaap:EarningsPerShareAbstract"},{"name":"us-gaap:EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract"},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationLineItems"},{"name":"us-gaap:EffectiveIncomeTaxRateReconciliationTable"},{"name":"us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems"},{"name":"us-gaap:EntityWideRevenueMajorCustomerLineItems"},{"name":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract"},{"name":"us-gaap:IncomeStatementAbstract"},{"name":"us-gaap:IncomeTaxDisclosureAbstract"},{"name":"us-gaap:IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract"},{"name":"us-gaap:IncomeTaxPaidByIndividualJurisdictionLineItems"},{"name":"us-gaap:IncomeTaxPaidByIndividualJurisdictionTable"},{"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: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:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems"},{"name":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable"},{"name":"us-gaap:RisksAndUncertaintiesAbstract"},{"name":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable"},{"name":"us-gaap:ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable"},{"name":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable"},{"name":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable"},{"name":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"},{"name":"us-gaap:ScheduleOfStockByClassTable"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward"},{"name":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward"},{"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:SubsequentEventLineItems"},{"name":"us-gaap:SubsequentEventTable"},{"name":"us-gaap:SubsequentEventsAbstract"},{"name":"us-gaap:TaxCreditCarryforwardLineItems"},{"name":"us-gaap:TaxCreditCarryforwardTable"},{"name":"us-gaap:WeightedAverageNumberOfSharesOutstandingAbstract"}],"dimensions":[{"name":"csbr:FinanceLeaseAxis","domainClass":"csbr:FinanceLeaseDomain"},{"name":"csbr:TriggeringEventAxis","domainClass":"csbr:TriggeringEventDomain"},{"name":"ecd:AdjToCompAxis","domainClass":"ecd:AllAdjToCompMember"},{"name":"ecd:ExecutiveCategoryAxis","domainClass":"ecd:AllExecutiveCategoriesMember"},{"name":"ecd:IndividualAxis","domainClass":"ecd:AllIndividualsMember"},{"name":"ecd:MeasureAxis"},{"name":"ecd:RestatementDateAxis"},{"name":"ecd:TradingArrAxis","domainClass":"ecd:AllTradingArrangementsMember"},{"name":"srt:CounterpartyNameAxis","domainClass":"srt:RepurchaseAgreementCounterpartyNameDomain"},{"name":"srt:MajorCustomersAxis","domainClass":"srt:NameOfMajorCustomerDomain"},{"name":"srt:ProductOrServiceAxis","domainClass":"srt:ProductsAndServicesDomain"},{"name":"srt:RangeAxis","domainClass":"srt:RangeMember"},{"name":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","domainClass":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"},{"name":"srt:StatementGeographicalAxis","domainClass":"srt:SegmentGeographicalDomain"},{"name":"srt:TitleOfIndividualAxis","domainClass":"srt:TitleOfIndividualWithRelationshipToEntityDomain"},{"name":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis","domainClass":"us-gaap:AntidilutiveSecuritiesNameDomain"},{"name":"us-gaap:AwardTypeAxis","domainClass":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"},{"name":"us-gaap:ConcentrationRiskByBenchmarkAxis","domainClass":"us-gaap:ConcentrationRiskBenchmarkDomain"},{"name":"us-gaap:ConcentrationRiskByTypeAxis","domainClass":"us-gaap:ConcentrationRiskTypeDomain"},{"name":"us-gaap:FairValueByMeasurementFrequencyAxis","domainClass":"us-gaap:FairValueMeasurementFrequencyDomain"},{"name":"us-gaap:GranteeStatusAxis","domainClass":"us-gaap:GranteeStatusDomain"},{"name":"us-gaap:IncomeTaxAuthorityAxis","domainClass":"us-gaap:IncomeTaxAuthorityDomain"},{"name":"us-gaap:PlanNameAxis","domainClass":"us-gaap:PlanNameDomain"},{"name":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","domainClass":"us-gaap:PropertyPlantAndEquipmentTypeDomain"},{"name":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"},{"name":"us-gaap:StatementClassOfStockAxis","domainClass":"us-gaap:ClassOfStockDomain"},{"name":"us-gaap:StatementEquityComponentsAxis","domainClass":"us-gaap:EquityComponentDomain"},{"name":"us-gaap:StatementOfIncomeLocationBalanceAxis"},{"name":"us-gaap:SubsequentEventTypeAxis","domainClass":"us-gaap:SubsequentEventTypeDomain"},{"name":"us-gaap:VestingAxis","domainClass":"us-gaap:VestingDomain"}],"domainClasses":[{"name":"csbr:FinanceLeaseDomain"},{"name":"csbr:TriggeringEventDomain"},{"name":"ecd:AllAdjToCompMember"},{"name":"ecd:AllExecutiveCategoriesMember"},{"name":"ecd:AllIndividualsMember"},{"name":"ecd:AllTradingArrangementsMember"},{"name":"srt:NameOfMajorCustomerDomain"},{"name":"srt:ProductsAndServicesDomain"},{"name":"srt:RangeMember"},{"name":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"},{"name":"srt:RepurchaseAgreementCounterpartyNameDomain"},{"name":"srt:SegmentGeographicalDomain"},{"name":"srt:TitleOfIndividualWithRelationshipToEntityDomain"},{"name":"us-gaap:AntidilutiveSecuritiesNameDomain"},{"name":"us-gaap:ClassOfStockDomain"},{"name":"us-gaap:ConcentrationRiskBenchmarkDomain"},{"name":"us-gaap:ConcentrationRiskTypeDomain"},{"name":"us-gaap:EquityComponentDomain"},{"name":"us-gaap:FairValueMeasurementFrequencyDomain"},{"name":"us-gaap:GranteeStatusDomain"},{"name":"us-gaap:IncomeTaxAuthorityDomain"},{"name":"us-gaap:PlanNameDomain"},{"name":"us-gaap:PropertyPlantAndEquipmentTypeDomain"},{"name":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"},{"name":"us-gaap:SubsequentEventTypeDomain"},{"name":"us-gaap:VestingDomain"}],"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:TreasuryStockCommonMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:AdditionalPaidInCapitalMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:NoncontrollingInterestMember"},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:RetainedEarningsMember"}]},{"name":"rpt:domain-1","root":"srt:RangeMember","relationships":[{"source":"srt:RangeMember","target":"srt:MinimumMember"},{"source":"srt:RangeMember","target":"srt:MaximumMember"}]},{"name":"rpt:domain-2","root":"us-gaap:AntidilutiveSecuritiesNameDomain","relationships":[{"source":"us-gaap:AntidilutiveSecuritiesNameDomain","target":"us-gaap:EmployeeStockOptionMember"}]},{"name":"rpt:domain-3","root":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","relationships":[{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:CorporateHeadquartersMember"},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:RockvilleMDMember"},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:MilanItalyMember"}]},{"name":"rpt:domain-4","root":"srt:RepurchaseAgreementCounterpartyNameDomain","relationships":[{"source":"srt:RepurchaseAgreementCounterpartyNameDomain","target":"csbr:OperatingSubsidiariesMember"}]},{"name":"rpt:domain-5","root":"us-gaap:PropertyPlantAndEquipmentTypeDomain","relationships":[{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:EquipmentMember"}]},{"name":"rpt:domain-6","root":"csbr:FinanceLeaseDomain","relationships":[{"source":"csbr:FinanceLeaseDomain","target":"csbr:A2022FinanceLeaseMember"},{"source":"csbr:FinanceLeaseDomain","target":"csbr:A2023FinanceLeaseMember"}]},{"name":"rpt:domain-7","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":"csbr:LaboratoryEquipmentMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:SoftwareDevelopmentMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"csbr:AssetInProgressMember"},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:LeaseholdImprovementsMember"}]},{"name":"rpt:domain-8","root":"us-gaap:IncomeTaxAuthorityDomain","relationships":[{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"us-gaap:DomesticCountryMember"},{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"us-gaap:StateAndLocalJurisdictionMember"}]},{"name":"rpt:domain-9","root":"srt:SegmentGeographicalDomain","relationships":[{"source":"srt:SegmentGeographicalDomain","target":"country:IT"},{"source":"srt:SegmentGeographicalDomain","target":"country:IL"}]},{"name":"rpt:domain-10","root":"us-gaap:IncomeTaxAuthorityDomain","relationships":[{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"us-gaap:ForeignCountryMember"},{"source":"us-gaap:ForeignCountryMember","target":"country:IT"},{"source":"us-gaap:ForeignCountryMember","target":"country:IL"}]},{"name":"rpt:domain-11","root":"us-gaap:IncomeTaxAuthorityDomain","relationships":[{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"us-gaap:ForeignCountryMember"},{"source":"us-gaap:ForeignCountryMember","target":"stpr:CA"},{"source":"us-gaap:ForeignCountryMember","target":"stpr:NY"},{"source":"us-gaap:ForeignCountryMember","target":"stpr:PA"},{"source":"us-gaap:ForeignCountryMember","target":"stpr:CT"},{"source":"us-gaap:ForeignCountryMember","target":"country:IT"},{"source":"us-gaap:ForeignCountryMember","target":"country:IL"}]},{"name":"rpt:domain-12","root":"us-gaap:IncomeTaxAuthorityDomain","relationships":[{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"us-gaap:ForeignCountryMember"},{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"us-gaap:DomesticCountryMember"},{"source":"us-gaap:ForeignCountryMember","target":"country:IT"},{"source":"us-gaap:ForeignCountryMember","target":"country:IL"},{"source":"us-gaap:DomesticCountryMember","target":"country:US"}]},{"name":"rpt:domain-13","root":"srt:TitleOfIndividualWithRelationshipToEntityDomain","relationships":[{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"srt:BoardOfDirectorsChairmanMember"}]},{"name":"rpt:domain-14","root":"srt:RepurchaseAgreementCounterpartyNameDomain","relationships":[{"source":"srt:RepurchaseAgreementCounterpartyNameDomain","target":"csbr:BoardMemberOneMember"}]},{"name":"rpt:domain-15","root":"srt:ProductsAndServicesDomain","relationships":[{"source":"srt:ProductsAndServicesDomain","target":"csbr:PharmacologyServicesMember"},{"source":"srt:ProductsAndServicesDomain","target":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember"},{"source":"srt:ProductsAndServicesDomain","target":"us-gaap:ProductAndServiceOtherMember"}]},{"name":"rpt:domain-16","root":"us-gaap:PlanNameDomain","relationships":[{"source":"us-gaap:PlanNameDomain","target":"csbr:A2023GlobalEquityIncentivePlanMember"}]},{"name":"rpt:domain-17","root":"us-gaap:ConcentrationRiskTypeDomain","relationships":[{"source":"us-gaap:ConcentrationRiskTypeDomain","target":"us-gaap:CustomerConcentrationRiskMember"}]},{"name":"rpt:domain-18","root":"us-gaap:ConcentrationRiskBenchmarkDomain","relationships":[{"source":"us-gaap:ConcentrationRiskBenchmarkDomain","target":"us-gaap:SalesRevenueNetMember"},{"source":"us-gaap:ConcentrationRiskBenchmarkDomain","target":"us-gaap:AccountsReceivableMember"}]},{"name":"rpt:domain-19","root":"srt:NameOfMajorCustomerDomain","relationships":[{"source":"srt:NameOfMajorCustomerDomain","target":"csbr:CustomerOneMember"},{"source":"srt:NameOfMajorCustomerDomain","target":"csbr:CustomerTwoMember"}]},{"name":"rpt:domain-20","root":"us-gaap:PlanNameDomain","relationships":[{"source":"us-gaap:PlanNameDomain","target":"csbr:EquityIncentivePlan2021Member"},{"source":"us-gaap:PlanNameDomain","target":"csbr:EquityIncentivePlan2010Member"},{"source":"us-gaap:PlanNameDomain","target":"csbr:A2023GlobalEquityIncentivePlanMember"},{"source":"us-gaap:PlanNameDomain","target":"csbr:DirectorCompensationPlanMember"},{"source":"us-gaap:PlanNameDomain","target":"csbr:A2021And2010EquityIncentivePlansMember"}]},{"name":"rpt:domain-21","root":"us-gaap:VestingDomain","relationships":[{"source":"us-gaap:VestingDomain","target":"us-gaap:ShareBasedCompensationAwardTrancheOneMember"},{"source":"us-gaap:VestingDomain","target":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember"},{"source":"us-gaap:VestingDomain","target":"csbr:ShareBasedPaymentArrangementAfterTrancheOneMember"}]},{"name":"rpt:domain-22","root":"srt:TitleOfIndividualWithRelationshipToEntityDomain","relationships":[{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"csbr:IndependentDirectorsMember"},{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"srt:BoardOfDirectorsChairmanMember"},{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"csbr:ChairpersonOfACommitteeMember"}]},{"name":"rpt:domain-23","root":"srt:RangeMember","relationships":[{"source":"srt:RangeMember","target":"srt:MaximumMember"},{"source":"srt:RangeMember","target":"srt:MinimumMember"}]},{"name":"rpt:domain-24","root":"csbr:TriggeringEventDomain","relationships":[{"source":"csbr:TriggeringEventDomain","target":"csbr:OptionsAndCashMember"},{"source":"csbr:TriggeringEventDomain","target":"csbr:SubjectToForfeitureMember"},{"source":"csbr:TriggeringEventDomain","target":"csbr:AllBuyBackAmountsMember"}]},{"name":"rpt:domain-25","root":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","relationships":[{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"csbr:TimeBasedAwardsMember"},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:PerformanceSharesMember"}]},{"name":"rpt:domain-26","root":"us-gaap:ClassOfStockDomain","relationships":[{"source":"us-gaap:ClassOfStockDomain","target":"us-gaap:CommonStockMember"}]},{"name":"rpt:domain-27","root":"us-gaap:GranteeStatusDomain","relationships":[{"source":"us-gaap:GranteeStatusDomain","target":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},{"source":"us-gaap:GranteeStatusDomain","target":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"}]},{"name":"rpt:domain-28","root":"us-gaap:SubsequentEventTypeDomain","relationships":[{"source":"us-gaap:SubsequentEventTypeDomain","target":"us-gaap:SubsequentEventMember"}]},{"name":"rpt:domain-29","root":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","relationships":[{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:RockvilleMDMember"}]},{"name":"rpt:domain-30","root":"us-gaap:FairValueMeasurementFrequencyDomain","relationships":[{"source":"us-gaap:FairValueMeasurementFrequencyDomain","target":"us-gaap:FairValueMeasurementsNonrecurringMember"},{"source":"us-gaap:FairValueMeasurementFrequencyDomain","target":"us-gaap:FairValueMeasurementsRecurringMember"}]},{"name":"rpt:domain-31","root":"srt:ProductsAndServicesDomain","relationships":[{"source":"srt:ProductsAndServicesDomain","target":"csbr:FewContractsMember"}]},{"name":"rpt:domain-32","root":"ecd:AllIndividualsMember","relationships":[{"source":"ecd:AllIndividualsMember","target":"ecd:NonNeosMember"}]},{"name":"rpt:domain-33","root":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","relationships":[{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockOptionMember"},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:StockAppreciationRightsSARSMember"}]},{"name":"rpt:domain-34","root":"ecd:AllTradingArrangementsMember","relationships":[]},{"name":"rpt:domain-35","root":"ecd:AllExecutiveCategoriesMember","relationships":[{"source":"ecd:AllExecutiveCategoriesMember","target":"ecd:PeoMember"},{"source":"ecd:AllExecutiveCategoriesMember","target":"ecd:NonPeoNeoMember"}]},{"name":"rpt:domain-36","root":"ecd:AllAdjToCompMember","relationships":[{"source":"ecd:AllAdjToCompMember","target":"ecd:AggtChngPnsnValInSummryCompstnTblForAplblYrMember"},{"source":"ecd:AllAdjToCompMember","target":"ecd:AggtPnsnAdjsSvcCstMember"},{"source":"ecd:AllAdjToCompMember","target":"ecd:EqtyAwrdsAdjsMember"},{"source":"ecd:AggtPnsnAdjsSvcCstMember","target":"ecd:PnsnAdjsSvcCstMember"},{"source":"ecd:AggtPnsnAdjsSvcCstMember","target":"ecd:PnsnAdjsPrrSvcCstMember"},{"source":"ecd:EqtyAwrdsAdjsMember","target":"ecd:EqtyAwrdsInSummryCompstnTblForAplblYrMember"},{"source":"ecd:EqtyAwrdsAdjsMember","target":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember"},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember"},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember"},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember"},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember"},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember"},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember"}]}],"members":[{"name":"country:IL","domainClasses":["srt:SegmentGeographicalDomain","us-gaap:IncomeTaxAuthorityDomain"]},{"name":"country:IT","domainClasses":["srt:SegmentGeographicalDomain","us-gaap:IncomeTaxAuthorityDomain"]},{"name":"country:US","domainClasses":["us-gaap:IncomeTaxAuthorityDomain"]},{"name":"csbr:A2021And2010EquityIncentivePlansMember","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"csbr:A2022FinanceLeaseMember","domainClasses":["csbr:FinanceLeaseDomain"]},{"name":"csbr:A2023FinanceLeaseMember","domainClasses":["csbr:FinanceLeaseDomain"]},{"name":"csbr:A2023GlobalEquityIncentivePlanMember","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"csbr:AllBuyBackAmountsMember","domainClasses":["csbr:TriggeringEventDomain"]},{"name":"csbr:AssetInProgressMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"csbr:BoardMemberOneMember","domainClasses":["srt:RepurchaseAgreementCounterpartyNameDomain"]},{"name":"csbr:ChairpersonOfACommitteeMember","domainClasses":["srt:TitleOfIndividualWithRelationshipToEntityDomain"]},{"name":"csbr:CorporateHeadquartersMember","domainClasses":["srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"]},{"name":"csbr:CustomerOneMember","domainClasses":["srt:NameOfMajorCustomerDomain"]},{"name":"csbr:CustomerTwoMember","domainClasses":["srt:NameOfMajorCustomerDomain"]},{"name":"csbr:DirectorCompensationPlanMember","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"csbr:EquityIncentivePlan2010Member","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"csbr:EquityIncentivePlan2021Member","domainClasses":["us-gaap:PlanNameDomain"]},{"name":"csbr:FewContractsMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"csbr:IndependentDirectorsMember","domainClasses":["srt:TitleOfIndividualWithRelationshipToEntityDomain"]},{"name":"csbr:LaboratoryEquipmentMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"csbr:MilanItalyMember","domainClasses":["srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"]},{"name":"csbr:OperatingSubsidiariesMember","domainClasses":["srt:RepurchaseAgreementCounterpartyNameDomain"]},{"name":"csbr:OptionsAndCashMember","domainClasses":["csbr:TriggeringEventDomain"]},{"name":"csbr:PharmacologyServicesMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"csbr:RockvilleMDMember","domainClasses":["srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain"]},{"name":"csbr:ShareBasedPaymentArrangementAfterTrancheOneMember","domainClasses":["us-gaap:VestingDomain"]},{"name":"csbr:SubjectToForfeitureMember","domainClasses":["csbr:TriggeringEventDomain"]},{"name":"csbr:TimeBasedAwardsMember","domainClasses":["us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"]},{"name":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"ecd:AggtChngPnsnValInSummryCompstnTblForAplblYrMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:AggtPnsnAdjsSvcCstMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:EqtyAwrdsAdjsMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:EqtyAwrdsInSummryCompstnTblForAplblYrMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:NonNeosMember","domainClasses":["ecd:AllIndividualsMember"]},{"name":"ecd:NonPeoNeoMember","domainClasses":["ecd:AllExecutiveCategoriesMember"]},{"name":"ecd:PeoMember","domainClasses":["ecd:AllExecutiveCategoriesMember"]},{"name":"ecd:PnsnAdjsPrrSvcCstMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:PnsnAdjsSvcCstMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"ecd:YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember","domainClasses":["ecd:AllAdjToCompMember"]},{"name":"srt:BoardOfDirectorsChairmanMember","domainClasses":["srt:TitleOfIndividualWithRelationshipToEntityDomain"]},{"name":"srt:MaximumMember","domainClasses":["srt:RangeMember"]},{"name":"srt:MinimumMember","domainClasses":["srt:RangeMember"]},{"name":"stpr:CA","domainClasses":["us-gaap:IncomeTaxAuthorityDomain"]},{"name":"stpr:CT","domainClasses":["us-gaap:IncomeTaxAuthorityDomain"]},{"name":"stpr:NY","domainClasses":["us-gaap:IncomeTaxAuthorityDomain"]},{"name":"stpr:PA","domainClasses":["us-gaap:IncomeTaxAuthorityDomain"]},{"name":"us-gaap:AccountsReceivableMember","domainClasses":["us-gaap:ConcentrationRiskBenchmarkDomain"]},{"name":"us-gaap:AdditionalPaidInCapitalMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:CommonStockMember","domainClasses":["us-gaap:ClassOfStockDomain","us-gaap:EquityComponentDomain"]},{"name":"us-gaap:ComputerEquipmentMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:CustomerConcentrationRiskMember","domainClasses":["us-gaap:ConcentrationRiskTypeDomain"]},{"name":"us-gaap:DomesticCountryMember","domainClasses":["us-gaap:IncomeTaxAuthorityDomain"]},{"name":"us-gaap:EmployeeStockOptionMember","domainClasses":["us-gaap:AntidilutiveSecuritiesNameDomain","us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"]},{"name":"us-gaap:EquipmentMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:FairValueMeasurementsNonrecurringMember","domainClasses":["us-gaap:FairValueMeasurementFrequencyDomain"]},{"name":"us-gaap:FairValueMeasurementsRecurringMember","domainClasses":["us-gaap:FairValueMeasurementFrequencyDomain"]},{"name":"us-gaap:ForeignCountryMember","domainClasses":["us-gaap:IncomeTaxAuthorityDomain"]},{"name":"us-gaap:FurnitureAndFixturesMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:LeaseholdImprovementsMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:NoncontrollingInterestMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:PerformanceSharesMember","domainClasses":["us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"]},{"name":"us-gaap:ProductAndServiceOtherMember","domainClasses":["srt:ProductsAndServicesDomain"]},{"name":"us-gaap:RetainedEarningsMember","domainClasses":["us-gaap:EquityComponentDomain"]},{"name":"us-gaap:SalesRevenueNetMember","domainClasses":["us-gaap:ConcentrationRiskBenchmarkDomain"]},{"name":"us-gaap:ShareBasedCompensationAwardTrancheOneMember","domainClasses":["us-gaap:VestingDomain"]},{"name":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember","domainClasses":["us-gaap:VestingDomain"]},{"name":"us-gaap:ShareBasedPaymentArrangementEmployeeMember","domainClasses":["us-gaap:GranteeStatusDomain"]},{"name":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember","domainClasses":["us-gaap:GranteeStatusDomain"]},{"name":"us-gaap:SoftwareDevelopmentMember","domainClasses":["us-gaap:PropertyPlantAndEquipmentTypeDomain"]},{"name":"us-gaap:StateAndLocalJurisdictionMember","domainClasses":["us-gaap:IncomeTaxAuthorityDomain"]},{"name":"us-gaap:StockAppreciationRightsSARSMember","domainClasses":["us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"]},{"name":"us-gaap:SubsequentEventMember","domainClasses":["us-gaap:SubsequentEventTypeDomain"]},{"name":"us-gaap:TreasuryStockCommonMember","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}]},{"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-1","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-2","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-3","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":"srt:CounterpartyNameAxis","domainNetwork":"rpt:domain-4","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-5","optional":true},{"dimension":"csbr:FinanceLeaseAxis","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":"us-gaap:PropertyPlantAndEquipmentByTypeAxis","domainNetwork":"rpt:domain-7","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":"us-gaap:IncomeTaxAuthorityAxis","domainNetwork":"rpt:domain-8","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":"srt:StatementGeographicalAxis","domainNetwork":"rpt:domain-9","optional":true},{"dimension":"us-gaap:IncomeTaxAuthorityAxis","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":"us-gaap:IncomeTaxAuthorityAxis","domainNetwork":"rpt:domain-11","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:IncomeTaxAuthorityAxis","domainNetwork":"rpt:domain-12","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":"srt:TitleOfIndividualAxis","domainNetwork":"rpt:domain-13","optional":true},{"dimension":"srt:CounterpartyNameAxis","domainNetwork":"rpt:domain-14","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:ProductOrServiceAxis","domainNetwork":"rpt:domain-15","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":"us-gaap:StatementOfIncomeLocationBalanceAxis"}]},{"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}]},{"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":"us-gaap:PlanNameAxis","domainNetwork":"rpt:domain-16","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":"us-gaap:ConcentrationRiskByTypeAxis","domainNetwork":"rpt:domain-17","optional":true},{"dimension":"us-gaap:ConcentrationRiskByBenchmarkAxis","domainNetwork":"rpt:domain-18","optional":true},{"dimension":"srt:MajorCustomersAxis","domainNetwork":"rpt:domain-19","optional":true}]},{"name":"rpt:cube-17","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-20","optional":true},{"dimension":"us-gaap:StatementOfIncomeLocationBalanceAxis"},{"dimension":"us-gaap:VestingAxis","domainNetwork":"rpt:domain-21","optional":true},{"dimension":"srt:TitleOfIndividualAxis","domainNetwork":"rpt:domain-22","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-23","optional":true},{"dimension":"csbr:TriggeringEventAxis","domainNetwork":"rpt:domain-24","optional":true},{"dimension":"us-gaap:AwardTypeAxis","domainNetwork":"rpt:domain-25","optional":true},{"dimension":"us-gaap:StatementClassOfStockAxis","domainNetwork":"rpt:domain-26","optional":true}]},{"name":"rpt:cube-18","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-20","optional":true},{"dimension":"us-gaap:VestingAxis","domainNetwork":"rpt:domain-21","optional":true},{"dimension":"srt:TitleOfIndividualAxis","domainNetwork":"rpt:domain-22","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-23","optional":true},{"dimension":"csbr:TriggeringEventAxis","domainNetwork":"rpt:domain-24","optional":true},{"dimension":"us-gaap:AwardTypeAxis","domainNetwork":"rpt:domain-25","optional":true},{"dimension":"us-gaap:StatementClassOfStockAxis","domainNetwork":"rpt:domain-26","optional":true}]},{"name":"rpt:cube-19","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:GranteeStatusAxis","domainNetwork":"rpt:domain-27","optional":true},{"dimension":"us-gaap:PlanNameAxis","domainNetwork":"rpt:domain-16","optional":true}]},{"name":"rpt:cube-20","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:SubsequentEventTypeAxis","domainNetwork":"rpt:domain-28","optional":true},{"dimension":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","domainNetwork":"rpt:domain-29","optional":true}]},{"name":"rpt:cube-21","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:FairValueByMeasurementFrequencyAxis","domainNetwork":"rpt:domain-30","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-1","optional":true},{"dimension":"srt:ProductOrServiceAxis","domainNetwork":"rpt:domain-31","optional":true},{"dimension":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"}]},{"name":"rpt:cube-22","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:FairValueByMeasurementFrequencyAxis","domainNetwork":"rpt:domain-30","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-1","optional":true},{"dimension":"srt:ProductOrServiceAxis","domainNetwork":"rpt:domain-31","optional":true}]},{"name":"rpt:cube-23","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-31","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-1","optional":true},{"dimension":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis"}]},{"name":"rpt:cube-24","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-31","optional":true},{"dimension":"srt:RangeAxis","domainNetwork":"rpt:domain-1","optional":true}]},{"name":"rpt:cube-25","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true}]},{"name":"rpt:cube-26","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true}]},{"name":"rpt:cube-27","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":"ecd:IndividualAxis","domainNetwork":"rpt:domain-32","optional":true},{"dimension":"us-gaap:AwardTypeAxis","domainNetwork":"rpt:domain-33","optional":true}]},{"name":"rpt:cube-28","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":"ecd:RestatementDateAxis"}]},{"name":"rpt:cube-29","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":"ecd:RestatementDateAxis"},{"dimension":"ecd:IndividualAxis","domainNetwork":"rpt:domain-32","optional":true}]},{"name":"rpt:cube-30","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":"ecd:TradingArrAxis","domainNetwork":"rpt:domain-34","optional":true},{"dimension":"ecd:IndividualAxis","domainNetwork":"rpt:domain-32","optional":true}]},{"name":"rpt:cube-31","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true}]},{"name":"rpt:cube-32","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":"ecd:RestatementDateAxis"},{"dimension":"ecd:IndividualAxis","domainNetwork":"rpt:domain-32","optional":true}]},{"name":"rpt:cube-33","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":"ecd:ExecutiveCategoryAxis","domainNetwork":"rpt:domain-35","optional":true},{"dimension":"ecd:IndividualAxis","domainNetwork":"rpt:domain-32","optional":true},{"dimension":"ecd:AdjToCompAxis","domainNetwork":"rpt:domain-36","optional":true}]},{"name":"rpt:cube-34","cubeDimensions":[{"dimension":"xbrl:concept"},{"dimension":"xbrl:period","optional":true},{"dimension":"xbrl:entity","optional":true},{"dimension":"xbrl:unit","optional":true},{"dimension":"xbrl:language","optional":true}]},{"name":"rpt:cube-35","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":"ecd:ExecutiveCategoryAxis","domainNetwork":"rpt:domain-35","optional":true},{"dimension":"ecd:IndividualAxis","domainNetwork":"rpt:domain-32","optional":true},{"dimension":"ecd:MeasureAxis"}]},{"name":"rpt:cube-36","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":"ecd:MeasureAxis"}]},{"name":"rpt:cube-37","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":"ecd:IndividualAxis","domainNetwork":"rpt:domain-32","optional":true}]},{"name":"rpt:cube-38","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":"ecd:ExecutiveCategoryAxis","domainNetwork":"rpt:domain-35","optional":true},{"dimension":"ecd:IndividualAxis","domainNetwork":"rpt:domain-32","optional":true},{"dimension":"ecd:MeasureAxis"}]},{"name":"rpt:cube-39","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":"ecd:ExecutiveCategoryAxis","domainNetwork":"rpt:domain-35","optional":true},{"dimension":"ecd:IndividualAxis","domainNetwork":"rpt:domain-32","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":"country:IL","labelType":"xbrl:terseLabel","value":"Israel","language":"en-US"},{"forObject":"country:IL","labelType":"xbrl:label","value":"ISRAEL","language":"en-US"},{"forObject":"country:IT","labelType":"xbrl:terseLabel","value":"Italy","language":"en-US"},{"forObject":"country:IT","labelType":"xbrl:label","value":"ITALY","language":"en-US"},{"forObject":"country:US","labelType":"xbrl:terseLabel","value":"United States","language":"en-US"},{"forObject":"country:US","labelType":"xbrl:label","value":"UNITED STATES","language":"en-US"},{"forObject":"csbr:A2021And2010EquityIncentivePlansMember","labelType":"xbrl:terseLabel","value":"2021 and 2010 Equity Incentive Plans","language":"en-US"},{"forObject":"csbr:A2021And2010EquityIncentivePlansMember","labelType":"xbrl:label","value":"2021 And 2010 Equity Incentive Plans [Member]","language":"en-US"},{"forObject":"csbr:A2021And2010EquityIncentivePlansMember","labelType":"xbrl:documentation","value":"2021 And 2010 Equity Incentive Plans","language":"en-US"},{"forObject":"csbr:A2022FinanceLeaseMember","labelType":"xbrl:terseLabel","value":"2022 Finance Lease","language":"en-US"},{"forObject":"csbr:A2022FinanceLeaseMember","labelType":"xbrl:label","value":"2022 Finance Lease [Member]","language":"en-US"},{"forObject":"csbr:A2022FinanceLeaseMember","labelType":"xbrl:documentation","value":"2022 Finance Lease","language":"en-US"},{"forObject":"csbr:A2023FinanceLeaseMember","labelType":"xbrl:terseLabel","value":"2023 Finance Lease","language":"en-US"},{"forObject":"csbr:A2023FinanceLeaseMember","labelType":"xbrl:label","value":"2023 Finance Lease [Member]","language":"en-US"},{"forObject":"csbr:A2023FinanceLeaseMember","labelType":"xbrl:documentation","value":"2023 Finance Lease","language":"en-US"},{"forObject":"csbr:A2023GlobalEquityIncentivePlanMember","labelType":"xbrl:terseLabel","value":"2023 Global Equity Incentive Plan","language":"en-US"},{"forObject":"csbr:A2023GlobalEquityIncentivePlanMember","labelType":"xbrl:label","value":"2023 Global Equity Incentive Plan [Member]","language":"en-US"},{"forObject":"csbr:A2023GlobalEquityIncentivePlanMember","labelType":"xbrl:documentation","value":"2023 Global Equity Incentive Plan","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossProvisionForCreditLossesAndBadDebt","labelType":"xbrl:terseLabel","value":"Plus: Provision for credit losses and doubtful accounts","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossProvisionForCreditLossesAndBadDebt","labelType":"xbrl:label","value":"Accounts Receivable, Allowance for Credit Loss, Provision for Credit Losses and Bad Debt","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossProvisionForCreditLossesAndBadDebt","labelType":"xbrl:documentation","value":"Accounts Receivable, Allowance for Credit Loss, Provision for Credit Losses and Bad Debt","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossReversalForAmountsSubsequentlyCollected","labelType":"xbrl:negatedTerseLabel","value":"Less: Reversal for amounts subsequently collected","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossReversalForAmountsSubsequentlyCollected","labelType":"xbrl:label","value":"Accounts Receivable, Allowance for Credit Loss, Reversal for Amounts Subsequently Collected","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossReversalForAmountsSubsequentlyCollected","labelType":"xbrl:documentation","value":"Accounts Receivable, Allowance for Credit Loss, Reversal for Amounts Subsequently Collected","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossReversalOfProvisionForCreditLossesAndBadDebt","labelType":"xbrl:negatedTerseLabel","value":"Less: Reversal of provision for credit losses and doubtful accounts, net","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossReversalOfProvisionForCreditLossesAndBadDebt","labelType":"xbrl:label","value":"Accounts Receivable, Allowance for Credit Loss, Reversal of Provision for Credit Losses and Bad Debt","language":"en-US"},{"forObject":"csbr:AccountsReceivableAllowanceForCreditLossReversalOfProvisionForCreditLossesAndBadDebt","labelType":"xbrl:documentation","value":"Accounts Receivable, Allowance for Credit Loss, Reversal of Provision for Credit Losses and Bad Debt","language":"en-US"},{"forObject":"csbr:AllBuyBackAmountsMember","labelType":"xbrl:terseLabel","value":"All Buy Back Amounts","language":"en-US"},{"forObject":"csbr:AllBuyBackAmountsMember","labelType":"xbrl:label","value":"All Buy Back Amounts [Member]","language":"en-US"},{"forObject":"csbr:AllBuyBackAmountsMember","labelType":"xbrl:documentation","value":"All Buy Back Amounts","language":"en-US"},{"forObject":"csbr:AssetInProgressMember","labelType":"xbrl:terseLabel","value":"Assets in progress","language":"en-US"},{"forObject":"csbr:AssetInProgressMember","labelType":"xbrl:label","value":"Asset In Progress [Member]","language":"en-US"},{"forObject":"csbr:AssetInProgressMember","labelType":"xbrl:documentation","value":"Asset In Progress","language":"en-US"},{"forObject":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Financing Lease Assets and Lease 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:AuditorInformationAbstract","labelType":"xbrl:label","value":"Auditor Information [Abstract]","language":"en-US"},{"forObject":"csbr:AuditorInformationAbstract","labelType":"xbrl:documentation","value":"Auditor Information [Abstract]","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:ChairpersonOfACommitteeMember","labelType":"xbrl:terseLabel","value":"Chairperson of a Committee","language":"en-US"},{"forObject":"csbr:ChairpersonOfACommitteeMember","labelType":"xbrl:label","value":"Chairperson Of A Committee [Member]","language":"en-US"},{"forObject":"csbr:ChairpersonOfACommitteeMember","labelType":"xbrl:documentation","value":"Chairperson Of A Committee","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:ContractWithCustomerLiabilityAdditions","labelType":"xbrl:terseLabel","value":"Additions:","language":"en-US"},{"forObject":"csbr:ContractWithCustomerLiabilityAdditions","labelType":"xbrl:label","value":"Contract With Customer Liability, Additions","language":"en-US"},{"forObject":"csbr:ContractWithCustomerLiabilityAdditions","labelType":"xbrl:documentation","value":"Contract With Customer Liability, Additions","language":"en-US"},{"forObject":"csbr:ContractWithCustomerLiabilityRevenueRecognizedIncludingOpeningBalance","labelType":"xbrl:negatedTerseLabel","value":"Revenue Recognized","language":"en-US"},{"forObject":"csbr:ContractWithCustomerLiabilityRevenueRecognizedIncludingOpeningBalance","labelType":"xbrl:label","value":"Contract With Customer Liability, Revenue Recognized, Including Opening Balance","language":"en-US"},{"forObject":"csbr:ContractWithCustomerLiabilityRevenueRecognizedIncludingOpeningBalance","labelType":"xbrl:documentation","value":"Contract With Customer Liability, Revenue Recognized, Including Opening Balance","language":"en-US"},{"forObject":"csbr:ContractWithCustomerLiabilityRollForward","labelType":"xbrl:terseLabel","value":"Contract With Customer Liability [Roll Forward]","language":"en-US"},{"forObject":"csbr:ContractWithCustomerLiabilityRollForward","labelType":"xbrl:label","value":"Contract With Customer Liability [Roll Forward]","language":"en-US"},{"forObject":"csbr:ContractWithCustomerLiabilityRollForward","labelType":"xbrl:documentation","value":"Contract With Customer Liability","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:CustomerOneMember","labelType":"xbrl:terseLabel","value":"Customer One","language":"en-US"},{"forObject":"csbr:CustomerOneMember","labelType":"xbrl:label","value":"Customer One [Member]","language":"en-US"},{"forObject":"csbr:CustomerOneMember","labelType":"xbrl:documentation","value":"Customer One","language":"en-US"},{"forObject":"csbr:CustomerTwoMember","labelType":"xbrl:terseLabel","value":"Customer Two","language":"en-US"},{"forObject":"csbr:CustomerTwoMember","labelType":"xbrl:label","value":"Customer Two [Member]","language":"en-US"},{"forObject":"csbr:CustomerTwoMember","labelType":"xbrl:documentation","value":"Customer Two","language":"en-US"},{"forObject":"csbr:DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts","labelType":"xbrl:terseLabel","value":"Capitalized research and development costs","language":"en-US"},{"forObject":"csbr:DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts","labelType":"xbrl:label","value":"Deferred Tax Assets, Capitalized Research and Development Costs","language":"en-US"},{"forObject":"csbr:DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts","labelType":"xbrl:documentation","value":"Deferred Tax Assets, Capitalized Research and Development Costs","language":"en-US"},{"forObject":"csbr:DeferredTaxAssetsLeaseLiabilities","labelType":"xbrl:terseLabel","value":"Right of use liability","language":"en-US"},{"forObject":"csbr:DeferredTaxAssetsLeaseLiabilities","labelType":"xbrl:label","value":"Deferred Tax Assets, Lease Liabilities","language":"en-US"},{"forObject":"csbr:DeferredTaxAssetsLeaseLiabilities","labelType":"xbrl:documentation","value":"Deferred Tax Assets, Lease Liabilities","language":"en-US"},{"forObject":"csbr:DeferredTaxLiabilitiesRightOfUseAssets","labelType":"xbrl:negatedTerseLabel","value":"Right of use asset","language":"en-US"},{"forObject":"csbr:DeferredTaxLiabilitiesRightOfUseAssets","labelType":"xbrl:label","value":"Deferred Tax Liabilities, Right-Of-Use Assets","language":"en-US"},{"forObject":"csbr:DeferredTaxLiabilitiesRightOfUseAssets","labelType":"xbrl:documentation","value":"Deferred Tax Liabilities, Right-Of-Use Assets","language":"en-US"},{"forObject":"csbr:DepreciationAndAmortizationExcludingFinanceLeases","labelType":"xbrl:terseLabel","value":"Depreciation and amortization, excluding finance leases","language":"en-US"},{"forObject":"csbr:DepreciationAndAmortizationExcludingFinanceLeases","labelType":"xbrl:label","value":"Depreciation And Amortization, Excluding Finance Leases","language":"en-US"},{"forObject":"csbr:DepreciationAndAmortizationExcludingFinanceLeases","labelType":"xbrl:documentation","value":"Depreciation And Amortization, Excluding Finance Leases","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:EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxAssetsAmount","labelType":"xbrl:terseLabel","value":"Adjustments to deferred tax assets","language":"en-US"},{"forObject":"csbr:EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxAssetsAmount","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Adjustments To Deferred Tax Assets, Amount","language":"en-US"},{"forObject":"csbr:EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxAssetsAmount","labelType":"xbrl:documentation","value":"Effective Income Tax Rate Reconciliation, Adjustments To Deferred Tax Assets, Amount","language":"en-US"},{"forObject":"csbr:EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxAssetsPercent","labelType":"xbrl:terseLabel","value":"Adjustments to deferred tax assets","language":"en-US"},{"forObject":"csbr:EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxAssetsPercent","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Adjustments To Deferred Tax Assets, Percent","language":"en-US"},{"forObject":"csbr:EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxAssetsPercent","labelType":"xbrl:documentation","value":"Effective Income Tax Rate Reconciliation, Adjustments To Deferred Tax Assets, Percent","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:EquityIncentivePlan2021Member","labelType":"xbrl:terseLabel","value":"Equity Incentive Plan 2021","language":"en-US"},{"forObject":"csbr:EquityIncentivePlan2021Member","labelType":"xbrl:label","value":"Equity Incentive Plan 2021 [Member]","language":"en-US"},{"forObject":"csbr:EquityIncentivePlan2021Member","labelType":"xbrl:documentation","value":"Equity Incentive Plan 2021","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:FinanceLeaseAxis","labelType":"xbrl:terseLabel","value":"Finance Lease [Axis]","language":"en-US"},{"forObject":"csbr:FinanceLeaseAxis","labelType":"xbrl:label","value":"Finance Lease [Axis]","language":"en-US"},{"forObject":"csbr:FinanceLeaseAxis","labelType":"xbrl:documentation","value":"Finance Lease","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":"Depreciation","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:FinanceLeaseDomain","labelType":"xbrl:terseLabel","value":"Finance Lease [Domain]","language":"en-US"},{"forObject":"csbr:FinanceLeaseDomain","labelType":"xbrl:label","value":"Finance Lease [Domain]","language":"en-US"},{"forObject":"csbr:FinanceLeaseDomain","labelType":"xbrl:documentation","value":"Finance Lease [Domain]","language":"en-US"},{"forObject":"csbr:FinanceLeaseLiabilityToBePaidAfterYearTwo","labelType":"xbrl:terseLabel","value":"Thereafter","language":"en-US"},{"forObject":"csbr:FinanceLeaseLiabilityToBePaidAfterYearTwo","labelType":"xbrl:label","value":"Finance Lease, Liability, to be Paid, after Year Two","language":"en-US"},{"forObject":"csbr:FinanceLeaseLiabilityToBePaidAfterYearTwo","labelType":"xbrl:documentation","value":"Finance Lease, Liability, to be Paid, after Year Two","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityCurrent","labelType":"xbrl:negatedTerseLabel","value":"Current lease liability, decrease for lease termination","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityCurrent","labelType":"xbrl:label","value":"Increase (Decrease) in Operating Lease Liability, Current","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityCurrent","labelType":"xbrl:documentation","value":"Increase (Decrease) in Operating Lease Liability, Current","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityNoncurrent","labelType":"xbrl:negatedTerseLabel","value":"Non-current lease liability, decrease for lease termination","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityNoncurrent","labelType":"xbrl:label","value":"Increase (Decrease) in Operating Lease Liability, Noncurrent","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityNoncurrent","labelType":"xbrl:documentation","value":"Increase (Decrease) in Operating Lease Liability, Noncurrent","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:IncreaseDecreaseInUncertainTaxPosition","labelType":"xbrl:negatedTerseLabel","value":"Decrease in uncertain tax position","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInUncertainTaxPosition","labelType":"xbrl:label","value":"Increase (Decrease) In Uncertain Tax Position","language":"en-US"},{"forObject":"csbr:IncreaseDecreaseInUncertainTaxPosition","labelType":"xbrl:documentation","value":"Increase (Decrease) In Uncertain Tax Position","language":"en-US"},{"forObject":"csbr:IndependentDirectorsMember","labelType":"xbrl:terseLabel","value":"Independent Directors","language":"en-US"},{"forObject":"csbr:IndependentDirectorsMember","labelType":"xbrl:label","value":"Independent Directors [Member]","language":"en-US"},{"forObject":"csbr:IndependentDirectorsMember","labelType":"xbrl:documentation","value":"Independent Directors","language":"en-US"},{"forObject":"csbr:LaboratoryEquipmentMember","labelType":"xbrl:terseLabel","value":"Laboratory equipment","language":"en-US"},{"forObject":"csbr:LaboratoryEquipmentMember","labelType":"xbrl:label","value":"Laboratory Equipment [Member]","language":"en-US"},{"forObject":"csbr:LaboratoryEquipmentMember","labelType":"xbrl:documentation","value":"Laboratory Equipment","language":"en-US"},{"forObject":"csbr:LesseeOperatingLeaseLiabilityToBePaidAfterYearThree","labelType":"xbrl:terseLabel","value":"Thereafter","language":"en-US"},{"forObject":"csbr:LesseeOperatingLeaseLiabilityToBePaidAfterYearThree","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, after Year Three","language":"en-US"},{"forObject":"csbr:LesseeOperatingLeaseLiabilityToBePaidAfterYearThree","labelType":"xbrl:documentation","value":"Lessee, Operating Lease, Liability, to be Paid, after Year Three","language":"en-US"},{"forObject":"csbr:MilanItalyMember","labelType":"xbrl:terseLabel","value":"Milan, Italy","language":"en-US"},{"forObject":"csbr:MilanItalyMember","labelType":"xbrl:label","value":"Milan, Italy [Member]","language":"en-US"},{"forObject":"csbr:MilanItalyMember","labelType":"xbrl:documentation","value":"Milan, Italy","language":"en-US"},{"forObject":"csbr:NumberOfMajorInstitutionsWithCashBalances","labelType":"xbrl:terseLabel","value":"Number of major institutions with cash balances","language":"en-US"},{"forObject":"csbr:NumberOfMajorInstitutionsWithCashBalances","labelType":"xbrl:label","value":"Number Of Major Institutions With Cash Balances","language":"en-US"},{"forObject":"csbr:NumberOfMajorInstitutionsWithCashBalances","labelType":"xbrl:documentation","value":"Number Of Major Institutions With Cash Balances","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:OperatingLeaseRightOfUseAssetIncreaseDecrease","labelType":"xbrl:negatedTerseLabel","value":"Right-of-use asset, decrease for lease termination","language":"en-US"},{"forObject":"csbr:OperatingLeaseRightOfUseAssetIncreaseDecrease","labelType":"xbrl:label","value":"Operating Lease, Right Of Use Asset, Increase (Decrease)","language":"en-US"},{"forObject":"csbr:OperatingLeaseRightOfUseAssetIncreaseDecrease","labelType":"xbrl:documentation","value":"Operating Lease, Right Of Use Asset, Increase (Decrease)","language":"en-US"},{"forObject":"csbr:OperatingLossCarryforwardsExpirationPeriod","labelType":"xbrl:terseLabel","value":"Operating loss carryforwards, expiration period","language":"en-US"},{"forObject":"csbr:OperatingLossCarryforwardsExpirationPeriod","labelType":"xbrl:label","value":"Operating Loss Carryforwards, Expiration Period","language":"en-US"},{"forObject":"csbr:OperatingLossCarryforwardsExpirationPeriod","labelType":"xbrl:documentation","value":"Operating Loss Carryforwards, Expiration Period","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:OperatingSubsidiariesMember","labelType":"xbrl:terseLabel","value":"Operating Subsidiaries","language":"en-US"},{"forObject":"csbr:OperatingSubsidiariesMember","labelType":"xbrl:label","value":"Operating Subsidiaries [Member]","language":"en-US"},{"forObject":"csbr:OperatingSubsidiariesMember","labelType":"xbrl:documentation","value":"Operating Subsidiaries","language":"en-US"},{"forObject":"csbr:OptionsAndCashMember","labelType":"xbrl:terseLabel","value":"Options and Cash","language":"en-US"},{"forObject":"csbr:OptionsAndCashMember","labelType":"xbrl:label","value":"Options And Cash [Member]","language":"en-US"},{"forObject":"csbr:OptionsAndCashMember","labelType":"xbrl:documentation","value":"Options And Cash","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: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:SalesAndMarketingExpensePolicyPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Sales and Marketing","language":"en-US"},{"forObject":"csbr:SalesAndMarketingExpensePolicyPolicyTextBlock","labelType":"xbrl:label","value":"Sales And Marketing Expense, Policy [Policy Text Block]","language":"en-US"},{"forObject":"csbr:SalesAndMarketingExpensePolicyPolicyTextBlock","labelType":"xbrl:documentation","value":"Sales And Marketing Expense, Policy","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationAnnualBaseCompensationAmount","labelType":"xbrl:terseLabel","value":"Annual base compensation mount","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationAnnualBaseCompensationAmount","labelType":"xbrl:label","value":"Share-Based Compensation, Annual Base Compensation Amount","language":"en-US"},{"forObject":"csbr:ShareBasedCompensationAnnualBaseCompensationAmount","labelType":"xbrl:documentation","value":"Share-Based Compensation, Annual Base Compensation Amount","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: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: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:ShareBasedPaymentArrangementAfterTrancheOneMember","labelType":"xbrl:terseLabel","value":"Share-Based Payment Arrangement, After Tranche One","language":"en-US"},{"forObject":"csbr:ShareBasedPaymentArrangementAfterTrancheOneMember","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, After Tranche One [Member]","language":"en-US"},{"forObject":"csbr:ShareBasedPaymentArrangementAfterTrancheOneMember","labelType":"xbrl:documentation","value":"Share-Based Payment Arrangement, After Tranche One","language":"en-US"},{"forObject":"csbr:ShareBasedPaymentArrangementOptionExercisePricePercentageOfFairValueOfCommonStockMinimum","labelType":"xbrl:terseLabel","value":"Strike price as a percent of fair market value","language":"en-US"},{"forObject":"csbr:ShareBasedPaymentArrangementOptionExercisePricePercentageOfFairValueOfCommonStockMinimum","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Option, Exercise Price, Percentage Of Fair Value Of Common Stock, Minimum","language":"en-US"},{"forObject":"csbr:ShareBasedPaymentArrangementOptionExercisePricePercentageOfFairValueOfCommonStockMinimum","labelType":"xbrl:documentation","value":"Share-Based Payment Arrangement, Option, Exercise Price, Percentage Of Fair Value Of Common Stock, Minimum","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: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:SubjectToForfeitureMember","labelType":"xbrl:terseLabel","value":"Subject to Forfeiture","language":"en-US"},{"forObject":"csbr:SubjectToForfeitureMember","labelType":"xbrl:label","value":"Subject to Forfeiture [Member]","language":"en-US"},{"forObject":"csbr:SubjectToForfeitureMember","labelType":"xbrl:documentation","value":"Subject to Forfeiture","language":"en-US"},{"forObject":"csbr:TimeBasedAwardsMember","labelType":"xbrl:terseLabel","value":"Time-Based Awards","language":"en-US"},{"forObject":"csbr:TimeBasedAwardsMember","labelType":"xbrl:label","value":"Time-Based Awards [Member]","language":"en-US"},{"forObject":"csbr:TimeBasedAwardsMember","labelType":"xbrl:documentation","value":"Time-Based Awards","language":"en-US"},{"forObject":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember","labelType":"xbrl:terseLabel","value":"TOS data license revenue","language":"en-US"},{"forObject":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember","labelType":"xbrl:label","value":"Translational Oncology Solutions (TOS) License Revenue [Member]","language":"en-US"},{"forObject":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember","labelType":"xbrl:documentation","value":"Translational Oncology Solutions (TOS) License Revenue","language":"en-US"},{"forObject":"csbr:TriggeringEventAxis","labelType":"xbrl:terseLabel","value":"Triggering Event [Axis]","language":"en-US"},{"forObject":"csbr:TriggeringEventAxis","labelType":"xbrl:label","value":"Triggering Event [Axis]","language":"en-US"},{"forObject":"csbr:TriggeringEventAxis","labelType":"xbrl:documentation","value":"Triggering Event","language":"en-US"},{"forObject":"csbr:TriggeringEventDomain","labelType":"xbrl:terseLabel","value":"Triggering Event [Domain]","language":"en-US"},{"forObject":"csbr:TriggeringEventDomain","labelType":"xbrl:label","value":"Triggering Event [Domain]","language":"en-US"},{"forObject":"csbr:TriggeringEventDomain","labelType":"xbrl:documentation","value":"Triggering Event","language":"en-US"},{"forObject":"csbr:WorkingCapitalDeficit","labelType":"xbrl:terseLabel","value":"Working capital deficit","language":"en-US"},{"forObject":"csbr:WorkingCapitalDeficit","labelType":"xbrl:label","value":"Working Capital Deficit","language":"en-US"},{"forObject":"csbr:WorkingCapitalDeficit","labelType":"xbrl:documentation","value":"Working Capital Deficit","language":"en-US"},{"forObject":"cyd:CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock","labelType":"xbrl:label","value":"Cybersecurity Risk Board Committee or Subcommittee Responsible for Oversight [Text Block]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock","labelType":"xbrl:label","value":"Cybersecurity Risk Board of Directors Oversight [Text Block]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock","labelType":"xbrl:label","value":"Cybersecurity Risk Management Expertise of Management Responsible [Text Block]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag","labelType":"xbrl:label","value":"Cybersecurity Risk Management Positions or Committees Responsible [Flag]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag","labelType":"xbrl:label","value":"Cybersecurity Risk Management Positions or Committees Responsible Report to Board [Flag]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock","labelType":"xbrl:label","value":"Cybersecurity Risk Management Positions or Committees Responsible [Text Block]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock","labelType":"xbrl:label","value":"Cybersecurity Risk Management Processes for Assessing, Identifying, and Managing Threats [Text Block]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskManagementProcessesIntegratedFlag","labelType":"xbrl:label","value":"Cybersecurity Risk Management Processes Integrated [Flag]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskManagementProcessesIntegratedTextBlock","labelType":"xbrl:label","value":"Cybersecurity Risk Management Processes Integrated [Text Block]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskManagementStrategyAndGovernanceAbstract","labelType":"xbrl:label","value":"Cybersecurity Risk Management, Strategy, and Governance [Abstract]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskManagementStrategyAndGovernanceLineItems","labelType":"xbrl:label","value":"Cybersecurity Risk Management, Strategy, and Governance [Line Items]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskManagementStrategyAndGovernanceTable","labelType":"xbrl:label","value":"Cybersecurity Risk Management, Strategy, and Governance [Table]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskManagementThirdPartyEngagedFlag","labelType":"xbrl:label","value":"Cybersecurity Risk Management Third Party Engaged [Flag]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag","labelType":"xbrl:label","value":"Cybersecurity Risk Materially Affected or Reasonably Likely to Materially Affect Registrant [Flag]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantTextBlock","labelType":"xbrl:label","value":"Cybersecurity Risk Materially Affected or Reasonably Likely to Materially Affect Registrant [Text Block]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock","labelType":"xbrl:label","value":"Cybersecurity Risk Process for Informing Board Committee or Subcommittee Responsible for Oversight [Text Block]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock","labelType":"xbrl:label","value":"Cybersecurity Risk Process for Informing Management or Committees Responsible [Text Block]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskRoleOfManagementTextBlock","labelType":"xbrl:label","value":"Cybersecurity Risk Role of Management [Text Block]","language":"en-US"},{"forObject":"cyd:CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag","labelType":"xbrl:label","value":"Cybersecurity Risk Third Party Oversight and Identification Processes [Flag]","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:AuditorFirmId","labelType":"xbrl:terseLabel","value":"Auditor Firm ID","language":"en-US"},{"forObject":"dei:AuditorFirmId","labelType":"xbrl:label","value":"Auditor Firm ID","language":"en-US"},{"forObject":"dei:AuditorLocation","labelType":"xbrl:terseLabel","value":"Auditor Location","language":"en-US"},{"forObject":"dei:AuditorLocation","labelType":"xbrl:label","value":"Auditor Location","language":"en-US"},{"forObject":"dei:AuditorName","labelType":"xbrl:terseLabel","value":"Auditor Name","language":"en-US"},{"forObject":"dei:AuditorName","labelType":"xbrl:label","value":"Auditor Name","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:DocumentFinStmtErrorCorrectionFlag","labelType":"xbrl:terseLabel","value":"Document Financial Statement Error Correction","language":"en-US"},{"forObject":"dei:DocumentFinStmtErrorCorrectionFlag","labelType":"xbrl:label","value":"Document Financial Statement Error Correction [Flag]","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:EntityAddressAddressLine2","labelType":"xbrl:terseLabel","value":"Entity Address, Address Line Two","language":"en-US"},{"forObject":"dei:EntityAddressAddressLine2","labelType":"xbrl:label","value":"Entity Address, Address Line Two","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","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":"ecd:Additional402vDisclosureTextBlock","labelType":"xbrl:terseLabel","value":"Additional 402(v) Disclosure","language":"en-US"},{"forObject":"ecd:Additional402vDisclosureTextBlock","labelType":"xbrl:label","value":"Additional 402(v) Disclosure [Text Block]","language":"en-US"},{"forObject":"ecd:AdjToCompAmt","labelType":"xbrl:terseLabel","value":"Adjustment to Compensation, Amount","language":"en-US"},{"forObject":"ecd:AdjToCompAmt","labelType":"xbrl:label","value":"Adjustment to Compensation Amount","language":"en-US"},{"forObject":"ecd:AdjToCompAxis","labelType":"xbrl:terseLabel","value":"Adjustment to Compensation:","language":"en-US"},{"forObject":"ecd:AdjToCompAxis","labelType":"xbrl:label","value":"Adjustment to Compensation [Axis]","language":"en-US"},{"forObject":"ecd:AdjToNonPeoNeoCompFnTextBlock","labelType":"xbrl:terseLabel","value":"Adjustment to Non-PEO NEO Compensation Footnote","language":"en-US"},{"forObject":"ecd:AdjToNonPeoNeoCompFnTextBlock","labelType":"xbrl:label","value":"Adjustment to Non-PEO NEO Compensation Footnote [Text Block]","language":"en-US"},{"forObject":"ecd:AdjToPeoCompFnTextBlock","labelType":"xbrl:terseLabel","value":"Adjustment To PEO Compensation, Footnote","language":"en-US"},{"forObject":"ecd:AdjToPeoCompFnTextBlock","labelType":"xbrl:label","value":"Adjustment To PEO Compensation, Footnote [Text Block]","language":"en-US"},{"forObject":"ecd:AggtChngPnsnValInSummryCompstnTblForAplblYrMember","labelType":"xbrl:terseLabel","value":"Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table","language":"en-US"},{"forObject":"ecd:AggtChngPnsnValInSummryCompstnTblForAplblYrMember","labelType":"xbrl:label","value":"Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]","language":"en-US"},{"forObject":"ecd:AggtErrCompAmt","labelType":"xbrl:terseLabel","value":"Aggregate Erroneous Compensation Amount","language":"en-US"},{"forObject":"ecd:AggtErrCompAmt","labelType":"xbrl:label","value":"Aggregate Erroneous Compensation Amount","language":"en-US"},{"forObject":"ecd:AggtErrCompNotYetDeterminedTextBlock","labelType":"xbrl:terseLabel","value":"Aggregate Erroneous Compensation Not Yet Determined","language":"en-US"},{"forObject":"ecd:AggtErrCompNotYetDeterminedTextBlock","labelType":"xbrl:label","value":"Aggregate Erroneous Compensation Not Yet Determined [Text Block]","language":"en-US"},{"forObject":"ecd:AggtPnsnAdjsSvcCstMember","labelType":"xbrl:terseLabel","value":"Aggregate Pension Adjustments Service Cost","language":"en-US"},{"forObject":"ecd:AggtPnsnAdjsSvcCstMember","labelType":"xbrl:label","value":"Aggregate Pension Adjustments Service Cost [Member]","language":"en-US"},{"forObject":"ecd:AllAdjToCompMember","labelType":"xbrl:terseLabel","value":"All Adjustments to Compensation","language":"en-US"},{"forObject":"ecd:AllAdjToCompMember","labelType":"xbrl:label","value":"All Adjustments to Compensation [Member]","language":"en-US"},{"forObject":"ecd:AllExecutiveCategoriesMember","labelType":"xbrl:terseLabel","value":"All Executive Categories","language":"en-US"},{"forObject":"ecd:AllExecutiveCategoriesMember","labelType":"xbrl:label","value":"All Executive Categories [Member]","language":"en-US"},{"forObject":"ecd:AllIndividualsMember","labelType":"xbrl:terseLabel","value":"All Individuals","language":"en-US"},{"forObject":"ecd:AllIndividualsMember","labelType":"xbrl:label","value":"All Individuals [Member]","language":"en-US"},{"forObject":"ecd:AllTradingArrangementsMember","labelType":"xbrl:terseLabel","value":"All Trading Arrangements","language":"en-US"},{"forObject":"ecd:AllTradingArrangementsMember","labelType":"xbrl:label","value":"All Trading Arrangements [Member]","language":"en-US"},{"forObject":"ecd:AwardExrcPrice","labelType":"xbrl:terseLabel","value":"Exercise Price","language":"en-US"},{"forObject":"ecd:AwardExrcPrice","labelType":"xbrl:label","value":"Award Exercise Price","language":"en-US"},{"forObject":"ecd:AwardGrantDateFairValue","labelType":"xbrl:terseLabel","value":"Fair Value as of Grant Date","language":"en-US"},{"forObject":"ecd:AwardGrantDateFairValue","labelType":"xbrl:label","value":"Award Grant Date Fair Value","language":"en-US"},{"forObject":"ecd:AwardTmgDiscLineItems","labelType":"xbrl:label","value":"Award Timing Disclosures [Line Items]","language":"en-US"},{"forObject":"ecd:AwardTmgHowMnpiCnsdrdTextBlock","labelType":"xbrl:terseLabel","value":"Award Timing, How MNPI Considered","language":"en-US"},{"forObject":"ecd:AwardTmgHowMnpiCnsdrdTextBlock","labelType":"xbrl:label","value":"Award Timing, How MNPI Considered [Text Block]","language":"en-US"},{"forObject":"ecd:AwardTmgMethodTextBlock","labelType":"xbrl:terseLabel","value":"Award Timing Method","language":"en-US"},{"forObject":"ecd:AwardTmgMethodTextBlock","labelType":"xbrl:label","value":"Award Timing Method [Text Block]","language":"en-US"},{"forObject":"ecd:AwardTmgMnpiCnsdrdFlag","labelType":"xbrl:terseLabel","value":"Award Timing MNPI Considered","language":"en-US"},{"forObject":"ecd:AwardTmgMnpiCnsdrdFlag","labelType":"xbrl:label","value":"Award Timing MNPI Considered [Flag]","language":"en-US"},{"forObject":"ecd:AwardTmgMnpiDiscTextBlock","labelType":"xbrl:terseLabel","value":"Award Timing MNPI Disclosure","language":"en-US"},{"forObject":"ecd:AwardTmgMnpiDiscTextBlock","labelType":"xbrl:label","value":"Award Timing MNPI Disclosure [Text Block]","language":"en-US"},{"forObject":"ecd:AwardTmgPredtrmndFlag","labelType":"xbrl:terseLabel","value":"Award Timing Predetermined","language":"en-US"},{"forObject":"ecd:AwardTmgPredtrmndFlag","labelType":"xbrl:label","value":"Award Timing Predetermined [Flag]","language":"en-US"},{"forObject":"ecd:AwardUndrlygSecuritiesAmt","labelType":"xbrl:terseLabel","value":"Underlying Securities","language":"en-US"},{"forObject":"ecd:AwardUndrlygSecuritiesAmt","labelType":"xbrl:label","value":"Award Underlying Securities Amount","language":"en-US"},{"forObject":"ecd:AwardsCloseToMnpiDiscIndName","labelType":"xbrl:terseLabel","value":"Name","language":"en-US"},{"forObject":"ecd:AwardsCloseToMnpiDiscIndName","labelType":"xbrl:label","value":"Awards Close in Time to MNPI Disclosures, Individual Name","language":"en-US"},{"forObject":"ecd:AwardsCloseToMnpiDiscTable","labelType":"xbrl:terseLabel","value":"Awards Close in Time to MNPI Disclosures","language":"en-US"},{"forObject":"ecd:AwardsCloseToMnpiDiscTable","labelType":"xbrl:label","value":"Awards Close in Time to MNPI Disclosures [Table]","language":"en-US"},{"forObject":"ecd:AwardsCloseToMnpiDiscTableTextBlock","labelType":"xbrl:terseLabel","value":"Awards Close in Time to MNPI Disclosures, Table","language":"en-US"},{"forObject":"ecd:AwardsCloseToMnpiDiscTableTextBlock","labelType":"xbrl:label","value":"Awards Close in Time to MNPI Disclosures [Table Text Block]","language":"en-US"},{"forObject":"ecd:ChangedPeerGroupFnTextBlock","labelType":"xbrl:terseLabel","value":"Changed Peer Group, Footnote","language":"en-US"},{"forObject":"ecd:ChangedPeerGroupFnTextBlock","labelType":"xbrl:label","value":"Changed Peer Group, Footnote [Text Block]","language":"en-US"},{"forObject":"ecd:ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember","labelType":"xbrl:terseLabel","value":"Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year","language":"en-US"},{"forObject":"ecd:ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember","labelType":"xbrl:label","value":"Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]","language":"en-US"},{"forObject":"ecd:ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember","labelType":"xbrl:terseLabel","value":"Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested","language":"en-US"},{"forObject":"ecd:ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember","labelType":"xbrl:label","value":"Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]","language":"en-US"},{"forObject":"ecd:CoSelectedMeasureAmt","labelType":"xbrl:terseLabel","value":"Company Selected Measure Amount","language":"en-US"},{"forObject":"ecd:CoSelectedMeasureAmt","labelType":"xbrl:label","value":"Company Selected Measure Amount","language":"en-US"},{"forObject":"ecd:CoSelectedMeasureName","labelType":"xbrl:terseLabel","value":"Company Selected Measure Name","language":"en-US"},{"forObject":"ecd:CoSelectedMeasureName","labelType":"xbrl:label","value":"Company Selected Measure Name","language":"en-US"},{"forObject":"ecd:CompActuallyPaidVsCoSelectedMeasureTextBlock","labelType":"xbrl:terseLabel","value":"Compensation Actually Paid vs. Company Selected Measure","language":"en-US"},{"forObject":"ecd:CompActuallyPaidVsCoSelectedMeasureTextBlock","labelType":"xbrl:label","value":"Compensation Actually Paid vs. Company Selected Measure [Text Block]","language":"en-US"},{"forObject":"ecd:CompActuallyPaidVsNetIncomeTextBlock","labelType":"xbrl:terseLabel","value":"Compensation Actually Paid vs. Net Income","language":"en-US"},{"forObject":"ecd:CompActuallyPaidVsNetIncomeTextBlock","labelType":"xbrl:label","value":"Compensation Actually Paid vs. Net Income [Text Block]","language":"en-US"},{"forObject":"ecd:CompActuallyPaidVsOtherMeasureTextBlock","labelType":"xbrl:terseLabel","value":"Compensation Actually Paid vs. Other Measure","language":"en-US"},{"forObject":"ecd:CompActuallyPaidVsOtherMeasureTextBlock","labelType":"xbrl:label","value":"Compensation Actually Paid vs. Other Measure [Text Block]","language":"en-US"},{"forObject":"ecd:CompActuallyPaidVsTotalShareholderRtnTextBlock","labelType":"xbrl:terseLabel","value":"Compensation Actually Paid vs. Total Shareholder Return","language":"en-US"},{"forObject":"ecd:CompActuallyPaidVsTotalShareholderRtnTextBlock","labelType":"xbrl:label","value":"Compensation Actually Paid vs. Total Shareholder Return [Text Block]","language":"en-US"},{"forObject":"ecd:DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember","labelType":"xbrl:terseLabel","value":"Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year","language":"en-US"},{"forObject":"ecd:DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember","labelType":"xbrl:label","value":"Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]","language":"en-US"},{"forObject":"ecd:EqtyAwrdsAdjFnTextBlock","labelType":"xbrl:terseLabel","value":"Equity Awards Adjustments, Footnote","language":"en-US"},{"forObject":"ecd:EqtyAwrdsAdjFnTextBlock","labelType":"xbrl:label","value":"Equity Awards Adjustments, Footnote [Text Block]","language":"en-US"},{"forObject":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","labelType":"xbrl:terseLabel","value":"Equity Awards Adjustments, Excluding Value Reported in Compensation Table","language":"en-US"},{"forObject":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","labelType":"xbrl:label","value":"Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]","language":"en-US"},{"forObject":"ecd:EqtyAwrdsAdjsMember","labelType":"xbrl:terseLabel","value":"Equity Awards Adjustments","language":"en-US"},{"forObject":"ecd:EqtyAwrdsAdjsMember","labelType":"xbrl:label","value":"Equity Awards Adjustments [Member]","language":"en-US"},{"forObject":"ecd:EqtyAwrdsInSummryCompstnTblForAplblYrMember","labelType":"xbrl:terseLabel","value":"Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table","language":"en-US"},{"forObject":"ecd:EqtyAwrdsInSummryCompstnTblForAplblYrMember","labelType":"xbrl:label","value":"Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]","language":"en-US"},{"forObject":"ecd:EquityValuationAssumptionDifferenceFnTextBlock","labelType":"xbrl:terseLabel","value":"Equity Valuation Assumption Difference, Footnote","language":"en-US"},{"forObject":"ecd:EquityValuationAssumptionDifferenceFnTextBlock","labelType":"xbrl:label","value":"Equity Valuation Assumption Difference, Footnote [Text Block]","language":"en-US"},{"forObject":"ecd:ErrCompAnalysisTextBlock","labelType":"xbrl:terseLabel","value":"Erroneous Compensation Analysis","language":"en-US"},{"forObject":"ecd:ErrCompAnalysisTextBlock","labelType":"xbrl:label","value":"Erroneous Compensation Analysis [Text Block]","language":"en-US"},{"forObject":"ecd:ErrCompRecoveryTable","labelType":"xbrl:terseLabel","value":"Erroneously Awarded Compensation Recovery","language":"en-US"},{"forObject":"ecd:ErrCompRecoveryTable","labelType":"xbrl:label","value":"Erroneously Awarded Compensation Recovery [Table]","language":"en-US"},{"forObject":"ecd:ExecutiveCategoryAxis","labelType":"xbrl:terseLabel","value":"Executive Category:","language":"en-US"},{"forObject":"ecd:ExecutiveCategoryAxis","labelType":"xbrl:label","value":"Executive Category [Axis]","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt","labelType":"xbrl:terseLabel","value":"Forgone Recovery due to Disqualification of Tax Benefits, Amount","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt","labelType":"xbrl:label","value":"Forgone Recovery due to Disqualification of Tax Benefits, Amount","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryDueToExpenseOfEnforcementAmt","labelType":"xbrl:terseLabel","value":"Forgone Recovery due to Expense of Enforcement, Amount","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryDueToExpenseOfEnforcementAmt","labelType":"xbrl:label","value":"Forgone Recovery due to Expense of Enforcement, Amount","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryDueToViolationOfHomeCountryLawAmt","labelType":"xbrl:terseLabel","value":"Forgone Recovery due to Violation of Home Country Law, Amount","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryDueToViolationOfHomeCountryLawAmt","labelType":"xbrl:label","value":"Forgone Recovery due to Violation of Home Country Law, Amount","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryExplanationOfImpracticabilityTextBlock","labelType":"xbrl:terseLabel","value":"Forgone Recovery, Explanation of Impracticability","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryExplanationOfImpracticabilityTextBlock","labelType":"xbrl:label","value":"Forgone Recovery, Explanation of Impracticability [Text Block]","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryIndName","labelType":"xbrl:terseLabel","value":"Name","language":"en-US"},{"forObject":"ecd:ForgoneRecoveryIndName","labelType":"xbrl:label","value":"Forgone Recovery, Individual Name","language":"en-US"},{"forObject":"ecd:FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember","labelType":"xbrl:terseLabel","value":"Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year","language":"en-US"},{"forObject":"ecd:FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember","labelType":"xbrl:label","value":"Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]","language":"en-US"},{"forObject":"ecd:IndividualAxis","labelType":"xbrl:terseLabel","value":"Individual:","language":"en-US"},{"forObject":"ecd:IndividualAxis","labelType":"xbrl:label","value":"Individual [Axis]","language":"en-US"},{"forObject":"ecd:InsiderTradingArrLineItems","labelType":"xbrl:label","value":"Insider Trading Arrangements [Line Items]","language":"en-US"},{"forObject":"ecd:InsiderTradingPoliciesProcLineItems","labelType":"xbrl:label","value":"Insider Trading Policies and Procedures [Line Items]","language":"en-US"},{"forObject":"ecd:InsiderTrdPoliciesProcAdoptedFlag","labelType":"xbrl:terseLabel","value":"Insider Trading Policies and Procedures Adopted","language":"en-US"},{"forObject":"ecd:InsiderTrdPoliciesProcAdoptedFlag","labelType":"xbrl:label","value":"Insider Trading Policies and Procedures Adopted [Flag]","language":"en-US"},{"forObject":"ecd:InsiderTrdPoliciesProcNotAdoptedTextBlock","labelType":"xbrl:terseLabel","value":"Insider Trading Policies and Procedures Not Adopted","language":"en-US"},{"forObject":"ecd:InsiderTrdPoliciesProcNotAdoptedTextBlock","labelType":"xbrl:label","value":"Insider Trading Policies and Procedures Not Adopted [Text Block]","language":"en-US"},{"forObject":"ecd:MeasureAxis","labelType":"xbrl:terseLabel","value":"Measure:","language":"en-US"},{"forObject":"ecd:MeasureAxis","labelType":"xbrl:label","value":"Measure [Axis]","language":"en-US"},{"forObject":"ecd:MeasureName","labelType":"xbrl:terseLabel","value":"Name","language":"en-US"},{"forObject":"ecd:MeasureName","labelType":"xbrl:label","value":"Measure Name","language":"en-US"},{"forObject":"ecd:MnpiDiscTimedForCompValFlag","labelType":"xbrl:terseLabel","value":"MNPI Disclosure Timed for Compensation Value","language":"en-US"},{"forObject":"ecd:MnpiDiscTimedForCompValFlag","labelType":"xbrl:label","value":"MNPI Disclosure Timed for Compensation Value [Flag]","language":"en-US"},{"forObject":"ecd:MtrlTermsOfTrdArrTextBlock","labelType":"xbrl:terseLabel","value":"Material Terms of Trading Arrangement","language":"en-US"},{"forObject":"ecd:MtrlTermsOfTrdArrTextBlock","labelType":"xbrl:label","value":"Material Terms of Trading Arrangement [Text Block]","language":"en-US"},{"forObject":"ecd:NamedExecutiveOfficersFnTextBlock","labelType":"xbrl:terseLabel","value":"Named Executive Officers, Footnote","language":"en-US"},{"forObject":"ecd:NamedExecutiveOfficersFnTextBlock","labelType":"xbrl:label","value":"Named Executive Officers, Footnote [Text Block]","language":"en-US"},{"forObject":"ecd:NonGaapMeasureDescriptionTextBlock","labelType":"xbrl:terseLabel","value":"Non-GAAP Measure Description","language":"en-US"},{"forObject":"ecd:NonGaapMeasureDescriptionTextBlock","labelType":"xbrl:label","value":"Non-GAAP Measure Description [Text Block]","language":"en-US"},{"forObject":"ecd:NonNeosMember","labelType":"xbrl:terseLabel","value":"Non-NEOs","language":"en-US"},{"forObject":"ecd:NonNeosMember","labelType":"xbrl:label","value":"Non-NEOs [Member]","language":"en-US"},{"forObject":"ecd:NonPeoNeoAvgCompActuallyPaidAmt","labelType":"xbrl:terseLabel","value":"Non-PEO NEO Average Compensation Actually Paid Amount","language":"en-US"},{"forObject":"ecd:NonPeoNeoAvgCompActuallyPaidAmt","labelType":"xbrl:label","value":"Non-PEO NEO Average Compensation Actually Paid Amount","language":"en-US"},{"forObject":"ecd:NonPeoNeoAvgTotalCompAmt","labelType":"xbrl:terseLabel","value":"Non-PEO NEO Average Total Compensation Amount","language":"en-US"},{"forObject":"ecd:NonPeoNeoAvgTotalCompAmt","labelType":"xbrl:label","value":"Non-PEO NEO Average Total Compensation Amount","language":"en-US"},{"forObject":"ecd:NonPeoNeoMember","labelType":"xbrl:terseLabel","value":"Non-PEO NEO","language":"en-US"},{"forObject":"ecd:NonPeoNeoMember","labelType":"xbrl:label","value":"Non-PEO NEO [Member]","language":"en-US"},{"forObject":"ecd:NonRule10b51ArrAdoptedFlag","labelType":"xbrl:terseLabel","value":"Non-Rule 10b5-1 Arrangement Adopted","language":"en-US"},{"forObject":"ecd:NonRule10b51ArrAdoptedFlag","labelType":"xbrl:label","value":"Non-Rule 10b5-1 Arrangement Adopted [Flag]","language":"en-US"},{"forObject":"ecd:NonRule10b51ArrTrmntdFlag","labelType":"xbrl:terseLabel","value":"Non-Rule 10b5-1 Arrangement Terminated","language":"en-US"},{"forObject":"ecd:NonRule10b51ArrTrmntdFlag","labelType":"xbrl:label","value":"Non-Rule 10b5-1 Arrangement Terminated [Flag]","language":"en-US"},{"forObject":"ecd:OtherPerfMeasureAmt","labelType":"xbrl:terseLabel","value":"Other Performance Measure, Amount","language":"en-US"},{"forObject":"ecd:OtherPerfMeasureAmt","labelType":"xbrl:label","value":"Other Performance Measure, Amount","language":"en-US"},{"forObject":"ecd:OutstandingAggtErrCompAmt","labelType":"xbrl:terseLabel","value":"Outstanding Aggregate Erroneous Compensation Amount","language":"en-US"},{"forObject":"ecd:OutstandingAggtErrCompAmt","labelType":"xbrl:label","value":"Outstanding Aggregate Erroneous Compensation Amount","language":"en-US"},{"forObject":"ecd:OutstandingRecoveryCompAmt","labelType":"xbrl:terseLabel","value":"Compensation Amount","language":"en-US"},{"forObject":"ecd:OutstandingRecoveryCompAmt","labelType":"xbrl:label","value":"Outstanding Recovery Compensation Amount","language":"en-US"},{"forObject":"ecd:OutstandingRecoveryIndName","labelType":"xbrl:terseLabel","value":"Name","language":"en-US"},{"forObject":"ecd:OutstandingRecoveryIndName","labelType":"xbrl:label","value":"Outstanding Recovery, Individual Name","language":"en-US"},{"forObject":"ecd:PayVsPerformanceDisclosureLineItems","labelType":"xbrl:label","value":"Pay vs Performance Disclosure [Line Items]","language":"en-US"},{"forObject":"ecd:PeerGroupIssuersFnTextBlock","labelType":"xbrl:terseLabel","value":"Peer Group Issuers, Footnote","language":"en-US"},{"forObject":"ecd:PeerGroupIssuersFnTextBlock","labelType":"xbrl:label","value":"Peer Group Issuers, Footnote [Text Block]","language":"en-US"},{"forObject":"ecd:PeerGroupTotalShareholderRtnAmt","labelType":"xbrl:terseLabel","value":"Peer Group Total Shareholder Return Amount","language":"en-US"},{"forObject":"ecd:PeerGroupTotalShareholderRtnAmt","labelType":"xbrl:label","value":"Peer Group Total Shareholder Return Amount","language":"en-US"},{"forObject":"ecd:PeoActuallyPaidCompAmt","labelType":"xbrl:terseLabel","value":"PEO Actually Paid Compensation Amount","language":"en-US"},{"forObject":"ecd:PeoActuallyPaidCompAmt","labelType":"xbrl:label","value":"PEO Actually Paid Compensation Amount","language":"en-US"},{"forObject":"ecd:PeoMember","labelType":"xbrl:terseLabel","value":"PEO","language":"en-US"},{"forObject":"ecd:PeoMember","labelType":"xbrl:label","value":"PEO [Member]","language":"en-US"},{"forObject":"ecd:PeoName","labelType":"xbrl:terseLabel","value":"PEO Name","language":"en-US"},{"forObject":"ecd:PeoName","labelType":"xbrl:label","value":"PEO Name","language":"en-US"},{"forObject":"ecd:PeoTotalCompAmt","labelType":"xbrl:terseLabel","value":"PEO Total Compensation Amount","language":"en-US"},{"forObject":"ecd:PeoTotalCompAmt","labelType":"xbrl:label","value":"PEO Total Compensation Amount","language":"en-US"},{"forObject":"ecd:PnsnAdjsPrrSvcCstMember","labelType":"xbrl:terseLabel","value":"Pension Adjustments Prior Service Cost","language":"en-US"},{"forObject":"ecd:PnsnAdjsPrrSvcCstMember","labelType":"xbrl:label","value":"Pension Adjustments Prior Service Cost [Member]","language":"en-US"},{"forObject":"ecd:PnsnAdjsSvcCstMember","labelType":"xbrl:terseLabel","value":"Pension Adjustments Service Cost","language":"en-US"},{"forObject":"ecd:PnsnAdjsSvcCstMember","labelType":"xbrl:label","value":"Pension Adjustments Service Cost [Member]","language":"en-US"},{"forObject":"ecd:PnsnBnftsAdjFnTextBlock","labelType":"xbrl:terseLabel","value":"Pension Benefits Adjustments, Footnote","language":"en-US"},{"forObject":"ecd:PnsnBnftsAdjFnTextBlock","labelType":"xbrl:label","value":"Pension Benefits Adjustments, Footnote [Text Block]","language":"en-US"},{"forObject":"ecd:PvpTable","labelType":"xbrl:terseLabel","value":"Pay vs Performance Disclosure","language":"en-US"},{"forObject":"ecd:PvpTable","labelType":"xbrl:label","value":"Pay vs Performance Disclosure [Table]","language":"en-US"},{"forObject":"ecd:PvpTableTextBlock","labelType":"xbrl:terseLabel","value":"Pay vs Performance Disclosure, Table","language":"en-US"},{"forObject":"ecd:PvpTableTextBlock","labelType":"xbrl:label","value":"Pay vs Performance [Table Text Block]","language":"en-US"},{"forObject":"ecd:RecoveryOfErrCompDisclosureLineItems","labelType":"xbrl:label","value":"Recovery of Erroneously Awarded Compensation Disclosure [Line Items]","language":"en-US"},{"forObject":"ecd:RestatementDateAxis","labelType":"xbrl:terseLabel","value":"Restatement Determination Date:","language":"en-US"},{"forObject":"ecd:RestatementDateAxis","labelType":"xbrl:label","value":"Restatement Determination Date [Axis]","language":"en-US"},{"forObject":"ecd:RestatementDeterminationDate","labelType":"xbrl:terseLabel","value":"Restatement Determination Date","language":"en-US"},{"forObject":"ecd:RestatementDeterminationDate","labelType":"xbrl:label","value":"Restatement Determination Date","language":"en-US"},{"forObject":"ecd:RestatementDoesNotRequireRecoveryTextBlock","labelType":"xbrl:terseLabel","value":"Restatement does not require Recovery","language":"en-US"},{"forObject":"ecd:RestatementDoesNotRequireRecoveryTextBlock","labelType":"xbrl:label","value":"Restatement Does Not Require Recovery [Text Block]","language":"en-US"},{"forObject":"ecd:Rule10b51ArrAdoptedFlag","labelType":"xbrl:terseLabel","value":"Rule 10b5-1 Arrangement Adopted","language":"en-US"},{"forObject":"ecd:Rule10b51ArrAdoptedFlag","labelType":"xbrl:label","value":"Rule 10b5-1 Arrangement Adopted [Flag]","language":"en-US"},{"forObject":"ecd:Rule10b51ArrTrmntdFlag","labelType":"xbrl:terseLabel","value":"Rule 10b5-1 Arrangement Terminated","language":"en-US"},{"forObject":"ecd:Rule10b51ArrTrmntdFlag","labelType":"xbrl:label","value":"Rule 10b5-1 Arrangement Terminated [Flag]","language":"en-US"},{"forObject":"ecd:StkPrcOrTsrEstimationMethodTextBlock","labelType":"xbrl:terseLabel","value":"Stock Price or TSR Estimation Method","language":"en-US"},{"forObject":"ecd:StkPrcOrTsrEstimationMethodTextBlock","labelType":"xbrl:label","value":"Stock Price or TSR Estimation Method [Text Block]","language":"en-US"},{"forObject":"ecd:TabularListTableTextBlock","labelType":"xbrl:terseLabel","value":"Tabular List, Table","language":"en-US"},{"forObject":"ecd:TabularListTableTextBlock","labelType":"xbrl:label","value":"Tabular List [Table Text Block]","language":"en-US"},{"forObject":"ecd:TotalShareholderRtnAmt","labelType":"xbrl:terseLabel","value":"Total Shareholder Return Amount","language":"en-US"},{"forObject":"ecd:TotalShareholderRtnAmt","labelType":"xbrl:label","value":"Total Shareholder Return Amount","language":"en-US"},{"forObject":"ecd:TotalShareholderRtnVsPeerGroupTextBlock","labelType":"xbrl:terseLabel","value":"Total Shareholder Return Vs Peer Group","language":"en-US"},{"forObject":"ecd:TotalShareholderRtnVsPeerGroupTextBlock","labelType":"xbrl:label","value":"Total Shareholder Return Vs Peer Group [Text Block]","language":"en-US"},{"forObject":"ecd:TradingArrAxis","labelType":"xbrl:terseLabel","value":"Trading Arrangement:","language":"en-US"},{"forObject":"ecd:TradingArrAxis","labelType":"xbrl:label","value":"Trading Arrangement [Axis]","language":"en-US"},{"forObject":"ecd:TradingArrByIndTable","labelType":"xbrl:terseLabel","value":"Trading Arrangements, by Individual","language":"en-US"},{"forObject":"ecd:TradingArrByIndTable","labelType":"xbrl:label","value":"Trading Arrangements, by Individual [Table]","language":"en-US"},{"forObject":"ecd:TrdArrAdoptionDate","labelType":"xbrl:terseLabel","value":"Adoption Date","language":"en-US"},{"forObject":"ecd:TrdArrAdoptionDate","labelType":"xbrl:label","value":"Trading Arrangement Adoption Date","language":"en-US"},{"forObject":"ecd:TrdArrDuration","labelType":"xbrl:terseLabel","value":"Arrangement Duration","language":"en-US"},{"forObject":"ecd:TrdArrDuration","labelType":"xbrl:label","value":"Trading Arrangement Duration","language":"en-US"},{"forObject":"ecd:TrdArrExpirationDate","labelType":"xbrl:terseLabel","value":"Expiration Date","language":"en-US"},{"forObject":"ecd:TrdArrExpirationDate","labelType":"xbrl:label","value":"Trading Arrangement Expiration Date","language":"en-US"},{"forObject":"ecd:TrdArrIndName","labelType":"xbrl:terseLabel","value":"Name","language":"en-US"},{"forObject":"ecd:TrdArrIndName","labelType":"xbrl:label","value":"Trading Arrangement, Individual Name","language":"en-US"},{"forObject":"ecd:TrdArrIndTitle","labelType":"xbrl:terseLabel","value":"Title","language":"en-US"},{"forObject":"ecd:TrdArrIndTitle","labelType":"xbrl:label","value":"Trading Arrangement, Individual Title","language":"en-US"},{"forObject":"ecd:TrdArrSecuritiesAggAvailAmt","labelType":"xbrl:terseLabel","value":"Aggregate Available","language":"en-US"},{"forObject":"ecd:TrdArrSecuritiesAggAvailAmt","labelType":"xbrl:label","value":"Trading Arrangement, Securities Aggregate Available Amount","language":"en-US"},{"forObject":"ecd:TrdArrTerminationDate","labelType":"xbrl:terseLabel","value":"Termination Date","language":"en-US"},{"forObject":"ecd:TrdArrTerminationDate","labelType":"xbrl:label","value":"Trading Arrangement Termination Date","language":"en-US"},{"forObject":"ecd:UndrlygSecurityMktPriceChngPct","labelType":"xbrl:terseLabel","value":"Underlying Security Market Price Change","language":"en-US"},{"forObject":"ecd:UndrlygSecurityMktPriceChngPct","labelType":"xbrl:label","value":"Underlying Security Market Price Change, Percent","language":"en-US"},{"forObject":"ecd:VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember","labelType":"xbrl:terseLabel","value":"Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year","language":"en-US"},{"forObject":"ecd:VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember","labelType":"xbrl:label","value":"Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]","language":"en-US"},{"forObject":"ecd:YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember","labelType":"xbrl:terseLabel","value":"Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested","language":"en-US"},{"forObject":"ecd:YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember","labelType":"xbrl:label","value":"Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]","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 Member","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:MajorCustomersAxis","labelType":"xbrl:terseLabel","value":"Customer [Axis]","language":"en-US"},{"forObject":"srt:MajorCustomersAxis","labelType":"xbrl:label","value":"Customer [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:NameOfMajorCustomerDomain","labelType":"xbrl:terseLabel","value":"Customer [Domain]","language":"en-US"},{"forObject":"srt:NameOfMajorCustomerDomain","labelType":"xbrl:label","value":"Customer [Domain]","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:SegmentGeographicalDomain","labelType":"xbrl:terseLabel","value":"Geographical [Domain]","language":"en-US"},{"forObject":"srt:SegmentGeographicalDomain","labelType":"xbrl:label","value":"Geographical [Domain]","language":"en-US"},{"forObject":"srt:StatementGeographicalAxis","labelType":"xbrl:terseLabel","value":"Geographical [Axis]","language":"en-US"},{"forObject":"srt:StatementGeographicalAxis","labelType":"xbrl:label","value":"Geographical [Axis]","language":"en-US"},{"forObject":"srt:StockRepurchaseProgramAuthorizedAmount1","labelType":"xbrl:terseLabel","value":"Share repurchase program, authorized amount","language":"en-US"},{"forObject":"srt:StockRepurchaseProgramAuthorizedAmount1","labelType":"xbrl:label","value":"Share Repurchase Program, Authorized, Amount","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 and Position [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 and Position [Domain]","language":"en-US"},{"forObject":"stpr:CA","labelType":"xbrl:terseLabel","value":"California","language":"en-US"},{"forObject":"stpr:CA","labelType":"xbrl:label","value":"CALIFORNIA","language":"en-US"},{"forObject":"stpr:CT","labelType":"xbrl:terseLabel","value":"Connecticut","language":"en-US"},{"forObject":"stpr:CT","labelType":"xbrl:label","value":"CONNECTICUT","language":"en-US"},{"forObject":"stpr:NY","labelType":"xbrl:terseLabel","value":"New York City","language":"en-US"},{"forObject":"stpr:NY","labelType":"xbrl:label","value":"NEW YORK","language":"en-US"},{"forObject":"stpr:PA","labelType":"xbrl:terseLabel","value":"Pennsylvania","language":"en-US"},{"forObject":"stpr:PA","labelType":"xbrl:label","value":"PENNSYLVANIA","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: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:AccountsReceivableAllowanceForCreditLossTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Allowances for Doubtful Accounts and Estimated Credit Losses","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock","labelType":"xbrl:label","value":"Accounts Receivable, Allowance for Credit Loss [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableGross","labelType":"xbrl:terseLabel","value":"Accounts receivable","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableGross","labelType":"xbrl:label","value":"Accounts Receivable, before Allowance for Credit Loss","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableGrossCurrent","labelType":"xbrl:totalLabel","value":"Total accounts receivable and unbilled services","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableGrossCurrent","labelType":"xbrl:label","value":"Accounts Receivable, before Allowance for Credit Loss, Current","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableMember","labelType":"xbrl:terseLabel","value":"Accounts Receivable","language":"en-US"},{"forObject":"us-gaap:AccountsReceivableMember","labelType":"xbrl:label","value":"Accounts Receivable [Member]","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":"Property, Plant, and Equipment, Accumulated Depreciation, Depletion, and Amortization","language":"en-US"},{"forObject":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationSaleOfPropertyPlantAndEquipment1","labelType":"xbrl:terseLabel","value":"Accumulated depreciation","language":"en-US"},{"forObject":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationSaleOfPropertyPlantAndEquipment1","labelType":"xbrl:label","value":"Property, Plant, and Equipment, Accumulated Depreciation, Depletion, and Amortization, Disposition","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: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 (used in)\u00a0operating activities:","language":"en-US"},{"forObject":"us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:label","value":"Adjustment to Reconcile Net Income to Cash Provided by (Used in) Operating Activity [Abstract]","language":"en-US"},{"forObject":"us-gaap:AllocatedShareBasedCompensationExpense","labelType":"xbrl:terseLabel","value":"Total 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 estimated credit losses","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivable","labelType":"xbrl:periodStartLabel","value":"Beginning balance","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivable","labelType":"xbrl:periodEndLabel","value":"Ending balance","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivable","labelType":"xbrl:label","value":"Accounts Receivable, Allowance for Credit Loss","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","labelType":"xbrl:terseLabel","value":"Accounts Receivable, Allowance for Credit Loss [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","labelType":"xbrl:label","value":"Accounts Receivable, Allowance for Credit Loss [Roll Forward]","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs","labelType":"xbrl:negatedTerseLabel","value":"Less: Write offs","language":"en-US"},{"forObject":"us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs","labelType":"xbrl:label","value":"Accounts Receivable, Allowance for Credit Loss, Writeoff","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: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:AssetsFairValueDisclosure","labelType":"xbrl:terseLabel","value":"Assets, fair value","language":"en-US"},{"forObject":"us-gaap:AssetsFairValueDisclosure","labelType":"xbrl:label","value":"Assets, Fair Value Disclosure","language":"en-US"},{"forObject":"us-gaap:AwardTypeAxis","labelType":"xbrl:terseLabel","value":"Award Type","language":"en-US"},{"forObject":"us-gaap:AwardTypeAxis","labelType":"xbrl:label","value":"Award Type [Axis]","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":"Equipment purchased in accounts payable","language":"en-US"},{"forObject":"us-gaap:CapitalExpendituresIncurredButNotYetPaid","labelType":"xbrl:label","value":"Capital Expenditures Incurred but Not yet Paid","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 Equivalent, Restricted Cash, and Restricted Cash Equivalent, Continuing Operation","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 Equivalent, Restricted Cash, and Restricted Cash Equivalent, Period Increase (Decrease), Including Exchange Rate Effect and Discontinued Operation","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:ClassOfStockDomain","labelType":"xbrl:terseLabel","value":"Class of Stock [Domain]","language":"en-US"},{"forObject":"us-gaap:ClassOfStockDomain","labelType":"xbrl:label","value":"Class of Stock [Domain]","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:periodStartLabel","value":"Beginning balance (in shares)","language":"en-US"},{"forObject":"us-gaap:CommonStockSharesOutstanding","labelType":"xbrl:periodEndLabel","value":"Ending balance (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; 14,007,159 and 13,897,503 shares issued; and 13,886,826 and 13,777,170 shares outstanding at April 30, 2026 and 2025, 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:ConcentrationRiskBenchmarkDomain","labelType":"xbrl:terseLabel","value":"Concentration Risk Benchmark [Domain]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskBenchmarkDomain","labelType":"xbrl:label","value":"Concentration Risk Benchmark [Domain]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskByBenchmarkAxis","labelType":"xbrl:terseLabel","value":"Concentration Risk Benchmark [Axis]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskByBenchmarkAxis","labelType":"xbrl:label","value":"Concentration Risk Benchmark [Axis]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskByTypeAxis","labelType":"xbrl:terseLabel","value":"Concentration Risk Type [Axis]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskByTypeAxis","labelType":"xbrl:label","value":"Concentration Risk Type [Axis]","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:ConcentrationRiskPercentage1","labelType":"xbrl:terseLabel","value":"Concentration risk percentage","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskPercentage1","labelType":"xbrl:label","value":"Concentration Risk, Percentage","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskTypeDomain","labelType":"xbrl:terseLabel","value":"Concentration Risk Type [Domain]","language":"en-US"},{"forObject":"us-gaap:ConcentrationRiskTypeDomain","labelType":"xbrl:label","value":"Concentration Risk Type [Domain]","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":"Schedule of 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:ContractWithCustomerLiability","labelType":"xbrl:periodStartLabel","value":"Beginning balance","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiability","labelType":"xbrl:periodEndLabel","value":"Ending balance","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiability","labelType":"xbrl:label","value":"Contract with Customer, Liability","language":"en-US"},{"forObject":"us-gaap:ContractWithCustomerLiabilityCurrent","labelType":"xbrl:verboseLabel","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 revenue","language":"en-US"},{"forObject":"us-gaap:CostOfGoodsAndServicesSold","labelType":"xbrl:label","value":"Cost of Product and Service Sold","language":"en-US"},{"forObject":"us-gaap:CostOfSalesPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Cost of Oncology Revenue","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:CurrentFederalStateAndLocalTaxExpenseBenefitAbstract","labelType":"xbrl:terseLabel","value":"Current:","language":"en-US"},{"forObject":"us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefitAbstract","labelType":"xbrl:label","value":"Current Federal, State and Local, Tax Expense (Benefit) [Abstract]","language":"en-US"},{"forObject":"us-gaap:CurrentFederalTaxExpenseBenefit","labelType":"xbrl:terseLabel","value":"U.S. federal","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":"Income tax expense / (benefit), foreign","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":"Total current income tax expense / (benefit)","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":"U.S. state and local","language":"en-US"},{"forObject":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","labelType":"xbrl:label","value":"Current State and Local Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:CustomerConcentrationRiskMember","labelType":"xbrl:terseLabel","value":"Customer Concentration Risk","language":"en-US"},{"forObject":"us-gaap:CustomerConcentrationRiskMember","labelType":"xbrl:label","value":"Customer Concentration Risk [Member]","language":"en-US"},{"forObject":"us-gaap:DeferredFederalIncomeTaxExpenseBenefit","labelType":"xbrl:terseLabel","value":"U.S. federal","language":"en-US"},{"forObject":"us-gaap:DeferredFederalIncomeTaxExpenseBenefit","labelType":"xbrl:label","value":"Deferred Federal Income Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefitAbstract","labelType":"xbrl:terseLabel","value":"Deferred:","language":"en-US"},{"forObject":"us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefitAbstract","labelType":"xbrl:label","value":"Deferred Federal, State and Local, Tax Expense (Benefit) [Abstract]","language":"en-US"},{"forObject":"us-gaap:DeferredForeignIncomeTaxExpenseBenefit","labelType":"xbrl:terseLabel","value":"Income tax expense / (benefit), foreign","language":"en-US"},{"forObject":"us-gaap:DeferredForeignIncomeTaxExpenseBenefit","labelType":"xbrl:label","value":"Deferred Foreign Income Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:DeferredIncomeTaxExpenseBenefit","labelType":"xbrl:totalLabel","value":"Total deferred income tax expense / (benefit)","language":"en-US"},{"forObject":"us-gaap:DeferredIncomeTaxExpenseBenefit","labelType":"xbrl:label","value":"Deferred Income Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:DeferredIncomeTaxLiabilities","labelType":"xbrl:negatedTotalLabel","value":"Total deferred tax liabilities","language":"en-US"},{"forObject":"us-gaap:DeferredIncomeTaxLiabilities","labelType":"xbrl:label","value":"Deferred Tax Liabilities, Gross","language":"en-US"},{"forObject":"us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit","labelType":"xbrl:terseLabel","value":"U.S. state and local","language":"en-US"},{"forObject":"us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit","labelType":"xbrl:label","value":"Deferred State and Local Income Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsDeferredIncome","labelType":"xbrl:terseLabel","value":"Deferred revenue","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsDeferredIncome","labelType":"xbrl:label","value":"Deferred Tax Assets, Deferred Income","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsGross","labelType":"xbrl:totalLabel","value":"Total deferred tax assets before valuation allowance","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsGross","labelType":"xbrl:label","value":"Deferred Tax Assets, Gross","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsGrossAbstract","labelType":"xbrl:terseLabel","value":"Deferred tax assets:","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsGrossAbstract","labelType":"xbrl:label","value":"Deferred Tax Assets, Gross [Abstract]","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsLiabilitiesNet","labelType":"xbrl:totalLabel","value":"Net deferred tax asset (liability)","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsLiabilitiesNet","labelType":"xbrl:label","value":"Deferred Tax Assets, Net","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsNet","labelType":"xbrl:totalLabel","value":"Total deferred tax assets after valuation allowance","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsNet","labelType":"xbrl:label","value":"Deferred Tax Assets, Net of Valuation Allowance","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","labelType":"xbrl:terseLabel","value":"Net operating loss carryforwards","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:terseLabel","value":"Stock-based compensation","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:terseLabel","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:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts","labelType":"xbrl:terseLabel","value":"Allowance for doubtful accounts and credit losses","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts","labelType":"xbrl:label","value":"Deferred Tax Asset, Tax Deferred Expense, Reserve and Accrual, Accounts Receivable, Allowance for Credit Loss","language":"en-US"},{"forObject":"us-gaap:DeferredTaxAssetsValuationAllowance","labelType":"xbrl:negatedTerseLabel","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:DeferredTaxLiabilitiesAbstract","labelType":"xbrl:terseLabel","value":"Deferred tax liabilities:","language":"en-US"},{"forObject":"us-gaap:DeferredTaxLiabilitiesAbstract","labelType":"xbrl:label","value":"Deferred Tax Liabilities, Gross [Abstract]","language":"en-US"},{"forObject":"us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment","labelType":"xbrl:negatedTerseLabel","value":"Fixed assets","language":"en-US"},{"forObject":"us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment","labelType":"xbrl:label","value":"Deferred Tax Liabilities, Property, Plant and Equipment","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":"Schedule of 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:DomesticCountryMember","labelType":"xbrl:terseLabel","value":"Domestic","language":"en-US"},{"forObject":"us-gaap:DomesticCountryMember","labelType":"xbrl:label","value":"Income Tax Jurisdiction, Domestic Federal [Member]","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareAbstract","labelType":"xbrl:terseLabel","value":"Net income (loss) per common share outstanding","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":"basic (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareBasic","labelType":"xbrl:terseLabel","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:EarningsPerShareDiluted","labelType":"xbrl:verboseLabel","value":"diluted (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:EarningsPerShareDiluted","labelType":"xbrl:netLabel","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 / (benefit)","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract","labelType":"xbrl:terseLabel","value":"Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Percent [Abstract]","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","labelType":"xbrl:verboseLabel","value":"Expected U.S. federal statutory income tax","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 U.S. federal 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":"Statutory tax rate differences","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:EffectiveIncomeTaxRateReconciliationGiltiAmount","labelType":"xbrl:terseLabel","value":"Global intangible low-taxed income inclusion","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationGiltiAmount","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, NCTI, Amount","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent","labelType":"xbrl:terseLabel","value":"Global intangible low-taxed income inclusion","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, NCTI, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationLineItems","labelType":"xbrl:terseLabel","value":"Effective Income Tax Rate Reconciliation [Line Items]","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationLineItems","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation [Line Items]","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpense","labelType":"xbrl:terseLabel","value":"Nondeductible expenses","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpense","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Nondeductible Expense, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment","labelType":"xbrl:terseLabel","value":"Meals and entertainment","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Nondeductible Expense, Meals and Entertainment, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost","labelType":"xbrl:terseLabel","value":"Incentive stock compensation (deduction) / inclusion","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes","labelType":"xbrl:terseLabel","value":"Return to provision adjustment","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Prior Year Income Taxes, Percent","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","labelType":"xbrl:verboseLabel","value":"U.S. state and local income taxes, 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:EffectiveIncomeTaxRateReconciliationTable","labelType":"xbrl:terseLabel","value":"Effective Income Tax Rate Reconciliation [Table]","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationTable","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation [Table]","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies","labelType":"xbrl:terseLabel","value":"Uncertain tax position change","language":"en-US"},{"forObject":"us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Tax Contingency, 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:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","labelType":"xbrl:terseLabel","value":"Unrecognized stock-based compensation expense","language":"en-US"},{"forObject":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount","language":"en-US"},{"forObject":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","labelType":"xbrl:terseLabel","value":"Weighted average recognition period (in years)","language":"en-US"},{"forObject":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition","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:EntityWideRevenueMajorCustomerLineItems","labelType":"xbrl:terseLabel","value":"Segment Reporting, Entity-Wide Information Not Provided as Part of Reportable Segment, Customer, Extent of Reliance [Line Items]","language":"en-US"},{"forObject":"us-gaap:EntityWideRevenueMajorCustomerLineItems","labelType":"xbrl:label","value":"Segment Reporting, Entity-Wide Information Not Provided as Part of Reportable Segment, Customer, Extent of Reliance [Line Items]","language":"en-US"},{"forObject":"us-gaap:EquipmentMember","labelType":"xbrl:terseLabel","value":"Laboratory Equipment","language":"en-US"},{"forObject":"us-gaap:EquipmentMember","labelType":"xbrl:label","value":"Equipment [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:FairValueByMeasurementFrequencyAxis","labelType":"xbrl:terseLabel","value":"Measurement Frequency [Axis]","language":"en-US"},{"forObject":"us-gaap:FairValueByMeasurementFrequencyAxis","labelType":"xbrl:label","value":"Measurement Frequency [Axis]","language":"en-US"},{"forObject":"us-gaap:FairValueMeasurementFrequencyDomain","labelType":"xbrl:terseLabel","value":"Measurement Frequency [Domain]","language":"en-US"},{"forObject":"us-gaap:FairValueMeasurementFrequencyDomain","labelType":"xbrl:label","value":"Measurement Frequency [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:FairValueMeasurementsNonrecurringMember","labelType":"xbrl:terseLabel","value":"Nonrecurring Basis","language":"en-US"},{"forObject":"us-gaap:FairValueMeasurementsNonrecurringMember","labelType":"xbrl:label","value":"Fair Value, Nonrecurring [Member]","language":"en-US"},{"forObject":"us-gaap:FairValueMeasurementsRecurringMember","labelType":"xbrl:terseLabel","value":"Recurring Basis","language":"en-US"},{"forObject":"us-gaap:FairValueMeasurementsRecurringMember","labelType":"xbrl:label","value":"Fair Value, Recurring [Member]","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseInterestExpense","labelType":"xbrl:terseLabel","value":"Interest on lease liabilities","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseInterestExpense","labelType":"xbrl:label","value":"Finance Lease, Interest Expense","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseInterestPaymentOnLiability","labelType":"xbrl:terseLabel","value":"Interest on finance lease liability","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseInterestPaymentOnLiability","labelType":"xbrl:label","value":"Finance Lease, Interest Payment on Liability","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiability","labelType":"xbrl:terseLabel","value":"Present value of minimum lease payments","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiability","labelType":"xbrl:label","value":"Finance Lease, Liability","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityCurrent","labelType":"xbrl:terseLabel","value":"Current portion of financing lease liabilities","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityCurrent","labelType":"xbrl:label","value":"Finance Lease, Liability, Current","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList","labelType":"xbrl:terseLabel","value":"Finance Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList","labelType":"xbrl:label","value":"Finance Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Future Minimum Lease Payments","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock","labelType":"xbrl:label","value":"Finance Lease, Liability, to be Paid, Maturity [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityNoncurrent","labelType":"xbrl:terseLabel","value":"Non-current portion of financing lease liabilities","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityNoncurrent","labelType":"xbrl:label","value":"Finance Lease, Liability, Noncurrent","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList","labelType":"xbrl:terseLabel","value":"Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList","labelType":"xbrl:label","value":"Finance Lease, Liability, Noncurrent, Statement of Financial Position [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsDue","labelType":"xbrl:totalLabel","value":"Total undiscounted liabilities","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsDue","labelType":"xbrl:label","value":"Finance Lease, Liability, to be Paid","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths","labelType":"xbrl:terseLabel","value":"2027","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths","labelType":"xbrl:label","value":"Finance Lease, Liability, to be Paid, Year One","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo","labelType":"xbrl:terseLabel","value":"2028","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo","labelType":"xbrl:label","value":"Finance Lease, Liability, to be Paid, Year Two","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount","labelType":"xbrl:negatedTerseLabel","value":"Less: Imputed interest","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount","labelType":"xbrl:label","value":"Finance Lease, Liability, Undiscounted Excess Amount","language":"en-US"},{"forObject":"us-gaap:FinanceLeasePrincipalPayments","labelType":"xbrl:negatedLabel","value":"Finance lease payments","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":"Financing lease net asset","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":"Amortization of leased assets","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","labelType":"xbrl:verboseLabel","value":"Amortization of leased assets","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","labelType":"xbrl:label","value":"Finance Lease, Right-of-Use Asset, Amortization","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","labelType":"xbrl:terseLabel","value":"Finance lease, right-of-use asset, statement of financial position [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","labelType":"xbrl:label","value":"Finance Lease, Right-of-Use Asset, Statement of Financial Position [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1","labelType":"xbrl:terseLabel","value":"Finance lease, weighted average remaining lease term","language":"en-US"},{"forObject":"us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1","labelType":"xbrl:label","value":"Finance Lease, Weighted Average Remaining Lease Term","language":"en-US"},{"forObject":"us-gaap:ForeignCountryMember","labelType":"xbrl:terseLabel","value":"Foreign","language":"en-US"},{"forObject":"us-gaap:ForeignCountryMember","labelType":"xbrl:label","value":"Income Tax Jurisdiction, Foreign [Member]","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: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:negatedLabel","value":"Loss on disposal of equipment","language":"en-US"},{"forObject":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","labelType":"xbrl:negatedTerseLabel","value":"Loss on sale and 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:negatedLabel","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:terseLabel","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:Goodwill","labelType":"xbrl:verboseLabel","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":"Impairment of goodwill","language":"en-US"},{"forObject":"us-gaap:GoodwillImpairmentLoss","labelType":"xbrl:label","value":"Goodwill, Impairment Loss","language":"en-US"},{"forObject":"us-gaap:GranteeStatusAxis","labelType":"xbrl:terseLabel","value":"Grantee Status [Axis]","language":"en-US"},{"forObject":"us-gaap:GranteeStatusAxis","labelType":"xbrl:label","value":"Grantee Status [Axis]","language":"en-US"},{"forObject":"us-gaap:GranteeStatusDomain","labelType":"xbrl:terseLabel","value":"Grantee Status [Domain]","language":"en-US"},{"forObject":"us-gaap:GranteeStatusDomain","labelType":"xbrl:label","value":"Grantee Status [Domain]","language":"en-US"},{"forObject":"us-gaap:ImpairmentOfLongLivedAssetsHeldForUse","labelType":"xbrl:terseLabel","value":"Asset impairment","language":"en-US"},{"forObject":"us-gaap:ImpairmentOfLongLivedAssetsHeldForUse","labelType":"xbrl:label","value":"Long-Lived Asset, Held and Used, Impairment Loss","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":"Long-Lived Asset, Excluding Intangible Asset and Goodwill, Impairment and Disposal [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic","labelType":"xbrl:terseLabel","value":"U.S. operations","language":"en-US"},{"forObject":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic","labelType":"xbrl:label","value":"Income (Loss) from Continuing Operations before Income Taxes, Domestic","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:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign","labelType":"xbrl:terseLabel","value":"Foreign operations","language":"en-US"},{"forObject":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign","labelType":"xbrl:label","value":"Income (Loss) from Continuing Operations before Income Taxes, Foreign","language":"en-US"},{"forObject":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract","labelType":"xbrl:terseLabel","value":"Income / (loss) before income taxes:","language":"en-US"},{"forObject":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract","labelType":"xbrl:label","value":"Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest [Abstract]","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:IncomeTaxAuthorityAxis","labelType":"xbrl:terseLabel","value":"Income Tax Jurisdiction [Axis]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxAuthorityAxis","labelType":"xbrl:label","value":"Income Tax Jurisdiction [Axis]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxAuthorityDomain","labelType":"xbrl:terseLabel","value":"Income Tax Jurisdiction [Domain]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxAuthorityDomain","labelType":"xbrl:label","value":"Income Tax Jurisdiction [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 (Benefit from) 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 (benefit) for income tax","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefit","labelType":"xbrl:totalLabel","value":"Total income tax expense / (benefit)","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefit","labelType":"xbrl:label","value":"Income Tax Expense (Benefit)","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract","labelType":"xbrl:terseLabel","value":"Amount","language":"en-US"},{"forObject":"us-gaap:IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract","labelType":"xbrl:label","value":"Income Tax Expense (Benefit), Effective Income Tax Rate Reconciliation, Amount [Abstract]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxPaidByIndividualJurisdictionLineItems","labelType":"xbrl:terseLabel","value":"Income Tax Paid, by Individual Jurisdiction [Line Items]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxPaidByIndividualJurisdictionLineItems","labelType":"xbrl:label","value":"Income Tax Paid, by Individual Jurisdiction [Line Items]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxPaidByIndividualJurisdictionTable","labelType":"xbrl:terseLabel","value":"Income Tax Paid, by Individual Jurisdiction [Table]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxPaidByIndividualJurisdictionTable","labelType":"xbrl:label","value":"Income Tax Paid, by Individual Jurisdiction [Table]","language":"en-US"},{"forObject":"us-gaap:IncomeTaxPaidFederalAfterRefundReceived","labelType":"xbrl:terseLabel","value":"U.S. federal","language":"en-US"},{"forObject":"us-gaap:IncomeTaxPaidFederalAfterRefundReceived","labelType":"xbrl:label","value":"Income Tax Paid, Federal, after Refund Received","language":"en-US"},{"forObject":"us-gaap:IncomeTaxPaidForeignAfterRefundReceived","labelType":"xbrl:terseLabel","value":"Foreign","language":"en-US"},{"forObject":"us-gaap:IncomeTaxPaidForeignAfterRefundReceived","labelType":"xbrl:label","value":"Income Tax Paid, Foreign, after Refund Received","language":"en-US"},{"forObject":"us-gaap:IncomeTaxPaidStateAndLocalAfterRefundReceived","labelType":"xbrl:terseLabel","value":"U.S. state and local:","language":"en-US"},{"forObject":"us-gaap:IncomeTaxPaidStateAndLocalAfterRefundReceived","labelType":"xbrl:label","value":"Income Tax Paid, State and Local, after Refund Received","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:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance","labelType":"xbrl:terseLabel","value":"Change in U.S. federal valuation allowance","language":"en-US"},{"forObject":"us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Amount","language":"en-US"},{"forObject":"us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential","labelType":"xbrl:terseLabel","value":"Statutory tax rate differences","language":"en-US"},{"forObject":"us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount","language":"en-US"},{"forObject":"us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate","labelType":"xbrl:terseLabel","value":"Expected U.S. federal statutory income tax","language":"en-US"},{"forObject":"us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount","language":"en-US"},{"forObject":"us-gaap:IncomeTaxReconciliationNondeductibleExpense","labelType":"xbrl:terseLabel","value":"Nondeductible expenses","language":"en-US"},{"forObject":"us-gaap:IncomeTaxReconciliationNondeductibleExpense","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Nondeductible Expense, Amount","language":"en-US"},{"forObject":"us-gaap:IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment","labelType":"xbrl:terseLabel","value":"Meals and entertainment","language":"en-US"},{"forObject":"us-gaap:IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Nondeductible Expense, Meals and Entertainment, Amount","language":"en-US"},{"forObject":"us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost","labelType":"xbrl:terseLabel","value":"Incentive stock compensation (deduction) / inclusion","language":"en-US"},{"forObject":"us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Nondeductible Expense, Share-Based Payment Arrangement, Amount","language":"en-US"},{"forObject":"us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes","labelType":"xbrl:terseLabel","value":"Return to provision adjustment","language":"en-US"},{"forObject":"us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Prior Year Income Taxes, Amount","language":"en-US"},{"forObject":"us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes","labelType":"xbrl:terseLabel","value":"U.S. state and local income taxes, net of federal benefit","language":"en-US"},{"forObject":"us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount","language":"en-US"},{"forObject":"us-gaap:IncomeTaxReconciliationTaxContingencies","labelType":"xbrl:terseLabel","value":"Uncertain tax position change","language":"en-US"},{"forObject":"us-gaap:IncomeTaxReconciliationTaxContingencies","labelType":"xbrl:label","value":"Effective Income Tax Rate Reconciliation, Tax Contingency, Amount","language":"en-US"},{"forObject":"us-gaap:IncomeTaxesPaidNet","labelType":"xbrl:totalLabel","value":"Total income taxes paid (net of refunds received)","language":"en-US"},{"forObject":"us-gaap:IncomeTaxesPaidNet","labelType":"xbrl:label","value":"Income Tax Paid, after Refund Received","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:label","value":"Increase (Decrease) in Accrued Liabilities","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInContractWithCustomerLiability","labelType":"xbrl:verboseLabel","value":"Deferred revenue","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInContractWithCustomerLiability","labelType":"xbrl:label","value":"Increase (Decrease) in Contract with Customer, Liability","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","labelType":"xbrl:terseLabel","value":"Operating lease liabilities","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","labelType":"xbrl:label","value":"Increase (Decrease) in Operating Lease Liability","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:IncreaseDecreaseInOtherNoncurrentAssets","labelType":"xbrl:negatedLabel","value":"Other long term assets","language":"en-US"},{"forObject":"us-gaap:IncreaseDecreaseInOtherNoncurrentAssets","labelType":"xbrl:label","value":"Increase (Decrease) in Other Noncurrent Assets","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 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:LeaseCost","labelType":"xbrl:totalLabel","value":"Total lease costs","language":"en-US"},{"forObject":"us-gaap:LeaseCost","labelType":"xbrl:label","value":"Lease, Cost","language":"en-US"},{"forObject":"us-gaap:LeaseCostTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Components of Lease Expense","language":"en-US"},{"forObject":"us-gaap:LeaseCostTableTextBlock","labelType":"xbrl:label","value":"Lease, Cost [Table Text Block]","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:LesseeFinanceLeasesTextBlock","labelType":"xbrl:terseLabel","value":"Property and Equipment","language":"en-US"},{"forObject":"us-gaap:LesseeFinanceLeasesTextBlock","labelType":"xbrl:label","value":"Lessee, Finance Leases [Text Block]","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":"Schedule of Future Operating Lease Payments","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","labelType":"xbrl:totalLabel","value":"\u00a0Total undiscounted liabilities","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","labelType":"xbrl:terseLabel","value":"Minimum lease payment obligations","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, to be Paid","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","labelType":"xbrl:verboseLabel","value":"2027","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:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","labelType":"xbrl:terseLabel","value":"2029","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":"2028","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:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","labelType":"xbrl:negatedTerseLabel","value":"Less: Imputed interest","language":"en-US"},{"forObject":"us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","labelType":"xbrl:label","value":"Lessee, Operating Lease, Liability, Undiscounted Excess Amount","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: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: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:LiabilitiesFairValueDisclosure","labelType":"xbrl:terseLabel","value":"Liabilities, fair value","language":"en-US"},{"forObject":"us-gaap:LiabilitiesFairValueDisclosure","labelType":"xbrl:label","value":"Liabilities, Fair Value Disclosure","language":"en-US"},{"forObject":"us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock","labelType":"xbrl:terseLabel","value":"Accounts Receivable, Unbilled Services and Deferred Revenue","language":"en-US"},{"forObject":"us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock","labelType":"xbrl:label","value":"Loans, Notes, Trade and Other Receivables Disclosure [Text Block]","language":"en-US"},{"forObject":"us-gaap:MinorityInterest","labelType":"xbrl:terseLabel","value":"Noncontrolling interest","language":"en-US"},{"forObject":"us-gaap:MinorityInterest","labelType":"xbrl:label","value":"Equity, Attributable to Noncontrolling Interest","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":"Cash Provided by (Used in) Financing Activity, Including Discontinued Operation","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Financing activities:","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInFinancingActivitiesAbstract","labelType":"xbrl:label","value":"Cash Provided by (Used in) Financing Activity, Including Discontinued Operation [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":"Cash Provided by (Used in) Investing Activity, Including Discontinued Operation","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Investing activities:","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInInvestingActivitiesAbstract","labelType":"xbrl:label","value":"Cash Provided by (Used in) Investing Activity, Including Discontinued Operation [Abstract]","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivities","labelType":"xbrl:totalLabel","value":"Net cash provided by (used in) operating activities","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivities","labelType":"xbrl:label","value":"Cash Provided by (Used in) Operating Activity, Including Discontinued Operation","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:verboseLabel","value":"Operating activities:","language":"en-US"},{"forObject":"us-gaap:NetCashProvidedByUsedInOperatingActivitiesAbstract","labelType":"xbrl:label","value":"Cash Provided by (Used in) Operating Activity, Including Discontinued Operation [Abstract]","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 income (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:NewAccountingPronouncementsPolicyPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Recent 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 activities:","language":"en-US"},{"forObject":"us-gaap:NoncashInvestingAndFinancingItemsAbstract","labelType":"xbrl:label","value":"Noncash Investing and Financing Items [Abstract]","language":"en-US"},{"forObject":"us-gaap:NoncontrollingInterestMember","labelType":"xbrl:terseLabel","value":"Non-Controlling Interest","language":"en-US"},{"forObject":"us-gaap:NoncontrollingInterestMember","labelType":"xbrl:label","value":"Noncontrolling Interest [Member]","language":"en-US"},{"forObject":"us-gaap:NonoperatingIncomeExpenseAbstract","labelType":"xbrl:terseLabel","value":"Other income:","language":"en-US"},{"forObject":"us-gaap:NonoperatingIncomeExpenseAbstract","labelType":"xbrl:label","value":"Nonoperating Income (Expense) [Abstract]","language":"en-US"},{"forObject":"us-gaap:NumberOfOperatingSegments","labelType":"xbrl:terseLabel","value":"Number of operating segments","language":"en-US"},{"forObject":"us-gaap:NumberOfOperatingSegments","labelType":"xbrl:label","value":"Number of Operating Segments","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: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:label","value":"Operating Income (Loss)","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseCost","labelType":"xbrl:terseLabel","value":"Operating lease costs","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseCost","labelType":"xbrl:label","value":"Operating Lease, Cost","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, to be Paid, Fiscal Year Maturity [Abstract]","language":"en-US"},{"forObject":"us-gaap:OperatingLeaseLiability","labelType":"xbrl:terseLabel","value":"Present value of minimum lease payments","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, percent","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 (in years)","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":"Operating loss carryforwards, 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:OtherLiabilitiesCurrent","labelType":"xbrl:terseLabel","value":"Other current liabilities","language":"en-US"},{"forObject":"us-gaap:OtherLiabilitiesCurrent","labelType":"xbrl:label","value":"Other Liabilities, Current","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:OtherNonoperatingIncomeExpense","labelType":"xbrl:verboseLabel","value":"Other income, net","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:PerformanceSharesMember","labelType":"xbrl:terseLabel","value":"Performance Shares","language":"en-US"},{"forObject":"us-gaap:PerformanceSharesMember","labelType":"xbrl:label","value":"Performance Shares [Member]","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:PriorPeriodReclassificationAdjustmentDescription","labelType":"xbrl:terseLabel","value":"Reclassifications","language":"en-US"},{"forObject":"us-gaap:PriorPeriodReclassificationAdjustmentDescription","labelType":"xbrl:label","value":"Reclassification, Comparability Adjustment [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:ProceedsFromSaleOfMachineryAndEquipment","labelType":"xbrl:terseLabel","value":"Proceeds from sale of equipment","language":"en-US"},{"forObject":"us-gaap:ProceedsFromSaleOfMachineryAndEquipment","labelType":"xbrl:label","value":"Proceeds from Sale of Machinery and Equipment","language":"en-US"},{"forObject":"us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment","labelType":"xbrl:terseLabel","value":"Proceeds from sale of property and equipment","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:ProceedsFromStockOptionsExercised","labelType":"xbrl:terseLabel","value":"Proceeds from exercise of options","language":"en-US"},{"forObject":"us-gaap:ProceedsFromStockOptionsExercised","labelType":"xbrl:label","value":"Proceeds from Stock Options Exercised","language":"en-US"},{"forObject":"us-gaap:ProductAndServiceOtherMember","labelType":"xbrl:terseLabel","value":"Other TOS revenue","language":"en-US"},{"forObject":"us-gaap:ProductAndServiceOtherMember","labelType":"xbrl:label","value":"Product and Service, Other [Member]","language":"en-US"},{"forObject":"us-gaap:ProfitLoss","labelType":"xbrl:totalLabel","value":"Net income (loss)","language":"en-US"},{"forObject":"us-gaap:ProfitLoss","labelType":"xbrl:netLabel","value":"Net income (loss)","language":"en-US"},{"forObject":"us-gaap:ProfitLoss","labelType":"xbrl:terseLabel","value":"Net income (loss) attributable to common stockholders","language":"en-US"},{"forObject":"us-gaap:ProfitLoss","labelType":"xbrl:label","value":"Net Income (Loss), Including Portion Attributable to Noncontrolling Interest","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:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","labelType":"xbrl:verboseLabel","value":"Property and equipment, net","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","labelType":"xbrl:totalLabel","value":"Property and equipment, net","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","labelType":"xbrl:label","value":"Property, Plant, and Equipment and Finance Lease Right-of-Use Asset, after Accumulated Depreciation and Amortization","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 Asset, Class [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 [Text Block]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentDisposals","labelType":"xbrl:terseLabel","value":"Disposed of lab equipment","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentDisposals","labelType":"xbrl:label","value":"Property, Plant, and Equipment, before Accumulated Depreciation, Disposition","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentGross","labelType":"xbrl:terseLabel","value":"Total property and equipment","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentGross","labelType":"xbrl:label","value":"Property, Plant, and Equipment, before Accumulated Depreciation, Depletion, and Amortization","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:PropertyPlantAndEquipmentPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Property and Equipment","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentPolicyTextBlock","labelType":"xbrl:label","value":"Property, Plant, and Equipment [Policy Text Block]","language":"en-US"},{"forObject":"us-gaap:PropertyPlantAndEquipmentTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of 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 Asset, Class [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 and estimated credit losses","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":"Unrecognized Tax Benefits [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: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:negatedTerseLabel","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:terseLabel","value":"Oncology revenue","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","labelType":"xbrl:verboseLabel","value":"Revenue","language":"en-US"},{"forObject":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","labelType":"xbrl:netLabel","value":"Total oncology 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":"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:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","labelType":"xbrl:terseLabel","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]","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:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","labelType":"xbrl:terseLabel","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]","language":"en-US"},{"forObject":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","labelType":"xbrl:label","value":"Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]","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:SalesRevenueNetMember","labelType":"xbrl:terseLabel","value":"Revenue","language":"en-US"},{"forObject":"us-gaap:SalesRevenueNetMember","labelType":"xbrl:label","value":"Revenue Benchmark [Member]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Accounts Receivable and Unbilled Services","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 Potentially Dilutive Stock-based Instruments","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:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Income Taxes Paid (Net of Refunds Received)","language":"en-US"},{"forObject":"us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock","labelType":"xbrl:label","value":"Schedule of Cash Flow, Supplemental Disclosures [Table Text Block]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Components of Provision (Benefit) for Income Taxes","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 Allocation of Share Based Compensation Expense","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:ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable","labelType":"xbrl:terseLabel","value":"Segment Reporting, Entity-Wide Information Not Provided as Part of Reportable Segment, Customer, Extent of Reliance [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable","labelType":"xbrl:label","value":"Segment Reporting, Entity-Wide Information Not Provided as Part of Reportable Segment, Customer, Extent of Reliance [Table]","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":"Related Party Transaction [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 Option 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 Valuation Assumptions for Stock Options","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":"Stock, Class of Stock [Table]","language":"en-US"},{"forObject":"us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock","labelType":"xbrl:terseLabel","value":"Schedule of Change in Uncertain Tax Positions","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:SegmentReportingPolicyPolicyTextBlock","labelType":"xbrl:terseLabel","value":"Segment Reporting","language":"en-US"},{"forObject":"us-gaap:SegmentReportingPolicyPolicyTextBlock","labelType":"xbrl:label","value":"Segment Reporting, Policy [Policy 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: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:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","labelType":"xbrl:terseLabel","value":"Vesting period","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period","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:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","labelType":"xbrl:terseLabel","value":"Volatility (in percent)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","labelType":"xbrl:verboseLabel","value":"Volatility rate maximum (in percent)","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 rate minimum (in percent)","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:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","labelType":"xbrl:terseLabel","value":"Risk-free interest rates (in percent)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","labelType":"xbrl:verboseLabel","value":"Risk-free interest rates maximum (in percent)","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 (in percent)","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:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","labelType":"xbrl:terseLabel","value":"Number of shares available for grant (in shares)","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","labelType":"xbrl:terseLabel","value":"Exercisable (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, Exercisable (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:terseLabel","value":"Forfeited (in shares)","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:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","labelType":"xbrl:terseLabel","value":"Shares granted (in shares)","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:terseLabel","value":"Options granted outstanding (in shares)","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:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","labelType":"xbrl:terseLabel","value":"All Award Types","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","labelType":"xbrl:label","value":"Award Type [Domain]","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:ShareBasedCompensationAwardTrancheOneMember","labelType":"xbrl:terseLabel","value":"Share-Based Payment Arrangement, Tranche One","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationAwardTrancheOneMember","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Tranche One [Member]","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember","labelType":"xbrl:terseLabel","value":"Share-Based Payment Arrangement, Tranche Two","language":"en-US"},{"forObject":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Tranche Two [Member]","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:ShareBasedPaymentArrangementEmployeeMember","labelType":"xbrl:terseLabel","value":"Directors and Employees","language":"en-US"},{"forObject":"us-gaap:ShareBasedPaymentArrangementEmployeeMember","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Employee [Member]","language":"en-US"},{"forObject":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember","labelType":"xbrl:terseLabel","value":"Non- Employees","language":"en-US"},{"forObject":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember","labelType":"xbrl:label","value":"Share-Based Payment Arrangement, Nonemployee [Member]","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","labelType":"xbrl:terseLabel","value":"Vesting percentage","language":"en-US"},{"forObject":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","labelType":"xbrl:label","value":"Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Rights, Percentage","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, Exercisable","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), Exercisable","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: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:SoftwareDevelopmentMember","labelType":"xbrl:terseLabel","value":"Capitalized software development costs","language":"en-US"},{"forObject":"us-gaap:SoftwareDevelopmentMember","labelType":"xbrl:label","value":"Software, Internally Developed [Member]","language":"en-US"},{"forObject":"us-gaap:StateAndLocalJurisdictionMember","labelType":"xbrl:terseLabel","value":"State and Local","language":"en-US"},{"forObject":"us-gaap:StateAndLocalJurisdictionMember","labelType":"xbrl:label","value":"Income Tax Jurisdiction, Domestic State and Local [Member]","language":"en-US"},{"forObject":"us-gaap:StatementClassOfStockAxis","labelType":"xbrl:terseLabel","value":"Class of Stock [Axis]","language":"en-US"},{"forObject":"us-gaap:StatementClassOfStockAxis","labelType":"xbrl:label","value":"Class of Stock [Axis]","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:StatementOfIncomeLocationBalanceAxis","labelType":"xbrl:terseLabel","value":"Income Statement Location [Axis]","language":"en-US"},{"forObject":"us-gaap:StatementOfIncomeLocationBalanceAxis","labelType":"xbrl:label","value":"Location, Statement of Income, Balance [Axis]","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:StockAppreciationRightsSARSMember","labelType":"xbrl:terseLabel","value":"Stock Appreciation Rights (SARs)","language":"en-US"},{"forObject":"us-gaap:StockAppreciationRightsSARSMember","labelType":"xbrl:label","value":"Stock Appreciation Rights (SARs) [Member]","language":"en-US"},{"forObject":"us-gaap:StockIssuedDuringPeriodSharesOther","labelType":"xbrl:verboseLabel","value":"Issuance of common stock on exercise of stock options (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:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1","labelType":"xbrl:terseLabel","value":"Remaining repurchase amount","language":"en-US"},{"forObject":"us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1","labelType":"xbrl:label","value":"Share Repurchase Program, Remaining Authorized, Amount","language":"en-US"},{"forObject":"us-gaap:StockholdersEquity","labelType":"xbrl:totalLabel","value":"Total stockholders\u2019 equity attributable to Champions Oncology, Inc.","language":"en-US"},{"forObject":"us-gaap:StockholdersEquity","labelType":"xbrl:label","value":"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":"Equity, Attributable to Parent [Abstract]","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","labelType":"xbrl:totalLabel","value":"Total stockholders' equity","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","labelType":"xbrl:periodStartLabel","value":"Beginning balance","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","labelType":"xbrl:periodEndLabel","value":"Ending balance","language":"en-US"},{"forObject":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","labelType":"xbrl:label","value":"Equity, Including Portion Attributable to Noncontrolling Interest","language":"en-US"},{"forObject":"us-gaap:SubsequentEventLineItems","labelType":"xbrl:terseLabel","value":"Subsequent Event [Line Items]","language":"en-US"},{"forObject":"us-gaap:SubsequentEventLineItems","labelType":"xbrl:label","value":"Subsequent Event [Line Items]","language":"en-US"},{"forObject":"us-gaap:SubsequentEventMember","labelType":"xbrl:terseLabel","value":"Subsequent Event","language":"en-US"},{"forObject":"us-gaap:SubsequentEventMember","labelType":"xbrl:label","value":"Subsequent Event [Member]","language":"en-US"},{"forObject":"us-gaap:SubsequentEventTable","labelType":"xbrl:terseLabel","value":"Subsequent Event [Table]","language":"en-US"},{"forObject":"us-gaap:SubsequentEventTable","labelType":"xbrl:label","value":"Subsequent Event [Table]","language":"en-US"},{"forObject":"us-gaap:SubsequentEventTypeAxis","labelType":"xbrl:terseLabel","value":"Subsequent Event Type [Axis]","language":"en-US"},{"forObject":"us-gaap:SubsequentEventTypeAxis","labelType":"xbrl:label","value":"Subsequent Event Type [Axis]","language":"en-US"},{"forObject":"us-gaap:SubsequentEventTypeDomain","labelType":"xbrl:terseLabel","value":"Subsequent Event Type [Domain]","language":"en-US"},{"forObject":"us-gaap:SubsequentEventTypeDomain","labelType":"xbrl:label","value":"Subsequent Event Type [Domain]","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:TaxAdjustmentsSettlementsAndUnusualProvisions","labelType":"xbrl:verboseLabel","value":"Reversal of uncertain tax liability","language":"en-US"},{"forObject":"us-gaap:TaxAdjustmentsSettlementsAndUnusualProvisions","labelType":"xbrl:label","value":"Tax Adjustments, Settlements, and Unusual Provisions","language":"en-US"},{"forObject":"us-gaap:TaxCreditCarryforwardLineItems","labelType":"xbrl:terseLabel","value":"Tax Credit Carryforward [Line Items]","language":"en-US"},{"forObject":"us-gaap:TaxCreditCarryforwardLineItems","labelType":"xbrl:label","value":"Tax Credit Carryforward [Line Items]","language":"en-US"},{"forObject":"us-gaap:TaxCreditCarryforwardTable","labelType":"xbrl:terseLabel","value":"Tax Credit Carryforward [Table]","language":"en-US"},{"forObject":"us-gaap:TaxCreditCarryforwardTable","labelType":"xbrl:label","value":"Tax Credit Carryforward [Table]","language":"en-US"},{"forObject":"us-gaap:TaxJurisdictionOfDomicileExtensibleEnumeration","labelType":"xbrl:terseLabel","value":"Tax Jurisdiction of Domicile [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:TaxJurisdictionOfDomicileExtensibleEnumeration","labelType":"xbrl:label","value":"Tax Jurisdiction of Domicile [Extensible Enumeration]","language":"en-US"},{"forObject":"us-gaap:TreasuryStockAcquiredAverageCostPerShare","labelType":"xbrl:terseLabel","value":"Treasury stock average price (in dollars per share)","language":"en-US"},{"forObject":"us-gaap:TreasuryStockAcquiredAverageCostPerShare","labelType":"xbrl:label","value":"Shares Acquired, Average Cost Per Share","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonMember","labelType":"xbrl:terseLabel","value":"Treasury Stock","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonMember","labelType":"xbrl:label","value":"Treasury Stock, Common [Member]","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonShares","labelType":"xbrl:periodStartLabel","value":"Beginning balance (in shares)","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonShares","labelType":"xbrl:periodEndLabel","value":"Ending balance (in shares)","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonShares","labelType":"xbrl:label","value":"Treasury Stock, Common, Shares","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonValue","labelType":"xbrl:negatedTerseLabel","value":"Treasury Stock, at cost","language":"en-US"},{"forObject":"us-gaap:TreasuryStockCommonValue","labelType":"xbrl:label","value":"Treasury Stock, Common, Value","language":"en-US"},{"forObject":"us-gaap:TreasuryStockSharesAcquired","labelType":"xbrl:terseLabel","value":"Treasury stock (in shares)","language":"en-US"},{"forObject":"us-gaap:TreasuryStockSharesAcquired","labelType":"xbrl:label","value":"Treasury Stock, Shares, Acquired","language":"en-US"},{"forObject":"us-gaap:TreasuryStockValueAcquiredCostMethod","labelType":"xbrl:terseLabel","value":"Treasury stock approximate value","language":"en-US"},{"forObject":"us-gaap:TreasuryStockValueAcquiredCostMethod","labelType":"xbrl:label","value":"Treasury Stock, Value, Acquired, Cost Method","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 at beginning of year","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefits","labelType":"xbrl:periodEndLabel","value":"Balance at end of year","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefits","labelType":"xbrl:label","value":"Unrecognized Tax Benefits","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions","labelType":"xbrl:negatedTerseLabel","value":"Reductions for tax positions of prior years","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions","labelType":"xbrl:label","value":"Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","labelType":"xbrl:verboseLabel","value":"Additions based on tax positions related to the 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:terseLabel","value":"Additions for tax positions of 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:UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities","labelType":"xbrl:verboseLabel","value":"Settlements","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities","labelType":"xbrl:label","value":"Unrecognized Tax Benefits, Increase Resulting from Settlements with Taxing Authorities","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations","labelType":"xbrl:negatedLabel","value":"Reductions due to lapse of statute of limitations","language":"en-US"},{"forObject":"us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations","labelType":"xbrl:label","value":"Unrecognized Tax Benefits, Reduction Resulting from Lapse of Applicable Statute of Limitations","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:ValuationAllowanceDeferredTaxAssetChangeInAmount","labelType":"xbrl:terseLabel","value":"Deferred tax assets, valuation allowance, increase (decrease)","language":"en-US"},{"forObject":"us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount","labelType":"xbrl:label","value":"Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount","language":"en-US"},{"forObject":"us-gaap:VestingAxis","labelType":"xbrl:terseLabel","value":"Vesting [Axis]","language":"en-US"},{"forObject":"us-gaap:VestingAxis","labelType":"xbrl:label","value":"Vesting [Axis]","language":"en-US"},{"forObject":"us-gaap:VestingDomain","labelType":"xbrl:terseLabel","value":"Vesting [Domain]","language":"en-US"},{"forObject":"us-gaap:VestingDomain","labelType":"xbrl:label","value":"Vesting [Domain]","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","labelType":"xbrl:verboseLabel","value":"diluted (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","labelType":"xbrl:terseLabel","value":"Adjusted weighted average share \u2013 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:WeightedAverageNumberOfSharesOutstandingAbstract","labelType":"xbrl:terseLabel","value":"Weighted average common shares outstanding","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfSharesOutstandingAbstract","labelType":"xbrl:label","value":"Weighted Average Number of Shares Outstanding, Diluted [Abstract]","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","labelType":"xbrl:terseLabel","value":"basic (in shares)","language":"en-US"},{"forObject":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","labelType":"xbrl:verboseLabel","value":"Weighted Average common shares, basic (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":"9952158 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue","language":"en-US"},{"forObject":"rpt:group-1","labelType":"xbrl:label","value":"9955522 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue - Schedule of Accounts Receivable and Unbilled Services (Details)","language":"en-US"},{"forObject":"rpt:group-2","labelType":"xbrl:label","value":"9955523 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue - Schedule of Allowances for Doubtful Accounts and Estimated Credit Losses (Details)(Details)","language":"en-US"},{"forObject":"rpt:group-3","labelType":"xbrl:label","value":"9955524 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue - Schedule of Deferred Revenue (Details)","language":"en-US"},{"forObject":"rpt:group-4","labelType":"xbrl:label","value":"9955512 - Disclosure - Accounts Receivable, Unbilled Services and Deferred Revenue (Tables)","language":"en-US"},{"forObject":"rpt:group-5","labelType":"xbrl:label","value":"0000002 - Document - Audit Information","language":"en-US"},{"forObject":"rpt:group-6","labelType":"xbrl:label","value":"9952151 - Statement - CONSOLIDATED BALANCE SHEETS","language":"en-US"},{"forObject":"rpt:group-7","labelType":"xbrl:label","value":"9952152 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)","language":"en-US"},{"forObject":"rpt:group-8","labelType":"xbrl:label","value":"9952155 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS","language":"en-US"},{"forObject":"rpt:group-9","labelType":"xbrl:label","value":"9952154 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN STOCKHOLDERS\u2019 EQUITY","language":"en-US"},{"forObject":"rpt:group-10","labelType":"xbrl:label","value":"9952153 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS","language":"en-US"},{"forObject":"rpt:group-11","labelType":"xbrl:label","value":"9952162 - Disclosure - Commitments and Contingencies","language":"en-US"},{"forObject":"rpt:group-12","labelType":"xbrl:label","value":"9955531 - Disclosure - Commitments and Contingencies (Details)","language":"en-US"},{"forObject":"rpt:group-13","labelType":"xbrl:label","value":"0000001 - Document - Cover","language":"en-US"},{"forObject":"rpt:group-14","labelType":"xbrl:label","value":"9952165 - Disclosure - Earnings Per Share","language":"en-US"},{"forObject":"rpt:group-15","labelType":"xbrl:label","value":"9955542 - Disclosure - Earnings Per Share - Schedule of Earnings Per Share, Basic and Diluted (Details)","language":"en-US"},{"forObject":"rpt:group-16","labelType":"xbrl:label","value":"9955543 - Disclosure - Earnings Per Share - Schedule of Potentially Dilutive Stock-based Instruments (Details)","language":"en-US"},{"forObject":"rpt:group-17","labelType":"xbrl:label","value":"9955517 - Disclosure - Earnings Per Share (Tables)","language":"en-US"},{"forObject":"rpt:group-18","labelType":"xbrl:label","value":"9952167 - Disclosure - Leases","language":"en-US"},{"forObject":"rpt:group-19","labelType":"xbrl:label","value":"9955545 - Disclosure - Leases - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-20","labelType":"xbrl:label","value":"9955547 - Disclosure - Leases - Schedule of Future Minimum Lease Payments (Details)","language":"en-US"},{"forObject":"rpt:group-21","labelType":"xbrl:label","value":"9955548 - Disclosure - Leases - Schedule of Lease Costs (Details)","language":"en-US"},{"forObject":"rpt:group-22","labelType":"xbrl:label","value":"9955546 - Disclosure - Leases - Schedule of ROU Assets and Lease Liabilities (Details)","language":"en-US"},{"forObject":"rpt:group-23","labelType":"xbrl:label","value":"9955518 - Disclosure - Leases (Tables)","language":"en-US"},{"forObject":"rpt:group-24","labelType":"xbrl:label","value":"9952156 - Disclosure - Organization and Basis of Presentation","language":"en-US"},{"forObject":"rpt:group-25","labelType":"xbrl:label","value":"9955519 - Disclosure - Organization and Basis of Presentation (Details)","language":"en-US"},{"forObject":"rpt:group-26","labelType":"xbrl:label","value":"9952159 - Disclosure - Property and Equipment","language":"en-US"},{"forObject":"rpt:group-27","labelType":"xbrl:label","value":"9955526 - Disclosure - Property and Equipment - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-28","labelType":"xbrl:label","value":"9955527 - Disclosure - Property and Equipment - Schedule of Financing Lease Assets and Lease Liabilities (Details)","language":"en-US"},{"forObject":"rpt:group-29","labelType":"xbrl:label","value":"9955528 - Disclosure - Property and Equipment - Schedule of Future Minimum Lease Payments (Details)","language":"en-US"},{"forObject":"rpt:group-30","labelType":"xbrl:label","value":"9955525 - Disclosure - Property and Equipment - Schedule of Property and Equipment (Details)","language":"en-US"},{"forObject":"rpt:group-31","labelType":"xbrl:label","value":"9955513 - Disclosure - Property and Equipment (Tables)","language":"en-US"},{"forObject":"rpt:group-32","labelType":"xbrl:label","value":"9952164 - Disclosure - Provision for (Benefit from) Income Taxes","language":"en-US"},{"forObject":"rpt:group-33","labelType":"xbrl:label","value":"9955540 - Disclosure - Provision for (Benefit from) Income Taxes - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-34","labelType":"xbrl:label","value":"9955541 - Disclosure - Provision for (Benefit from) Income Taxes - Schedule of Change in Uncertain Tax Positions (Details)","language":"en-US"},{"forObject":"rpt:group-35","labelType":"xbrl:label","value":"9955539 - Disclosure - Provision for (Benefit from) Income Taxes - Schedule of Components of Deferred Tax Assets and Liabilities (Details)","language":"en-US"},{"forObject":"rpt:group-36","labelType":"xbrl:label","value":"9955536 - Disclosure - Provision for (Benefit from) Income Taxes - Schedule of Components of Provision (Benefit) for Income Taxes (Details)","language":"en-US"},{"forObject":"rpt:group-37","labelType":"xbrl:label","value":"9955537 - Disclosure - Provision for (Benefit from) Income Taxes - Schedule of Income Taxes Paid (Net of Refunds Received) (Details)","language":"en-US"},{"forObject":"rpt:group-38","labelType":"xbrl:label","value":"9955538 - Disclosure - Provision for (Benefit from) Income Taxes - Schedule of Reconciliation of Effective Tax Rate (Details)","language":"en-US"},{"forObject":"rpt:group-39","labelType":"xbrl:label","value":"9955516 - Disclosure - Provision for (Benefit from) Income Taxes (Tables)","language":"en-US"},{"forObject":"rpt:group-40","labelType":"xbrl:label","value":"9952166 - Disclosure - Related Party Transactions","language":"en-US"},{"forObject":"rpt:group-41","labelType":"xbrl:label","value":"9955544 - Disclosure - Related Party Transactions (Details)","language":"en-US"},{"forObject":"rpt:group-42","labelType":"xbrl:label","value":"9952160 - Disclosure - Revenue from Contracts with Customers","language":"en-US"},{"forObject":"rpt:group-43","labelType":"xbrl:label","value":"9955529 - Disclosure - Revenue from Contracts with Customers (Details)","language":"en-US"},{"forObject":"rpt:group-44","labelType":"xbrl:label","value":"9955514 - Disclosure - Revenue from Contracts with Customers (Tables)","language":"en-US"},{"forObject":"rpt:group-45","labelType":"xbrl:label","value":"9955533 - Disclosure - Share-Based Payments - Schedule of Allocation of Share Based Compensation Expense (Details)","language":"en-US"},{"forObject":"rpt:group-46","labelType":"xbrl:label","value":"9955534 - Disclosure - Share-Based Payments - Schedule of Valuation Assumptions for Stock Options (Details)","language":"en-US"},{"forObject":"rpt:group-47","labelType":"xbrl:label","value":"9952161 - Disclosure - Significant Customers","language":"en-US"},{"forObject":"rpt:group-48","labelType":"xbrl:label","value":"9955530 - Disclosure - Significant Customers (Details)","language":"en-US"},{"forObject":"rpt:group-49","labelType":"xbrl:label","value":"9952163 - Disclosure - Stock-based Payments","language":"en-US"},{"forObject":"rpt:group-50","labelType":"xbrl:label","value":"9955532 - Disclosure - Stock-based Payments - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-51","labelType":"xbrl:label","value":"9955535 - Disclosure - Stock-based Payments - Schedule of Stock Option Activity (Details)","language":"en-US"},{"forObject":"rpt:group-52","labelType":"xbrl:label","value":"9955515 - Disclosure - Stock-based Payments (Tables)","language":"en-US"},{"forObject":"rpt:group-53","labelType":"xbrl:label","value":"9952168 - Disclosure - Subsequent Events","language":"en-US"},{"forObject":"rpt:group-54","labelType":"xbrl:label","value":"9955549 - Disclosure - Subsequent Events (Details)","language":"en-US"},{"forObject":"rpt:group-55","labelType":"xbrl:label","value":"9952157 - Disclosure - Summary of Significant Accounting Policies","language":"en-US"},{"forObject":"rpt:group-56","labelType":"xbrl:label","value":"9955520 - Disclosure - Summary of Significant Accounting Policies - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-57","labelType":"xbrl:label","value":"9955511 - Disclosure - Summary of Significant Accounting Policies (Policies)","language":"en-US"},{"forObject":"rpt:group-58","labelType":"xbrl:label","value":"9955521 - Disclosure - Summary of Significant Accounting Policies - Revenue Recognition (Details)","language":"en-US"},{"forObject":"rpt:group-59","labelType":"xbrl:label","value":"995550 - Disclosure - Cybersecurity Risk Management and Strategy Disclosure","language":"en-US"},{"forObject":"rpt:group-60","labelType":"xbrl:label","value":"995443 - Disclosure - Award Timing Disclosure","language":"en-US"},{"forObject":"rpt:group-61","labelType":"xbrl:label","value":"995440 - Disclosure - Recovery of Erroneously Awarded Compensation","language":"en-US"},{"forObject":"rpt:group-62","labelType":"xbrl:label","value":"995445 - Disclosure - Insider Trading Arrangements","language":"en-US"},{"forObject":"rpt:group-63","labelType":"xbrl:label","value":"995447 - Disclosure - Insider Trading Policies and Procedures","language":"en-US"},{"forObject":"rpt:group-64","labelType":"xbrl:label","value":"995410 - Disclosure - Pay vs Performance Disclosure","language":"en-US"},{"forObject":"rpt:group-65","labelType":"xbrl:label","value":"9955547 - Disclosure - Leases - Schedule of Future Minimum Lease Payments (Details)","language":"en-US"},{"forObject":"rpt:group-66","labelType":"xbrl:label","value":"9955528 - Disclosure - Property and Equipment - Schedule of Future Minimum Lease Payments (Details)","language":"en-US"},{"forObject":"rpt:group-67","labelType":"xbrl:label","value":"9955533 - Disclosure - Share-Based Payments - Schedule of Allocation of Share Based Compensation Expense (Details)","language":"en-US"},{"forObject":"rpt:group-68","labelType":"xbrl:label","value":"9955532 - Disclosure - Stock-based Payments - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-69","labelType":"xbrl:label","value":"9955520 - Disclosure - Summary of Significant Accounting Policies - Narrative (Details)","language":"en-US"},{"forObject":"rpt:group-70","labelType":"xbrl:label","value":"9955521 - Disclosure - Summary of Significant Accounting Policies - Revenue Recognition (Details)","language":"en-US"},{"forObject":"rpt:group-71","labelType":"xbrl:label","value":"995444 - Document - Awards Close To MNPI Disclosures","language":"en-US"},{"forObject":"rpt:group-72","labelType":"xbrl:label","value":"995441 - Document - Forgone Recoveries, by Individual","language":"en-US"},{"forObject":"rpt:group-73","labelType":"xbrl:label","value":"995446 - Document - Insider Trading Arrangements, by Individual","language":"en-US"},{"forObject":"rpt:group-74","labelType":"xbrl:label","value":"995442 - Document - Outstanding Recoveries","language":"en-US"},{"forObject":"rpt:group-75","labelType":"xbrl:label","value":"995413 - Disclosure - Adjustments to Compensation","language":"en-US"},{"forObject":"rpt:group-76","labelType":"xbrl:label","value":"995411 - Disclosure - Pay vs Performance Disclosure, with Additional Measures","language":"en-US"},{"forObject":"rpt:group-77","labelType":"xbrl:label","value":"995424 - Disclosure - Measures","language":"en-US"},{"forObject":"rpt:group-78","labelType":"xbrl:label","value":"995412 - Document - Pay vs Performance Table","language":"en-US"},{"forObject":"rpt:group-79","labelType":"xbrl:label","value":"995415 - Disclosure - Tabular List Measures","language":"en-US"},{"forObject":"rpt:group-80","labelType":"xbrl:label","value":"995414 - Disclosure - Tabular Lists by Executive Category","language":"en-US"}],"networks":[{"name":"rpt:network-presentation-46","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-47","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:AccountsReceivableGross","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:AccountsReceivableGrossCurrent","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-48","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","target":"us-gaap:AllowanceForDoubtfulAccountsReceivable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","target":"csbr:AccountsReceivableAllowanceForCreditLossProvisionForCreditLossesAndBadDebt","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","target":"csbr:AccountsReceivableAllowanceForCreditLossReversalOfProvisionForCreditLossesAndBadDebt","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","target":"csbr:AccountsReceivableAllowanceForCreditLossReversalForAmountsSubsequentlyCollected","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","target":"us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:AllowanceForDoubtfulAccountsReceivableRollforward","target":"us-gaap:AllowanceForDoubtfulAccountsReceivable","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-49","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ReceivablesAbstract","order":1.0},{"source":"us-gaap:ReceivablesAbstract","target":"csbr:ContractWithCustomerLiabilityRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:ContractWithCustomerLiabilityRollForward","target":"us-gaap:ContractWithCustomerLiability","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"csbr:ContractWithCustomerLiabilityRollForward","target":"csbr:ContractWithCustomerLiabilityAdditions","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:ContractWithCustomerLiabilityRollForward","target":"csbr:ContractWithCustomerLiabilityRevenueRecognizedIncludingOpeningBalance","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"csbr:ContractWithCustomerLiabilityRollForward","target":"us-gaap:ContractWithCustomerLiability","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-50","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:AccountsReceivableAllowanceForCreditLossTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReceivablesAbstract","target":"us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-51","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"csbr:AuditorInformationAbstract","order":1.0},{"source":"csbr:AuditorInformationAbstract","target":"dei:AuditorFirmId","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:AuditorInformationAbstract","target":"dei:AuditorName","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:AuditorInformationAbstract","target":"dei:AuditorLocation","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-52","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:TreasuryStockCommonValue","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"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:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","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:AdditionalPaidInCapitalCommonStock","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:OtherLiabilitiesCurrent","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:RetainedEarningsAccumulatedDeficit","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"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:StockholdersEquityAbstract","target":"us-gaap:StockholdersEquity","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"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:MinorityInterest","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquityAbstract","target":"us-gaap:LiabilitiesAndStockholdersEquity","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-53","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-54","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:ProfitLoss","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:netLabel"}]},{"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":"us-gaap:ProceedsFromStockOptionsExercised","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NoncashInvestingAndFinancingItemsAbstract","target":"us-gaap:CapitalExpendituresIncurredButNotYetPaid","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":"us-gaap:ProceedsFromSaleOfMachineryAndEquipment","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:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInOtherNoncurrentAssets","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"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:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract","target":"csbr:IncreaseDecreaseInUncertainTaxPosition","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInAccountsPayable","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":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInAccruedLiabilities","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"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:negatedLabel"}]},{"source":"us-gaap:IncreaseDecreaseInOperatingLiabilitiesAbstract","target":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","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:IncreaseDecreaseInContractWithCustomerLiability","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-55","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":"us-gaap:StatementLineItems","target":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:CommonStockSharesOutstanding","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:TreasuryStockCommonMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementTable","target":"us-gaap:StatementLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:TreasuryStockCommonShares","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:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:NoncontrollingInterestMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:EquityComponentDomain","target":"us-gaap:RetainedEarningsMember","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockIssuedDuringPeriodSharesOther","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockIssuedDuringPeriodValueOther","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:ProfitLoss","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:netLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:CommonStockSharesOutstanding","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:TreasuryStockCommonShares","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:IncreaseDecreaseInStockholdersEquityRollForward","target":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-56","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeStatementAbstract","order":1.0},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:TypeOfRevenueExtensibleList","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NonoperatingIncomeExpenseAbstract","target":"us-gaap:OtherNonoperatingIncomeExpense","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:EarningsPerShareBasic","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:WeightedAverageNumberOfSharesOutstandingAbstract","target":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:CostOfGoodsAndServicesSold","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:EarningsPerShareAbstract","target":"us-gaap:EarningsPerShareDiluted","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:WeightedAverageNumberOfSharesOutstandingAbstract","target":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:OperatingExpensesAbstract","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:ResearchAndDevelopmentExpense","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:SellingAndMarketingExpense","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:OperatingIncomeLoss","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:GeneralAndAdministrativeExpense","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:NonoperatingIncomeExpenseAbstract","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:OperatingExpensesAbstract","target":"us-gaap:OperatingCostsAndExpenses","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:IncomeTaxExpenseBenefit","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:ProfitLoss","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:EarningsPerShareAbstract","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeStatementAbstract","target":"us-gaap:WeightedAverageNumberOfSharesOutstandingAbstract","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-57","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-58","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-59","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:EntityAddressAddressLine2","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityAddressPostalZipCode","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityAddressCityOrTown","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityAddressStateOrProvince","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:CityAreaCode","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:LocalPhoneNumber","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:Security12bTitle","order":17.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:TradingSymbol","order":18.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:SecurityExchangeName","order":19.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityWellKnownSeasonedIssuer","order":20.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityVoluntaryFilers","order":21.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityCurrentReportingStatus","order":22.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityInteractiveDataCurrent","order":23.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityFilerCategory","order":24.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntitySmallBusiness","order":25.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityEmergingGrowthCompany","order":26.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:IcfrAuditorAttestationFlag","order":27.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentFinStmtErrorCorrectionFlag","order":28.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityShellCompany","order":29.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityPublicFloat","order":30.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityCommonStockSharesOutstanding","order":31.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentsIncorporatedByReferenceTextBlock","order":32.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:EntityCentralIndexKey","order":33.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:AmendmentFlag","order":34.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentFiscalPeriodFocus","order":35.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"dei:CoverAbstract","target":"dei:DocumentFiscalYearFocus","order":36.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-60","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-61","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:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","target":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","target":"us-gaap:EarningsPerShareBasic","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","target":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","target":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","target":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:NetIncomeLossAvailableToCommonStockholdersBasicAbstract","target":"us-gaap:EarningsPerShareDiluted","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:netLabel"}]}]},{"name":"rpt:network-presentation-62","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-63","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-64","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-65","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":"csbr:OperatingLeaseRightOfUseAssetIncreaseDecrease","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"srt:RealEstateAndAccumulatedDepreciationNameOfPropertyDomain","target":"csbr:MilanItalyMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityCurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityNoncurrent","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:GainLossOnTerminationOfLease","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LesseeLeaseDescriptionLineItems","target":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-66","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":"csbr:LesseeOperatingLeaseLiabilityToBePaidAfterYearThree","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:OperatingLeaseLiabilitiesPaymentsDueAbstract","target":"us-gaap:OperatingLeaseLiability","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-67","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeasesAbstract","order":1.0},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:OperatingLeaseCost","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:FinanceLeaseInterestExpense","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:LeaseCost","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-68","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-69","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"}]},{"source":"us-gaap:LeasesAbstract","target":"us-gaap:LeaseCostTableTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-70","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-71","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","order":1.0},{"source":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract","target":"us-gaap:DisaggregationOfRevenueTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueTable","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:OperatingSubsidiariesMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"csbr:NumberofOperatingSubsidiaries","order":1.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":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:DisaggregationOfRevenueLineItems","target":"us-gaap:NumberOfReportableSegments","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-72","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"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:LesseeFinanceLeasesTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-73","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:EquipmentMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:FinanceLeaseAxis","target":"csbr:FinanceLeaseDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:FinanceLeaseDomain","target":"csbr:A2022FinanceLeaseMember","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:ScheduleOfPropertyPlantAndEquipmentTable","target":"csbr:FinanceLeaseAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:FinanceLeaseDomain","target":"csbr:A2023FinanceLeaseMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:DepreciationAndAmortizationExcludingFinanceLeases","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentLineItems","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:PropertyPlantAndEquipmentLineItems","target":"csbr:FinanceLeaseDepreciationAndAmortizationExpenses","order":4.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:ProceedsFromSaleOfPropertyPlantAndEquipment","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:FinanceLeaseCost","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:PresentValueMinimumFutureObligationsInterestRate","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:FinanceLeaseInterestPaymentOnLiability","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-74","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAbstract","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseRightOfUseAsset","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiabilityCurrent","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiabilityNoncurrent","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-75","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAbstract","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"csbr:FinanceLeaseLiabilityToBePaidAfterYearTwo","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiabilityPaymentsDue","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiability","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-76","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":"csbr:LaboratoryEquipmentMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"us-gaap:SoftwareDevelopmentMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentTypeDomain","target":"csbr:AssetInProgressMember","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-77","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"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentAbstract","target":"us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-78","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-79","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:TaxCreditCarryforwardTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TaxCreditCarryforwardTable","target":"us-gaap:IncomeTaxAuthorityAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxAuthorityAxis","target":"us-gaap:IncomeTaxAuthorityDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"us-gaap:DomesticCountryMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TaxCreditCarryforwardLineItems","target":"us-gaap:OperatingLossCarryforwardsValuationAllowance","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"us-gaap:StateAndLocalJurisdictionMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TaxCreditCarryforwardTable","target":"us-gaap:TaxCreditCarryforwardLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TaxCreditCarryforwardLineItems","target":"us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TaxCreditCarryforwardLineItems","target":"us-gaap:OperatingLossCarryforwards","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TaxCreditCarryforwardLineItems","target":"csbr:OperatingLossCarryforwardsExpirationPeriod","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TaxCreditCarryforwardLineItems","target":"csbr:OperatingLossCarryforwardsLimitationsOnUseAmount","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:TaxCreditCarryforwardLineItems","target":"us-gaap:UnrecognizedTaxBenefits","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-80","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:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedLabel"}]},{"source":"us-gaap:ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward","target":"us-gaap:UnrecognizedTaxBenefits","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]}]},{"name":"rpt:network-presentation-81","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxAssetsGrossAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredTaxLiabilitiesAbstract","target":"csbr:DeferredTaxLiabilitiesRightOfUseAssets","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"csbr:DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxAssetsValuationAllowance","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:DeferredTaxLiabilitiesAbstract","target":"us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"csbr:DeferredTaxAssetsLeaseLiabilities","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxAssetsNet","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:DeferredTaxLiabilitiesAbstract","target":"us-gaap:DeferredIncomeTaxLiabilities","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTotalLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"us-gaap:DeferredTaxAssetsDeferredIncome","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxLiabilitiesAbstract","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:DeferredTaxAssetsLiabilitiesNet","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredTaxAssetsGrossAbstract","target":"us-gaap:DeferredTaxAssetsGross","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-82","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateReconciliationTable","target":"srt:StatementGeographicalAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:StatementGeographicalAxis","target":"srt:SegmentGeographicalDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:SegmentGeographicalDomain","target":"country:IT","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxAuthorityAxis","target":"us-gaap:IncomeTaxAuthorityDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"us-gaap:ForeignCountryMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ForeignCountryMember","target":"country:IT","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateReconciliationLineItems","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefitAbstract","target":"us-gaap:CurrentFederalTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefitAbstract","target":"us-gaap:DeferredFederalIncomeTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:SegmentGeographicalDomain","target":"country:IL","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateReconciliationTable","target":"us-gaap:IncomeTaxAuthorityAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ForeignCountryMember","target":"country:IL","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateReconciliationLineItems","target":"us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefitAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefitAbstract","target":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefitAbstract","target":"us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateReconciliationTable","target":"us-gaap:EffectiveIncomeTaxRateReconciliationLineItems","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefitAbstract","target":"us-gaap:CurrentForeignTaxExpenseBenefit","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateReconciliationLineItems","target":"us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefitAbstract","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefitAbstract","target":"us-gaap:DeferredForeignIncomeTaxExpenseBenefit","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:CurrentFederalStateAndLocalTaxExpenseBenefitAbstract","target":"us-gaap:CurrentIncomeTaxExpenseBenefit","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:DeferredFederalStateAndLocalTaxExpenseBenefitAbstract","target":"us-gaap:DeferredIncomeTaxExpenseBenefit","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateReconciliationLineItems","target":"us-gaap:IncomeTaxExpenseBenefit","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-83","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:IncomeTaxPaidByIndividualJurisdictionTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxPaidByIndividualJurisdictionTable","target":"us-gaap:IncomeTaxAuthorityAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxAuthorityAxis","target":"us-gaap:IncomeTaxAuthorityDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"us-gaap:ForeignCountryMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ForeignCountryMember","target":"stpr:CA","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxPaidByIndividualJurisdictionLineItems","target":"us-gaap:IncomeTaxPaidFederalAfterRefundReceived","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ForeignCountryMember","target":"stpr:NY","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxPaidByIndividualJurisdictionTable","target":"us-gaap:IncomeTaxPaidByIndividualJurisdictionLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxPaidByIndividualJurisdictionLineItems","target":"us-gaap:IncomeTaxPaidStateAndLocalAfterRefundReceived","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ForeignCountryMember","target":"stpr:PA","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxPaidByIndividualJurisdictionLineItems","target":"us-gaap:IncomeTaxPaidForeignAfterRefundReceived","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ForeignCountryMember","target":"stpr:CT","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxPaidByIndividualJurisdictionLineItems","target":"us-gaap:IncomeTaxesPaidNet","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:ForeignCountryMember","target":"country:IT","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ForeignCountryMember","target":"country:IL","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-84","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxDisclosureAbstract","order":1.0},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateReconciliationTable","target":"us-gaap:IncomeTaxAuthorityAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxAuthorityAxis","target":"us-gaap:IncomeTaxAuthorityDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"us-gaap:ForeignCountryMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ForeignCountryMember","target":"country:IT","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:DomesticCountryMember","target":"country:US","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateReconciliationLineItems","target":"us-gaap:IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract","target":"us-gaap:TaxJurisdictionOfDomicileExtensibleEnumeration","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ForeignCountryMember","target":"country:IL","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxAuthorityDomain","target":"us-gaap:DomesticCountryMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateReconciliationTable","target":"us-gaap:EffectiveIncomeTaxRateReconciliationLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract","target":"us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateReconciliationLineItems","target":"us-gaap:EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract","target":"us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract","target":"us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpense","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract","target":"us-gaap:IncomeTaxReconciliationNondeductibleExpense","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract","target":"us-gaap:IncomeTaxReconciliationTaxContingencies","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract","target":"us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract","target":"us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract","target":"us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract","target":"us-gaap:IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract","target":"us-gaap:EffectiveIncomeTaxRateReconciliationGiltiAmount","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract","target":"csbr:EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxAssetsPercent","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract","target":"csbr:EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxAssetsAmount","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperationsTaxRateReconciliationAbstract","target":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]},{"source":"us-gaap:IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract","target":"us-gaap:IncomeTaxExpenseBenefit","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:totalLabel"}]}]},{"name":"rpt:network-presentation-85","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:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:IncomeTaxDisclosureAbstract","target":"us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-86","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-87","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: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":"srt:BoardOfDirectorsChairmanMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"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":"us-gaap:RelatedPartyTransactionLineItems","target":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ScheduleOfRelatedPartyTransactionsByRelatedPartyTable","target":"srt:CounterpartyNameAxis","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-88","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-89","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:netLabel"}]},{"source":"srt:ProductsAndServicesDomain","target":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember","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":"us-gaap:ProductAndServiceOtherMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-90","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-91","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:StatementOfIncomeLocationBalanceAxis","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:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable","target":"us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-92","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:A2023GlobalEquityIncentivePlanMember","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":"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:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-93","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-94","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:RisksAndUncertaintiesAbstract","order":1.0},{"source":"us-gaap:RisksAndUncertaintiesAbstract","target":"us-gaap:ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable","target":"us-gaap:ConcentrationRiskByTypeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskByTypeAxis","target":"us-gaap:ConcentrationRiskTypeDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskTypeDomain","target":"us-gaap:CustomerConcentrationRiskMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskByBenchmarkAxis","target":"us-gaap:ConcentrationRiskBenchmarkDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskBenchmarkDomain","target":"us-gaap:SalesRevenueNetMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:MajorCustomersAxis","target":"srt:NameOfMajorCustomerDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:NameOfMajorCustomerDomain","target":"csbr:CustomerOneMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:EntityWideRevenueMajorCustomerLineItems","target":"us-gaap:ConcentrationRiskPercentage1","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable","target":"us-gaap:ConcentrationRiskByBenchmarkAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ConcentrationRiskBenchmarkDomain","target":"us-gaap:AccountsReceivableMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:NameOfMajorCustomerDomain","target":"csbr:CustomerTwoMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable","target":"srt:MajorCustomersAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfEntityWideRevenueByMajorCustomersByReportingSegmentsTable","target":"us-gaap:EntityWideRevenueMajorCustomerLineItems","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-95","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-96","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:EquityIncentivePlan2021Member","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:VestingAxis","target":"us-gaap:VestingDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:VestingDomain","target":"us-gaap:ShareBasedCompensationAwardTrancheOneMember","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:IndependentDirectorsMember","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":"csbr:TriggeringEventAxis","target":"csbr:TriggeringEventDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:TriggeringEventDomain","target":"csbr:OptionsAndCashMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AwardTypeAxis","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"csbr:TimeBasedAwardsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:StatementClassOfStockAxis","target":"us-gaap:ClassOfStockDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ClassOfStockDomain","target":"us-gaap:CommonStockMember","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:EquityIncentivePlan2010Member","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:StatementOfIncomeLocationBalanceAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:VestingDomain","target":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"srt:BoardOfDirectorsChairmanMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:RangeMember","target":"srt:MinimumMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:TriggeringEventDomain","target":"csbr:SubjectToForfeitureMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:PerformanceSharesMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"csbr:A2023GlobalEquityIncentivePlanMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:VestingAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:VestingDomain","target":"csbr:ShareBasedPaymentArrangementAfterTrancheOneMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"srt:TitleOfIndividualWithRelationshipToEntityDomain","target":"csbr:ChairpersonOfACommitteeMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"csbr:TriggeringEventDomain","target":"csbr:AllBuyBackAmountsMember","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:PlanNameDomain","target":"csbr:DirectorCompensationPlanMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"srt:TitleOfIndividualAxis","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:ShareBasedPaymentArrangementOptionExercisePricePercentageOfFairValueOfCommonStockMinimum","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PlanNameDomain","target":"csbr:A2021And2010EquityIncentivePlansMember","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"srt:RangeAxis","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"csbr:TriggeringEventAxis","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:AwardTypeAxis","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:StatementClassOfStockAxis","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:StockOptionsAwardSharesToPurchaseCommonStock","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:StockOptionsAwardSharesToPurchaseUnregisteredCommonStock","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:ShareBasedCompensationAnnualBaseCompensationAmount","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedPercentage","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","order":17.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"srt:StockRepurchaseProgramAuthorizedAmount1","order":18.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:TreasuryStockSharesAcquired","order":19.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:TreasuryStockAcquiredAverageCostPerShare","order":20.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:TreasuryStockValueAcquiredCostMethod","order":21.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1","order":22.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-97","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:GranteeStatusAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:GranteeStatusAxis","target":"us-gaap:GranteeStatusDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:GranteeStatusDomain","target":"us-gaap:ShareBasedPaymentArrangementEmployeeMember","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:A2023GlobalEquityIncentivePlanMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"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":"us-gaap:GranteeStatusDomain","target":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:PlanNameAxis","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:ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"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":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodStartLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:periodEndLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems","target":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]}]},{"name":"rpt:network-presentation-98","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"}]}]},{"name":"rpt:network-presentation-99","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-100","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:SubsequentEventsAbstract","order":1.0},{"source":"us-gaap:SubsequentEventsAbstract","target":"us-gaap:SubsequentEventTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:SubsequentEventTable","target":"us-gaap:SubsequentEventTypeAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:SubsequentEventTypeAxis","target":"us-gaap:SubsequentEventTypeDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:SubsequentEventTypeDomain","target":"us-gaap:SubsequentEventMember","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:RockvilleMDMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:SubsequentEventLineItems","target":"us-gaap:OperatingLeaseRightOfUseAsset","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:SubsequentEventTable","target":"srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:SubsequentEventLineItems","target":"us-gaap:OperatingLeaseLiability","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:SubsequentEventTable","target":"us-gaap:SubsequentEventLineItems","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:SubsequentEventLineItems","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-101","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-102","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":"us-gaap:FairValueByMeasurementFrequencyAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:FairValueByMeasurementFrequencyAxis","target":"us-gaap:FairValueMeasurementFrequencyDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:FairValueMeasurementFrequencyDomain","target":"us-gaap:FairValueMeasurementsNonrecurringMember","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:PropertyPlantAndEquipmentLineItems","target":"us-gaap:Cash","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:FairValueMeasurementFrequencyDomain","target":"us-gaap:FairValueMeasurementsRecurringMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","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:PropertyPlantAndEquipmentLineItems","target":"us-gaap:CashEquivalentsAtCarryingValue","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"srt:ProductOrServiceAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:NumberOfMajorInstitutionsWithCashBalances","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:ProfitLoss","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ScheduleOfPropertyPlantAndEquipmentTable","target":"us-gaap:PropertyPlantAndEquipmentLineItems","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:RetainedEarningsAccumulatedDeficit","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:negatedTerseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"csbr:WorkingCapitalDeficit","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:LiabilitiesFairValueDisclosure","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:AssetsFairValueDisclosure","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:PropertyPlantAndEquipmentUsefulLife","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:ImpairmentOfLongLivedAssetsHeldForUse","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:GoodwillImpairmentLoss","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:IncomeTaxExpenseBenefit","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:TaxAdjustmentsSettlementsAndUnusualProvisions","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:verboseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:NumberOfOperatingSegments","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:PropertyPlantAndEquipmentLineItems","target":"us-gaap:NumberOfReportableSegments","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-103","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":"us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:CostOfSalesPolicyTextBlock","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ResearchAndDevelopmentExpensePolicy","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"csbr:SalesAndMarketingExpensePolicyPolicyTextBlock","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:EarningsPerSharePolicyTextBlock","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:IncomeTaxPolicyTextBlock","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","order":17.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:SegmentReportingPolicyPolicyTextBlock","order":18.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:PriorPeriodReclassificationAdjustmentDescription","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-104","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountingPoliciesAbstract","order":1.0},{"source":"us-gaap:AccountingPoliciesAbstract","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","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:FewContractsMember","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:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","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:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable","target":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-105","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"cyd:CybersecurityRiskManagementStrategyAndGovernanceAbstract","order":1.0},{"source":"cyd:CybersecurityRiskManagementStrategyAndGovernanceAbstract","target":"cyd:CybersecurityRiskManagementStrategyAndGovernanceTable","order":1.0},{"source":"cyd:CybersecurityRiskManagementStrategyAndGovernanceLineItems","target":"cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock","order":1.0},{"source":"cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock","target":"cyd:CybersecurityRiskManagementProcessesIntegratedFlag","order":1.0},{"source":"cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock","target":"cyd:CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock","order":1.0},{"source":"cyd:CybersecurityRiskManagementStrategyAndGovernanceAbstract","target":"cyd:CybersecurityRiskManagementStrategyAndGovernanceLineItems","order":2.0},{"source":"cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock","target":"cyd:CybersecurityRiskManagementProcessesIntegratedTextBlock","order":2.0},{"source":"cyd:CybersecurityRiskManagementStrategyAndGovernanceLineItems","target":"cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock","order":2.0},{"source":"cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock","target":"cyd:CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock","order":2.0},{"source":"cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock","target":"cyd:CybersecurityRiskManagementThirdPartyEngagedFlag","order":3.0},{"source":"cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock","target":"cyd:CybersecurityRiskRoleOfManagementTextBlock","order":3.0},{"source":"cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock","target":"cyd:CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag","order":4.0},{"source":"cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock","target":"cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag","order":4.0},{"source":"cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock","target":"cyd:CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag","order":5.0},{"source":"cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock","target":"cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock","order":5.0},{"source":"cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock","target":"cyd:CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantTextBlock","order":6.0},{"source":"cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock","target":"cyd:CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock","order":6.0},{"source":"cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock","target":"cyd:CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock","order":7.0},{"source":"cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock","target":"cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag","order":8.0}]},{"name":"rpt:network-presentation-106","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"ecd:AwardTmgDiscLineItems","order":1.0},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardTmgMnpiDiscTextBlock","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardsCloseToMnpiDiscTable","target":"ecd:IndividualAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:IndividualAxis","target":"ecd:AllIndividualsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:AwardTypeAxis","target":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:EmployeeStockOptionMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardTmgMethodTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardsCloseToMnpiDiscTable","target":"us-gaap:AwardTypeAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain","target":"us-gaap:StockAppreciationRightsSARSMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardTmgPredtrmndFlag","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardTmgMnpiCnsdrdFlag","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardTmgHowMnpiCnsdrdTextBlock","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:MnpiDiscTimedForCompValFlag","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardsCloseToMnpiDiscTableTextBlock","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardsCloseToMnpiDiscTable","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardsCloseToMnpiDiscIndName","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardUndrlygSecuritiesAmt","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardExrcPrice","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:AwardGrantDateFairValue","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AwardTmgDiscLineItems","target":"ecd:UndrlygSecurityMktPriceChngPct","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-107","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"ecd:RecoveryOfErrCompDisclosureLineItems","order":1.0},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:ErrCompRecoveryTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:ErrCompRecoveryTable","target":"ecd:RestatementDateAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:IndividualAxis","target":"ecd:AllIndividualsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AllIndividualsMember","target":"ecd:NonNeosMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:ErrCompRecoveryTable","target":"ecd:IndividualAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:RestatementDeterminationDate","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:AggtErrCompAmt","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:ErrCompAnalysisTextBlock","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:StkPrcOrTsrEstimationMethodTextBlock","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:OutstandingAggtErrCompAmt","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:AggtErrCompNotYetDeterminedTextBlock","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:ForgoneRecoveryIndName","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:ForgoneRecoveryDueToExpenseOfEnforcementAmt","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:ForgoneRecoveryDueToViolationOfHomeCountryLawAmt","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:ForgoneRecoveryExplanationOfImpracticabilityTextBlock","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:OutstandingRecoveryIndName","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:OutstandingRecoveryCompAmt","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:RecoveryOfErrCompDisclosureLineItems","target":"ecd:RestatementDoesNotRequireRecoveryTextBlock","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-108","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"ecd:InsiderTradingArrLineItems","order":1.0},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:TradingArrByIndTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:TradingArrByIndTable","target":"ecd:TradingArrAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:TradingArrAxis","target":"ecd:AllTradingArrangementsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:IndividualAxis","target":"ecd:AllIndividualsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:TradingArrByIndTable","target":"ecd:IndividualAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:MtrlTermsOfTrdArrTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:TrdArrIndName","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:TrdArrIndTitle","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:Rule10b51ArrAdoptedFlag","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:NonRule10b51ArrAdoptedFlag","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:TrdArrAdoptionDate","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:Rule10b51ArrTrmntdFlag","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:NonRule10b51ArrTrmntdFlag","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:TrdArrTerminationDate","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:TrdArrExpirationDate","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:TrdArrDuration","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingArrLineItems","target":"ecd:TrdArrSecuritiesAggAvailAmt","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-109","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"ecd:InsiderTradingPoliciesProcLineItems","order":1.0},{"source":"ecd:InsiderTradingPoliciesProcLineItems","target":"ecd:InsiderTrdPoliciesProcAdoptedFlag","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:InsiderTradingPoliciesProcLineItems","target":"ecd:InsiderTrdPoliciesProcNotAdoptedTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-presentation-110","relationshipTypeName":"xbrl:parent-child","relationships":[{"source":"xbrl:rootSource","target":"ecd:PayVsPerformanceDisclosureLineItems","order":1.0},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:PvpTable","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PvpTable","target":"ecd:ExecutiveCategoryAxis","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:ExecutiveCategoryAxis","target":"ecd:AllExecutiveCategoriesMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AllExecutiveCategoriesMember","target":"ecd:PeoMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:IndividualAxis","target":"ecd:AllIndividualsMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AdjToCompAxis","target":"ecd:AllAdjToCompMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AllAdjToCompMember","target":"ecd:AggtChngPnsnValInSummryCompstnTblForAplblYrMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AggtPnsnAdjsSvcCstMember","target":"ecd:PnsnAdjsSvcCstMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:EqtyAwrdsAdjsMember","target":"ecd:EqtyAwrdsInSummryCompstnTblForAplblYrMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember","order":1.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AllExecutiveCategoriesMember","target":"ecd:NonPeoNeoMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PvpTable","target":"ecd:IndividualAxis","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AllAdjToCompMember","target":"ecd:AggtPnsnAdjsSvcCstMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AggtPnsnAdjsSvcCstMember","target":"ecd:PnsnAdjsPrrSvcCstMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:EqtyAwrdsAdjsMember","target":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:PvpTableTextBlock","order":2.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PvpTable","target":"ecd:AdjToCompAxis","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:AllAdjToCompMember","target":"ecd:EqtyAwrdsAdjsMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:CoSelectedMeasureName","order":3.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PvpTable","target":"ecd:MeasureAxis","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:NamedExecutiveOfficersFnTextBlock","order":4.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:PeerGroupIssuersFnTextBlock","order":5.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember","target":"ecd:DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:ChangedPeerGroupFnTextBlock","order":6.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:PeoTotalCompAmt","order":7.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:PeoActuallyPaidCompAmt","order":8.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:AdjToPeoCompFnTextBlock","order":9.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:NonPeoNeoAvgTotalCompAmt","order":10.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:NonPeoNeoAvgCompActuallyPaidAmt","order":11.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:AdjToNonPeoNeoCompFnTextBlock","order":12.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:EquityValuationAssumptionDifferenceFnTextBlock","order":13.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:CompActuallyPaidVsTotalShareholderRtnTextBlock","order":14.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:CompActuallyPaidVsNetIncomeTextBlock","order":15.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:CompActuallyPaidVsCoSelectedMeasureTextBlock","order":16.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:TotalShareholderRtnVsPeerGroupTextBlock","order":17.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:CompActuallyPaidVsOtherMeasureTextBlock","order":18.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:TabularListTableTextBlock","order":19.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:TotalShareholderRtnAmt","order":20.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:PeerGroupTotalShareholderRtnAmt","order":21.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:CoSelectedMeasureAmt","order":23.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:OtherPerfMeasureAmt","order":24.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:AdjToCompAmt","order":25.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:PeoName","order":26.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:MeasureName","order":27.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:NonGaapMeasureDescriptionTextBlock","order":28.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:Additional402vDisclosureTextBlock","order":29.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:PnsnBnftsAdjFnTextBlock","order":30.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]},{"source":"ecd:PayVsPerformanceDisclosureLineItems","target":"ecd:EqtyAwrdsAdjFnTextBlock","order":31.0,"properties":[{"property":"xbrl:preferredLabel","value":"xbrl:terseLabel"}]}]},{"name":"rpt:network-calculation-282","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:AccountsReceivableNetCurrent","order":1.0},{"source":"us-gaap:AccountsReceivableGrossCurrent","target":"us-gaap:AccountsReceivableGross","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccountsReceivableNetCurrent","target":"us-gaap:AccountsReceivableGrossCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AccountsReceivableGrossCurrent","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-283","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:StockholdersEquity","target":"us-gaap:CommonStockValue","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:AssetsCurrent","target":"us-gaap:Cash","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:Assets","target":"us-gaap:AssetsCurrent","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","target":"us-gaap:StockholdersEquity","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:LiabilitiesCurrent","target":"us-gaap:AccountsPayableCurrent","order":1.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:AssetsCurrent","target":"us-gaap:AccountsReceivableNetCurrent","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:Assets","target":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","target":"us-gaap:MinorityInterest","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LiabilitiesAndStockholdersEquity","target":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","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:StockholdersEquity","target":"us-gaap:RetainedEarningsAccumulatedDeficit","order":3.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:Liabilities","target":"us-gaap:OperatingLeaseLiabilityNoncurrent","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:ContractWithCustomerLiabilityCurrent","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:StockholdersEquity","target":"us-gaap:TreasuryStockCommonValue","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:OperatingLeaseLiabilityCurrent","order":4.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}]},{"source":"us-gaap:LiabilitiesCurrent","target":"us-gaap:OtherLiabilitiesCurrent","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-284","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","order":1.0},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:ProfitLoss","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivities","target":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","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:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:ShareBasedCompensation","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInInvestingActivities","target":"us-gaap:ProceedsFromSaleOfMachineryAndEquipment","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":"us-gaap:ProceedsFromStockOptionsExercised","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:ProvisionForDoubtfulAccounts","order":6.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInAccountsReceivable","order":7.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","order":8.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInAccountsPayable","order":9.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInAccruedLiabilities","order":10.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInContractWithCustomerLiability","order":11.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","order":12.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"csbr:IncreaseDecreaseInUncertainTaxPosition","order":13.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:IncreaseDecreaseInOtherNoncurrentAssets","order":14.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:NetCashProvidedByUsedInOperatingActivities","target":"us-gaap:GainLossOnTerminationOfLease","order":15.0,"properties":[{"property":"xbrl:weight","value":-1.0}]}]},{"name":"rpt:network-calculation-285","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:ProfitLoss","order":1.0},{"source":"us-gaap:OperatingCostsAndExpenses","target":"us-gaap:CostOfGoodsAndServicesSold","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:ProfitLoss","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","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:OperatingIncomeLoss","target":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","order":1.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:ProfitLoss","target":"us-gaap:IncomeTaxExpenseBenefit","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:OperatingIncomeLoss","target":"us-gaap:OperatingCostsAndExpenses","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:GainLossOnSaleOfPropertyPlantEquipment","order":5.0,"properties":[{"property":"xbrl:weight","value":-1.0}]}]},{"name":"rpt:network-calculation-286","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":"csbr:LesseeOperatingLeaseLiabilityToBePaidAfterYearThree","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-287","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","order":1.0},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","target":"us-gaap:OperatingLeaseLiability","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-288","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:LeaseCost","order":1.0},{"source":"us-gaap:LeaseCost","target":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LeaseCost","target":"us-gaap:FinanceLeaseInterestExpense","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:LeaseCost","target":"us-gaap:OperatingLeaseCost","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-289","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:FinanceLeaseLiabilityPaymentsDue","order":1.0},{"source":"us-gaap:FinanceLeaseLiabilityPaymentsDue","target":"us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:FinanceLeaseLiabilityPaymentsDue","target":"us-gaap:FinanceLeaseLiability","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-290","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:FinanceLeaseLiabilityPaymentsDue","order":1.0},{"source":"us-gaap:FinanceLeaseLiabilityPaymentsDue","target":"us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:FinanceLeaseLiabilityPaymentsDue","target":"us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:FinanceLeaseLiabilityPaymentsDue","target":"csbr:FinanceLeaseLiabilityToBePaidAfterYearTwo","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-291","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","order":1.0},{"source":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","target":"us-gaap:PropertyPlantAndEquipmentGross","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","target":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]}]},{"name":"rpt:network-calculation-292","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:DeferredTaxAssetsLiabilitiesNet","order":1.0},{"source":"us-gaap:DeferredTaxAssetsLiabilitiesNet","target":"us-gaap:DeferredTaxAssetsNet","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredIncomeTaxLiabilities","target":"csbr:DeferredTaxLiabilitiesRightOfUseAssets","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsNet","target":"us-gaap:DeferredTaxAssetsGross","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsLiabilitiesNet","target":"us-gaap:DeferredIncomeTaxLiabilities","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:DeferredIncomeTaxLiabilities","target":"us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsNet","target":"us-gaap:DeferredTaxAssetsValuationAllowance","order":2.0,"properties":[{"property":"xbrl:weight","value":-1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"csbr:DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"csbr:DeferredTaxAssetsLeaseLiabilities","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsDeferredIncome","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts","order":6.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredTaxAssetsGross","target":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","order":7.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-293","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","order":1.0},{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxExpenseBenefit","order":2.0},{"source":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic","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:IncomeTaxExpenseBenefit","target":"us-gaap:CurrentIncomeTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredIncomeTaxExpenseBenefit","target":"us-gaap:DeferredFederalIncomeTaxExpenseBenefit","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","target":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign","order":2.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:IncomeTaxExpenseBenefit","target":"us-gaap:DeferredIncomeTaxExpenseBenefit","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:DeferredIncomeTaxExpenseBenefit","target":"us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit","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}]},{"source":"us-gaap:DeferredIncomeTaxExpenseBenefit","target":"us-gaap:DeferredForeignIncomeTaxExpenseBenefit","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-294","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxesPaidNet","order":1.0},{"source":"us-gaap:IncomeTaxesPaidNet","target":"us-gaap:IncomeTaxPaidFederalAfterRefundReceived","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxesPaidNet","target":"us-gaap:IncomeTaxPaidStateAndLocalAfterRefundReceived","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxesPaidNet","target":"us-gaap:IncomeTaxPaidForeignAfterRefundReceived","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]}]},{"name":"rpt:network-calculation-295","relationshipTypeName":"xbrl:summation-item","relationships":[{"source":"xbrl:rootSource","target":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","order":1.0},{"source":"xbrl:rootSource","target":"us-gaap:IncomeTaxExpenseBenefit","order":2.0},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate","order":1.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes","order":2.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential","order":3.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpense","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:IncomeTaxReconciliationNondeductibleExpense","order":4.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:IncomeTaxReconciliationTaxContingencies","order":5.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes","order":6.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes","order":6.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","order":7.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance","order":7.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost","order":8.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost","order":8.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment","order":9.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment","order":9.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent","order":10.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"us-gaap:EffectiveIncomeTaxRateReconciliationGiltiAmount","order":10.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","target":"csbr:EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxAssetsPercent","order":11.0,"properties":[{"property":"xbrl:weight","value":1.0}]},{"source":"us-gaap:IncomeTaxExpenseBenefit","target":"csbr:EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxAssetsAmount","order":11.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/AccountsReceivableUnbilledServicesandDeferredRevenueScheduleofAccountsReceivableandUnbilledServicesDetails"},{"name":"rpt:group-2","groupURI":"http://championsoncology.com/role/AccountsReceivableUnbilledServicesandDeferredRevenueScheduleofAllowancesforDoubtfulAccountsandEstimatedCreditLossesDetailsDetails"},{"name":"rpt:group-3","groupURI":"http://championsoncology.com/role/AccountsReceivableUnbilledServicesandDeferredRevenueScheduleofDeferredRevenueDetails"},{"name":"rpt:group-4","groupURI":"http://championsoncology.com/role/AccountsReceivableUnbilledServicesandDeferredRevenueTables"},{"name":"rpt:group-5","groupURI":"http://championsoncology.com/role/AuditInformation"},{"name":"rpt:group-6","groupURI":"http://championsoncology.com/role/CONSOLIDATEDBALANCESHEETS"},{"name":"rpt:group-7","groupURI":"http://championsoncology.com/role/CONSOLIDATEDBALANCESHEETSParenthetical"},{"name":"rpt:group-8","groupURI":"http://championsoncology.com/role/CONSOLIDATEDSTATEMENTSOFCASHFLOWS"},{"name":"rpt:group-9","groupURI":"http://championsoncology.com/role/CONSOLIDATEDSTATEMENTSOFCHANGESINSTOCKHOLDERSEQUITY"},{"name":"rpt:group-10","groupURI":"http://championsoncology.com/role/CONSOLIDATEDSTATEMENTSOFOPERATIONS"},{"name":"rpt:group-11","groupURI":"http://championsoncology.com/role/CommitmentsandContingencies"},{"name":"rpt:group-12","groupURI":"http://championsoncology.com/role/CommitmentsandContingenciesDetails"},{"name":"rpt:group-13","groupURI":"http://championsoncology.com/role/Cover"},{"name":"rpt:group-14","groupURI":"http://championsoncology.com/role/EarningsPerShare"},{"name":"rpt:group-15","groupURI":"http://championsoncology.com/role/EarningsPerShareScheduleofEarningsPerShareBasicandDilutedDetails"},{"name":"rpt:group-16","groupURI":"http://championsoncology.com/role/EarningsPerShareScheduleofPotentiallyDilutiveStockbasedInstrumentsDetails"},{"name":"rpt:group-17","groupURI":"http://championsoncology.com/role/EarningsPerShareTables"},{"name":"rpt:group-18","groupURI":"http://championsoncology.com/role/Leases"},{"name":"rpt:group-19","groupURI":"http://championsoncology.com/role/LeasesNarrativeDetails"},{"name":"rpt:group-20","groupURI":"http://championsoncology.com/role/LeasesScheduleofFutureMinimumLeasePaymentsDetails"},{"name":"rpt:group-21","groupURI":"http://championsoncology.com/role/LeasesScheduleofLeaseCostsDetails"},{"name":"rpt:group-22","groupURI":"http://championsoncology.com/role/LeasesScheduleofROUAssetsandLeaseLiabilitiesDetails"},{"name":"rpt:group-23","groupURI":"http://championsoncology.com/role/LeasesTables"},{"name":"rpt:group-24","groupURI":"http://championsoncology.com/role/OrganizationandBasisofPresentation"},{"name":"rpt:group-25","groupURI":"http://championsoncology.com/role/OrganizationandBasisofPresentationDetails"},{"name":"rpt:group-26","groupURI":"http://championsoncology.com/role/PropertyandEquipment"},{"name":"rpt:group-27","groupURI":"http://championsoncology.com/role/PropertyandEquipmentNarrativeDetails"},{"name":"rpt:group-28","groupURI":"http://championsoncology.com/role/PropertyandEquipmentScheduleofFinancingLeaseAssetsandLeaseLiabilitiesDetails"},{"name":"rpt:group-29","groupURI":"http://championsoncology.com/role/PropertyandEquipmentScheduleofFutureMinimumLeasePaymentsDetails"},{"name":"rpt:group-30","groupURI":"http://championsoncology.com/role/PropertyandEquipmentScheduleofPropertyandEquipmentDetails"},{"name":"rpt:group-31","groupURI":"http://championsoncology.com/role/PropertyandEquipmentTables"},{"name":"rpt:group-32","groupURI":"http://championsoncology.com/role/ProvisionforBenefitfromIncomeTaxes"},{"name":"rpt:group-33","groupURI":"http://championsoncology.com/role/ProvisionforBenefitfromIncomeTaxesNarrativeDetails"},{"name":"rpt:group-34","groupURI":"http://championsoncology.com/role/ProvisionforBenefitfromIncomeTaxesScheduleofChangeinUncertainTaxPositionsDetails"},{"name":"rpt:group-35","groupURI":"http://championsoncology.com/role/ProvisionforBenefitfromIncomeTaxesScheduleofComponentsofDeferredTaxAssetsandLiabilitiesDetails"},{"name":"rpt:group-36","groupURI":"http://championsoncology.com/role/ProvisionforBenefitfromIncomeTaxesScheduleofComponentsofProvisionBenefitforIncomeTaxesDetails"},{"name":"rpt:group-37","groupURI":"http://championsoncology.com/role/ProvisionforBenefitfromIncomeTaxesScheduleofIncomeTaxesPaidNetofRefundsReceivedDetails"},{"name":"rpt:group-38","groupURI":"http://championsoncology.com/role/ProvisionforBenefitfromIncomeTaxesScheduleofReconciliationofEffectiveTaxRateDetails"},{"name":"rpt:group-39","groupURI":"http://championsoncology.com/role/ProvisionforBenefitfromIncomeTaxesTables"},{"name":"rpt:group-40","groupURI":"http://championsoncology.com/role/RelatedPartyTransactions"},{"name":"rpt:group-41","groupURI":"http://championsoncology.com/role/RelatedPartyTransactionsDetails"},{"name":"rpt:group-42","groupURI":"http://championsoncology.com/role/RevenuefromContractswithCustomers"},{"name":"rpt:group-43","groupURI":"http://championsoncology.com/role/RevenuefromContractswithCustomersDetails"},{"name":"rpt:group-44","groupURI":"http://championsoncology.com/role/RevenuefromContractswithCustomersTables"},{"name":"rpt:group-45","groupURI":"http://championsoncology.com/role/ShareBasedPaymentsScheduleofAllocationofShareBasedCompensationExpenseDetails"},{"name":"rpt:group-46","groupURI":"http://championsoncology.com/role/ShareBasedPaymentsScheduleofValuationAssumptionsforStockOptionsDetails"},{"name":"rpt:group-47","groupURI":"http://championsoncology.com/role/SignificantCustomers"},{"name":"rpt:group-48","groupURI":"http://championsoncology.com/role/SignificantCustomersDetails"},{"name":"rpt:group-49","groupURI":"http://championsoncology.com/role/StockbasedPayments"},{"name":"rpt:group-50","groupURI":"http://championsoncology.com/role/StockbasedPaymentsNarrativeDetails"},{"name":"rpt:group-51","groupURI":"http://championsoncology.com/role/StockbasedPaymentsScheduleofStockOptionActivityDetails"},{"name":"rpt:group-52","groupURI":"http://championsoncology.com/role/StockbasedPaymentsTables"},{"name":"rpt:group-53","groupURI":"http://championsoncology.com/role/SubsequentEvents"},{"name":"rpt:group-54","groupURI":"http://championsoncology.com/role/SubsequentEventsDetails"},{"name":"rpt:group-55","groupURI":"http://championsoncology.com/role/SummaryofSignificantAccountingPolicies"},{"name":"rpt:group-56","groupURI":"http://championsoncology.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails"},{"name":"rpt:group-57","groupURI":"http://championsoncology.com/role/SummaryofSignificantAccountingPoliciesPolicies"},{"name":"rpt:group-58","groupURI":"http://championsoncology.com/role/SummaryofSignificantAccountingPoliciesRevenueRecognitionDetails"},{"name":"rpt:group-59","groupURI":"http://xbrl.sec.gov/cyd/role/CybersecurityRiskManagementAndStrategyDisclosure"},{"name":"rpt:group-60","groupURI":"http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"},{"name":"rpt:group-61","groupURI":"http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"},{"name":"rpt:group-62","groupURI":"http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"},{"name":"rpt:group-63","groupURI":"http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"},{"name":"rpt:group-64","groupURI":"http://xbrl.sec.gov/ecd/role/PvpDisclosure"},{"name":"rpt:group-65","groupURI":"http://championsoncology.com/role/LeasesScheduleofFutureMinimumLeasePaymentsDetails_1"},{"name":"rpt:group-66","groupURI":"http://championsoncology.com/role/PropertyandEquipmentScheduleofFutureMinimumLeasePaymentsDetails_1"},{"name":"rpt:group-67","groupURI":"http://championsoncology.com/role/ShareBasedPaymentsScheduleofAllocationofShareBasedCompensationExpenseDetails_1"},{"name":"rpt:group-68","groupURI":"http://championsoncology.com/role/StockbasedPaymentsNarrativeDetails_1"},{"name":"rpt:group-69","groupURI":"http://championsoncology.com/role/SummaryofSignificantAccountingPoliciesNarrativeDetails_1"},{"name":"rpt:group-70","groupURI":"http://championsoncology.com/role/SummaryofSignificantAccountingPoliciesRevenueRecognitionDetails_1"},{"name":"rpt:group-71","groupURI":"http://xbrl.sec.gov/ecd/role/AwardsCloseToMnpiDisc"},{"name":"rpt:group-72","groupURI":"http://xbrl.sec.gov/ecd/role/ForgoneRecoveries"},{"name":"rpt:group-73","groupURI":"http://xbrl.sec.gov/ecd/role/InsiderTradingArrangementsByInd"},{"name":"rpt:group-74","groupURI":"http://xbrl.sec.gov/ecd/role/OutstandingRecoveries"},{"name":"rpt:group-75","groupURI":"http://xbrl.sec.gov/ecd/role/PvpAdjustmentsToCompensation"},{"name":"rpt:group-76","groupURI":"http://xbrl.sec.gov/ecd/role/PvpDisclosureWithAdditionalMeasures"},{"name":"rpt:group-77","groupURI":"http://xbrl.sec.gov/ecd/role/PvpMeasures"},{"name":"rpt:group-78","groupURI":"http://xbrl.sec.gov/ecd/role/PvpTable"},{"name":"rpt:group-79","groupURI":"http://xbrl.sec.gov/ecd/role/TabularListMeasures"},{"name":"rpt:group-80","groupURI":"http://xbrl.sec.gov/ecd/role/TabularListsByExecutiveCategory"}],"groupContents":[{"groupName":"rpt:group-0","forObject":"rpt:network-presentation-46"},{"groupName":"rpt:group-1","forObject":"rpt:network-presentation-47"},{"groupName":"rpt:group-2","forObject":"rpt:network-presentation-48"},{"groupName":"rpt:group-3","forObject":"rpt:network-presentation-49"},{"groupName":"rpt:group-4","forObject":"rpt:network-presentation-50"},{"groupName":"rpt:group-5","forObject":"rpt:network-presentation-51"},{"groupName":"rpt:group-6","forObject":"rpt:network-presentation-52"},{"groupName":"rpt:group-7","forObject":"rpt:network-presentation-53"},{"groupName":"rpt:group-8","forObject":"rpt:network-presentation-54"},{"groupName":"rpt:group-9","forObject":"rpt:network-presentation-55"},{"groupName":"rpt:group-10","forObject":"rpt:network-presentation-56"},{"groupName":"rpt:group-11","forObject":"rpt:network-presentation-57"},{"groupName":"rpt:group-12","forObject":"rpt:network-presentation-58"},{"groupName":"rpt:group-13","forObject":"rpt:network-presentation-59"},{"groupName":"rpt:group-14","forObject":"rpt:network-presentation-60"},{"groupName":"rpt:group-15","forObject":"rpt:network-presentation-61"},{"groupName":"rpt:group-16","forObject":"rpt:network-presentation-62"},{"groupName":"rpt:group-17","forObject":"rpt:network-presentation-63"},{"groupName":"rpt:group-18","forObject":"rpt:network-presentation-64"},{"groupName":"rpt:group-19","forObject":"rpt:network-presentation-65"},{"groupName":"rpt:group-20","forObject":"rpt:network-presentation-66"},{"groupName":"rpt:group-21","forObject":"rpt:network-presentation-67"},{"groupName":"rpt:group-22","forObject":"rpt:network-presentation-68"},{"groupName":"rpt:group-23","forObject":"rpt:network-presentation-69"},{"groupName":"rpt:group-24","forObject":"rpt:network-presentation-70"},{"groupName":"rpt:group-25","forObject":"rpt:network-presentation-71"},{"groupName":"rpt:group-26","forObject":"rpt:network-presentation-72"},{"groupName":"rpt:group-27","forObject":"rpt:network-presentation-73"},{"groupName":"rpt:group-28","forObject":"rpt:network-presentation-74"},{"groupName":"rpt:group-29","forObject":"rpt:network-presentation-75"},{"groupName":"rpt:group-30","forObject":"rpt:network-presentation-76"},{"groupName":"rpt:group-31","forObject":"rpt:network-presentation-77"},{"groupName":"rpt:group-32","forObject":"rpt:network-presentation-78"},{"groupName":"rpt:group-33","forObject":"rpt:network-presentation-79"},{"groupName":"rpt:group-34","forObject":"rpt:network-presentation-80"},{"groupName":"rpt:group-35","forObject":"rpt:network-presentation-81"},{"groupName":"rpt:group-36","forObject":"rpt:network-presentation-82"},{"groupName":"rpt:group-37","forObject":"rpt:network-presentation-83"},{"groupName":"rpt:group-38","forObject":"rpt:network-presentation-84"},{"groupName":"rpt:group-39","forObject":"rpt:network-presentation-85"},{"groupName":"rpt:group-40","forObject":"rpt:network-presentation-86"},{"groupName":"rpt:group-41","forObject":"rpt:network-presentation-87"},{"groupName":"rpt:group-42","forObject":"rpt:network-presentation-88"},{"groupName":"rpt:group-43","forObject":"rpt:network-presentation-89"},{"groupName":"rpt:group-44","forObject":"rpt:network-presentation-90"},{"groupName":"rpt:group-45","forObject":"rpt:network-presentation-91"},{"groupName":"rpt:group-46","forObject":"rpt:network-presentation-92"},{"groupName":"rpt:group-47","forObject":"rpt:network-presentation-93"},{"groupName":"rpt:group-48","forObject":"rpt:network-presentation-94"},{"groupName":"rpt:group-49","forObject":"rpt:network-presentation-95"},{"groupName":"rpt:group-50","forObject":"rpt:network-presentation-96"},{"groupName":"rpt:group-51","forObject":"rpt:network-presentation-97"},{"groupName":"rpt:group-52","forObject":"rpt:network-presentation-98"},{"groupName":"rpt:group-53","forObject":"rpt:network-presentation-99"},{"groupName":"rpt:group-54","forObject":"rpt:network-presentation-100"},{"groupName":"rpt:group-55","forObject":"rpt:network-presentation-101"},{"groupName":"rpt:group-56","forObject":"rpt:network-presentation-102"},{"groupName":"rpt:group-57","forObject":"rpt:network-presentation-103"},{"groupName":"rpt:group-58","forObject":"rpt:network-presentation-104"},{"groupName":"rpt:group-59","forObject":"rpt:network-presentation-105"},{"groupName":"rpt:group-60","forObject":"rpt:network-presentation-106"},{"groupName":"rpt:group-61","forObject":"rpt:network-presentation-107"},{"groupName":"rpt:group-62","forObject":"rpt:network-presentation-108"},{"groupName":"rpt:group-63","forObject":"rpt:network-presentation-109"},{"groupName":"rpt:group-64","forObject":"rpt:network-presentation-110"},{"groupName":"rpt:group-1","forObject":"rpt:network-calculation-282"},{"groupName":"rpt:group-6","forObject":"rpt:network-calculation-283"},{"groupName":"rpt:group-8","forObject":"rpt:network-calculation-284"},{"groupName":"rpt:group-10","forObject":"rpt:network-calculation-285"},{"groupName":"rpt:group-20","forObject":"rpt:network-calculation-286"},{"groupName":"rpt:group-65","forObject":"rpt:network-calculation-287"},{"groupName":"rpt:group-21","forObject":"rpt:network-calculation-288"},{"groupName":"rpt:group-29","forObject":"rpt:network-calculation-289"},{"groupName":"rpt:group-66","forObject":"rpt:network-calculation-290"},{"groupName":"rpt:group-30","forObject":"rpt:network-calculation-291"},{"groupName":"rpt:group-35","forObject":"rpt:network-calculation-292"},{"groupName":"rpt:group-36","forObject":"rpt:network-calculation-293"},{"groupName":"rpt:group-37","forObject":"rpt:network-calculation-294"},{"groupName":"rpt:group-38","forObject":"rpt:network-calculation-295"},{"groupName":"rpt:group-9","forObject":"rpt:cube-0"},{"groupName":"rpt:group-12","forObject":"rpt:cube-1"},{"groupName":"rpt:group-16","forObject":"rpt:cube-2"},{"groupName":"rpt:group-19","forObject":"rpt:cube-3"},{"groupName":"rpt:group-25","forObject":"rpt:cube-4"},{"groupName":"rpt:group-27","forObject":"rpt:cube-5"},{"groupName":"rpt:group-30","forObject":"rpt:cube-6"},{"groupName":"rpt:group-33","forObject":"rpt:cube-7"},{"groupName":"rpt:group-36","forObject":"rpt:cube-8"},{"groupName":"rpt:group-37","forObject":"rpt:cube-9"},{"groupName":"rpt:group-38","forObject":"rpt:cube-10"},{"groupName":"rpt:group-41","forObject":"rpt:cube-11"},{"groupName":"rpt:group-43","forObject":"rpt:cube-12"},{"groupName":"rpt:group-45","forObject":"rpt:cube-13"},{"groupName":"rpt:group-67","forObject":"rpt:cube-14"},{"groupName":"rpt:group-46","forObject":"rpt:cube-15"},{"groupName":"rpt:group-48","forObject":"rpt:cube-16"},{"groupName":"rpt:group-50","forObject":"rpt:cube-17"},{"groupName":"rpt:group-68","forObject":"rpt:cube-18"},{"groupName":"rpt:group-51","forObject":"rpt:cube-19"},{"groupName":"rpt:group-54","forObject":"rpt:cube-20"},{"groupName":"rpt:group-56","forObject":"rpt:cube-21"},{"groupName":"rpt:group-69","forObject":"rpt:cube-22"},{"groupName":"rpt:group-58","forObject":"rpt:cube-23"},{"groupName":"rpt:group-70","forObject":"rpt:cube-24"},{"groupName":"rpt:group-59","forObject":"rpt:cube-25"},{"groupName":"rpt:group-60","forObject":"rpt:cube-26"},{"groupName":"rpt:group-71","forObject":"rpt:cube-27"},{"groupName":"rpt:group-61","forObject":"rpt:cube-28"},{"groupName":"rpt:group-72","forObject":"rpt:cube-29"},{"groupName":"rpt:group-73","forObject":"rpt:cube-30"},{"groupName":"rpt:group-63","forObject":"rpt:cube-31"},{"groupName":"rpt:group-74","forObject":"rpt:cube-32"},{"groupName":"rpt:group-75","forObject":"rpt:cube-33"},{"groupName":"rpt:group-64","forObject":"rpt:cube-34"},{"groupName":"rpt:group-76","forObject":"rpt:cube-35"},{"groupName":"rpt:group-77","forObject":"rpt:cube-36"},{"groupName":"rpt:group-78","forObject":"rpt:cube-37"},{"groupName":"rpt:group-79","forObject":"rpt:cube-38"},{"groupName":"rpt:group-80","forObject":"rpt:cube-39"}],"facts":[{"name":"rpt:f-0","factDimensions":{"xbrl:concept":"dei:EntityCentralIndexKey","xbrl:period":"2025-05-01T00:00:00/2026-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":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-2","factDimensions":{"xbrl:concept":"dei:DocumentFiscalPeriodFocus","xbrl:period":"2025-05-01T00:00:00/2026-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":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"2026"}]},{"name":"rpt:f-4","factDimensions":{"xbrl:concept":"us-gaap:TypeOfRevenueExtensibleList","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2026#ServiceMember"}]},{"name":"rpt:f-5","factDimensions":{"xbrl:concept":"us-gaap:TypeOfRevenueExtensibleList","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2026#ServiceMember"}]},{"name":"rpt:f-6","factDimensions":{"xbrl:concept":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2026#ServiceMember"}]},{"name":"rpt:f-7","factDimensions":{"xbrl:concept":"us-gaap:TypeOfCostGoodOrServiceExtensibleList","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2026#ServiceMember"}]},{"name":"rpt:f-8","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentUsefulLife","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-9","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2026#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"}]},{"name":"rpt:f-10","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2026#PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization"}]},{"name":"rpt:f-11","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2026#OtherLiabilitiesCurrent"}]},{"name":"rpt:f-12","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2026#OtherLiabilitiesCurrent"}]},{"name":"rpt:f-13","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2026#OtherLiabilitiesNoncurrent"}]},{"name":"rpt:f-14","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://fasb.org/us-gaap/2026#OtherLiabilitiesNoncurrent"}]},{"name":"rpt:f-15","factDimensions":{"xbrl:concept":"us-gaap:TaxJurisdictionOfDomicileExtensibleEnumeration","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://xbrl.sec.gov/country/2026#US"}]},{"name":"rpt:f-16","factDimensions":{"xbrl:concept":"us-gaap:TaxJurisdictionOfDomicileExtensibleEnumeration","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"http://xbrl.sec.gov/country/2026#US"}]},{"name":"rpt:f-17","factDimensions":{"xbrl:concept":"dei:DocumentType","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"10-K","language":"en-us"}]},{"name":"rpt:f-18","factDimensions":{"xbrl:concept":"dei:DocumentAnnualReport","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"true"}]},{"name":"rpt:f-19","factDimensions":{"xbrl:concept":"dei:DocumentPeriodEndDate","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"2026-04-30"}]},{"name":"rpt:f-20","factDimensions":{"xbrl:concept":"dei:CurrentFiscalYearEndDate","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"--04-30"}]},{"name":"rpt:f-21","factDimensions":{"xbrl:concept":"dei:DocumentTransitionReport","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-22","factDimensions":{"xbrl:concept":"dei:EntityFileNumber","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"001-11504","language":"en-us"}]},{"name":"rpt:f-23","factDimensions":{"xbrl:concept":"dei:EntityRegistrantName","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"CHAMPIONS ONCOLOGY, INC.","language":"en-us"}]},{"name":"rpt:f-24","factDimensions":{"xbrl:concept":"dei:EntityIncorporationStateCountryCode","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"DE","language":"en-us"}]},{"name":"rpt:f-25","factDimensions":{"xbrl:concept":"dei:EntityTaxIdentificationNumber","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"52-1401755","language":"en-us"}]},{"name":"rpt:f-26","factDimensions":{"xbrl:concept":"dei:EntityAddressAddressLine1","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"One University Plaza","language":"en-us"}]},{"name":"rpt:f-27","factDimensions":{"xbrl:concept":"dei:EntityAddressAddressLine2","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Suite 307","language":"en-us"}]},{"name":"rpt:f-28","factDimensions":{"xbrl:concept":"dei:EntityAddressPostalZipCode","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"07601","language":"en-us"}]},{"name":"rpt:f-29","factDimensions":{"xbrl:concept":"dei:EntityAddressCityOrTown","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Hackensack","language":"en-us"}]},{"name":"rpt:f-30","factDimensions":{"xbrl:concept":"dei:EntityAddressStateOrProvince","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"NJ","language":"en-us"}]},{"name":"rpt:f-31","factDimensions":{"xbrl:concept":"dei:CityAreaCode","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"201","language":"en-us"}]},{"name":"rpt:f-32","factDimensions":{"xbrl:concept":"dei:LocalPhoneNumber","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"808-8400","language":"en-us"}]},{"name":"rpt:f-33","factDimensions":{"xbrl:concept":"dei:Security12bTitle","xbrl:period":"2025-05-01T00:00:00/2026-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-34","factDimensions":{"xbrl:concept":"dei:TradingSymbol","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"CSBR","language":"en-us"}]},{"name":"rpt:f-35","factDimensions":{"xbrl:concept":"dei:SecurityExchangeName","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"NASDAQ","language":"en-us"}]},{"name":"rpt:f-36","factDimensions":{"xbrl:concept":"dei:EntityWellKnownSeasonedIssuer","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"No","language":"en-us"}]},{"name":"rpt:f-37","factDimensions":{"xbrl:concept":"dei:EntityVoluntaryFilers","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"No","language":"en-us"}]},{"name":"rpt:f-38","factDimensions":{"xbrl:concept":"dei:EntityCurrentReportingStatus","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Yes","language":"en-us"}]},{"name":"rpt:f-39","factDimensions":{"xbrl:concept":"dei:EntityInteractiveDataCurrent","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Yes","language":"en-us"}]},{"name":"rpt:f-40","factDimensions":{"xbrl:concept":"dei:EntityFilerCategory","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Non-accelerated Filer","language":"en-us"}]},{"name":"rpt:f-41","factDimensions":{"xbrl:concept":"dei:EntitySmallBusiness","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"true"}]},{"name":"rpt:f-42","factDimensions":{"xbrl:concept":"dei:EntityEmergingGrowthCompany","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-43","factDimensions":{"xbrl:concept":"dei:IcfrAuditorAttestationFlag","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-44","factDimensions":{"xbrl:concept":"dei:DocumentFinStmtErrorCorrectionFlag","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-45","factDimensions":{"xbrl:concept":"dei:EntityShellCompany","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-46","factDimensions":{"xbrl:concept":"dei:EntityPublicFloat","xbrl:period":"2025-11-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"28600000","decimals":-5}]},{"name":"rpt:f-47","factDimensions":{"xbrl:concept":"dei:EntityCommonStockSharesOutstanding","xbrl:period":"2026-07-24T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13893569"}]},{"name":"rpt:f-48","factDimensions":{"xbrl:concept":"dei:DocumentsIncorporatedByReferenceTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent:11.25pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Portions of the Registrant\u2019s definitive Proxy Statement for its 2026 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.</span></div>","language":"en-us"}]},{"name":"rpt:f-49","factDimensions":{"xbrl:concept":"cyd:CybersecurityRiskManagementProcessesIntegratedTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">We believe we maintain an information technology and security program appropriate for a company of our size, taking into account our operations and risks. We recognize the critical importance of maintaining the trust and confidence of our investors, employees, customers and vendors. We have implemented cybersecurity processes designed to assess, identify, and manage risks from potential unauthorized occurrences on or through our information technology systems that may result in adverse effects on the confidentiality, integrity, and availability of these systems and the data residing therein. These processes include mechanisms, controls, and certain technologies designed to prevent or mitigate system intrusion or data loss, theft, misuse, or other security incidents or vulnerabilities and maintain a stable and secure information technology environment. For example, we conduct ongoing monitoring of critical systems for any compromised or potentially compromised accounts. We conduct regular trainings on cyber and information security, along with phishing simulations, among other topics. In addition, we consult with an outside information technology consultant on a regular basis to assist with assessing, identifying, and managing cybersecurity risks, including to anticipate future threats and trends, and their impact on the Company\u2019s risk environment.</span>","language":"en-us"}]},{"name":"rpt:f-50","factDimensions":{"xbrl:concept":"cyd:CybersecurityRiskManagementProcessesForAssessingIdentifyingAndManagingThreatsTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">We believe we maintain an information technology and security program appropriate for a company of our size, taking into account our operations and risks. We recognize the critical importance of maintaining the trust and confidence of our investors, employees, customers and vendors. We have implemented cybersecurity processes designed to assess, identify, and manage risks from potential unauthorized occurrences on or through our information technology systems that may result in adverse effects on the confidentiality, integrity, and availability of these systems and the data residing therein. These processes include mechanisms, controls, and certain technologies designed to prevent or mitigate system intrusion or data loss, theft, misuse, or other security incidents or vulnerabilities and maintain a stable and secure information technology environment. For example, we conduct ongoing monitoring of critical systems for any compromised or potentially compromised accounts. We conduct regular trainings on cyber and information security, along with phishing simulations, among other topics. In addition, we consult with an outside information technology consultant on a regular basis to assist with assessing, identifying, and managing cybersecurity risks, including to anticipate future threats and trends, and their impact on the Company\u2019s risk environment.</span>","language":"en-us"}]},{"name":"rpt:f-51","factDimensions":{"xbrl:concept":"cyd:CybersecurityRiskThirdPartyOversightAndIdentificationProcessesFlag","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"true"}]},{"name":"rpt:f-52","factDimensions":{"xbrl:concept":"cyd:CybersecurityRiskManagementProcessesIntegratedFlag","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"true"}]},{"name":"rpt:f-53","factDimensions":{"xbrl:concept":"cyd:CybersecurityRiskManagementThirdPartyEngagedFlag","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"true"}]},{"name":"rpt:f-54","factDimensions":{"xbrl:concept":"cyd:CybersecurityRiskBoardOfDirectorsOversightTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Our Board of Directors oversees our risk management process.  The Audit Committee, by way of Board delegation, retains oversight of the Company\u2019s cybersecurity risks. The senior leadership team, including our Chief Financial Officer and Chief Executive Officer, provides periodic reports to our Board, as applicable. Our Director of Information Technology Strategy and Operations is responsible for leading the assessment and management of cybersecurity threats and periodically updating the Audit Committee as needed.    \u00a0\u00a0\u00a0\u00a0To date, we have not identified risks from known cybersecurity threats, including as a result of any prior cybersecurity incidents, that have materially affected us, including our operations, business strategy, results of operations, or financial condition.","language":"en-us"}]},{"name":"rpt:f-55","factDimensions":{"xbrl:concept":"cyd:CybersecurityRiskRoleOfManagementTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Our Board of Directors oversees our risk management process.  The Audit Committee, by way of Board delegation, retains oversight of the Company\u2019s cybersecurity risks. The senior leadership team, including our Chief Financial Officer and Chief Executive Officer, provides periodic reports to our Board, as applicable. Our Director of Information Technology Strategy and Operations is responsible for leading the assessment and management of cybersecurity threats and periodically updating the Audit Committee as needed.","language":"en-us"}]},{"name":"rpt:f-56","factDimensions":{"xbrl:concept":"cyd:CybersecurityRiskBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Our Board of Directors oversees our risk management process.","language":"en-us"}]},{"name":"rpt:f-57","factDimensions":{"xbrl:concept":"cyd:CybersecurityRiskProcessForInformingManagementOrCommitteesResponsibleTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"The Audit Committee, by way of Board delegation, retains oversight of the Company\u2019s cybersecurity risks. The senior leadership team, including our Chief Financial Officer and Chief Executive Officer, provides periodic reports to our Board, as applicable. Our Director of Information Technology Strategy and Operations is responsible for leading the assessment and management of cybersecurity threats and periodically updating the Audit Committee as needed.","language":"en-us"}]},{"name":"rpt:f-58","factDimensions":{"xbrl:concept":"cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"The senior leadership team, including our Chief Financial Officer and Chief Executive Officer, provides periodic reports to our Board, as applicable. Our Director of Information Technology Strategy and Operations is responsible for leading the assessment and management of cybersecurity threats and periodically updating the Audit Committee as needed.","language":"en-us"}]},{"name":"rpt:f-59","factDimensions":{"xbrl:concept":"cyd:CybersecurityRiskProcessForInformingBoardCommitteeOrSubcommitteeResponsibleForOversightTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"The senior leadership team, including our Chief Financial Officer and Chief Executive Officer, provides periodic reports to our Board, as applicable.","language":"en-us"}]},{"name":"rpt:f-60","factDimensions":{"xbrl:concept":"cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleFlag","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"true"}]},{"name":"rpt:f-61","factDimensions":{"xbrl:concept":"cyd:CybersecurityRiskManagementPositionsOrCommitteesResponsibleReportToBoardFlag","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"true"}]},{"name":"rpt:f-62","factDimensions":{"xbrl:concept":"cyd:CybersecurityRiskManagementExpertiseOfManagementResponsibleTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Our Director of Information Technology Strategy and Operations is responsible for leading the assessment and management of cybersecurity threats and periodically updating the Audit Committee as needed.","language":"en-us"}]},{"name":"rpt:f-63","factDimensions":{"xbrl:concept":"cyd:CybersecurityRiskMateriallyAffectedOrReasonablyLikelyToMateriallyAffectRegistrantFlag","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-64","factDimensions":{"xbrl:concept":"ecd:Rule10b51ArrTrmntdFlag","xbrl:period":"2026-02-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-65","factDimensions":{"xbrl:concept":"ecd:NonRule10b51ArrAdoptedFlag","xbrl:period":"2026-02-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-66","factDimensions":{"xbrl:concept":"ecd:NonRule10b51ArrTrmntdFlag","xbrl:period":"2026-02-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-67","factDimensions":{"xbrl:concept":"ecd:Rule10b51ArrAdoptedFlag","xbrl:period":"2026-02-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"false"}]},{"name":"rpt:f-68","factDimensions":{"xbrl:concept":"dei:AuditorFirmId","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"274","language":"en-us"}]},{"name":"rpt:f-69","factDimensions":{"xbrl:concept":"dei:AuditorName","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"EISNERAMPER LLP","language":"en-us"}]},{"name":"rpt:f-70","factDimensions":{"xbrl:concept":"dei:AuditorLocation","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Iselin, New Jersey","language":"en-us"}]},{"name":"rpt:f-71","factDimensions":{"xbrl:concept":"us-gaap:Cash","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4872000","decimals":-3}]},{"name":"rpt:f-72","factDimensions":{"xbrl:concept":"us-gaap:Cash","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9785000","decimals":-3}]},{"name":"rpt:f-73","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"13178000","decimals":-3}]},{"name":"rpt:f-74","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11204000","decimals":-3}]},{"name":"rpt:f-75","factDimensions":{"xbrl:concept":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1169000","decimals":-3}]},{"name":"rpt:f-76","factDimensions":{"xbrl:concept":"us-gaap:PrepaidExpenseAndOtherAssetsCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1369000","decimals":-3}]},{"name":"rpt:f-77","factDimensions":{"xbrl:concept":"us-gaap:AssetsCurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"19219000","decimals":-3}]},{"name":"rpt:f-78","factDimensions":{"xbrl:concept":"us-gaap:AssetsCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"22358000","decimals":-3}]},{"name":"rpt:f-79","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3697000","decimals":-3}]},{"name":"rpt:f-80","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5080000","decimals":-3}]},{"name":"rpt:f-81","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3526000","decimals":-3}]},{"name":"rpt:f-82","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4375000","decimals":-3}]},{"name":"rpt:f-83","factDimensions":{"xbrl:concept":"us-gaap:OtherAssetsNoncurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"212000","decimals":-3}]},{"name":"rpt:f-84","factDimensions":{"xbrl:concept":"us-gaap:OtherAssetsNoncurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"196000","decimals":-3}]},{"name":"rpt:f-85","factDimensions":{"xbrl:concept":"us-gaap:Goodwill","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"335000","decimals":-3}]},{"name":"rpt:f-86","factDimensions":{"xbrl:concept":"us-gaap:Goodwill","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"335000","decimals":-3}]},{"name":"rpt:f-87","factDimensions":{"xbrl:concept":"us-gaap:Assets","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"26989000","decimals":-3}]},{"name":"rpt:f-88","factDimensions":{"xbrl:concept":"us-gaap:Assets","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"32344000","decimals":-3}]},{"name":"rpt:f-89","factDimensions":{"xbrl:concept":"us-gaap:AccountsPayableCurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6903000","decimals":-3}]},{"name":"rpt:f-90","factDimensions":{"xbrl:concept":"us-gaap:AccountsPayableCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4248000","decimals":-3}]},{"name":"rpt:f-91","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2592000","decimals":-3}]},{"name":"rpt:f-92","factDimensions":{"xbrl:concept":"us-gaap:AccruedLiabilitiesCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2556000","decimals":-3}]},{"name":"rpt:f-93","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityCurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1520000","decimals":-3}]},{"name":"rpt:f-94","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1471000","decimals":-3}]},{"name":"rpt:f-95","factDimensions":{"xbrl:concept":"us-gaap:OtherLiabilitiesCurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"79000","decimals":-3}]},{"name":"rpt:f-96","factDimensions":{"xbrl:concept":"us-gaap:OtherLiabilitiesCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"135000","decimals":-3}]},{"name":"rpt:f-97","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8828000","decimals":-3}]},{"name":"rpt:f-98","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiabilityCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15443000","decimals":-3}]},{"name":"rpt:f-99","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"19922000","decimals":-3}]},{"name":"rpt:f-100","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"23853000","decimals":-3}]},{"name":"rpt:f-101","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityNoncurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2992000","decimals":-3}]},{"name":"rpt:f-102","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityNoncurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4634000","decimals":-3}]},{"name":"rpt:f-103","factDimensions":{"xbrl:concept":"us-gaap:OtherLiabilitiesNoncurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7000","decimals":-3}]},{"name":"rpt:f-104","factDimensions":{"xbrl:concept":"us-gaap:OtherLiabilitiesNoncurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"85000","decimals":-3}]},{"name":"rpt:f-105","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"22921000","decimals":-3}]},{"name":"rpt:f-106","factDimensions":{"xbrl:concept":"us-gaap:Liabilities","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"28572000","decimals":-3}]},{"name":"rpt:f-107","factDimensions":{"xbrl:concept":"us-gaap:CommonStockParOrStatedValuePerShare","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.001"}]},{"name":"rpt:f-108","factDimensions":{"xbrl:concept":"us-gaap:CommonStockParOrStatedValuePerShare","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.001"}]},{"name":"rpt:f-109","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesAuthorized","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"200000000"}]},{"name":"rpt:f-110","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesAuthorized","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"200000000"}]},{"name":"rpt:f-111","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesIssued","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"14007159"}]},{"name":"rpt:f-112","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesIssued","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13897503"}]},{"name":"rpt:f-113","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13886826"}]},{"name":"rpt:f-114","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13777170"}]},{"name":"rpt:f-115","factDimensions":{"xbrl:concept":"us-gaap:CommonStockValue","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-116","factDimensions":{"xbrl:concept":"us-gaap:CommonStockValue","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-117","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockCommonValue","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"708000","decimals":-3}]},{"name":"rpt:f-118","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockCommonValue","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"708000","decimals":-3}]},{"name":"rpt:f-119","factDimensions":{"xbrl:concept":"us-gaap:AdditionalPaidInCapitalCommonStock","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"85700000","decimals":-3}]},{"name":"rpt:f-120","factDimensions":{"xbrl:concept":"us-gaap:AdditionalPaidInCapitalCommonStock","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"84358000","decimals":-3}]},{"name":"rpt:f-121","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-81067000","decimals":-3}]},{"name":"rpt:f-122","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-79892000","decimals":-3}]},{"name":"rpt:f-123","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3939000","decimals":-3}]},{"name":"rpt:f-124","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquity","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3772000","decimals":-3}]},{"name":"rpt:f-125","factDimensions":{"xbrl:concept":"us-gaap:MinorityInterest","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"129000","decimals":-3}]},{"name":"rpt:f-126","factDimensions":{"xbrl:concept":"us-gaap:MinorityInterest","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-127","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4068000","decimals":-3}]},{"name":"rpt:f-128","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3772000","decimals":-3}]},{"name":"rpt:f-129","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesAndStockholdersEquity","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"26989000","decimals":-3}]},{"name":"rpt:f-130","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesAndStockholdersEquity","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"32344000","decimals":-3}]},{"name":"rpt:f-131","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"59425000","decimals":-3}]},{"name":"rpt:f-132","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"56944000","decimals":-3}]},{"name":"rpt:f-133","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"30900000","decimals":-3}]},{"name":"rpt:f-134","factDimensions":{"xbrl:concept":"us-gaap:CostOfGoodsAndServicesSold","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"28389000","decimals":-3}]},{"name":"rpt:f-135","factDimensions":{"xbrl:concept":"us-gaap:ResearchAndDevelopmentExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9084000","decimals":-3}]},{"name":"rpt:f-136","factDimensions":{"xbrl:concept":"us-gaap:ResearchAndDevelopmentExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6825000","decimals":-3}]},{"name":"rpt:f-137","factDimensions":{"xbrl:concept":"us-gaap:SellingAndMarketingExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9318000","decimals":-3}]},{"name":"rpt:f-138","factDimensions":{"xbrl:concept":"us-gaap:SellingAndMarketingExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7545000","decimals":-3}]},{"name":"rpt:f-139","factDimensions":{"xbrl:concept":"us-gaap:GeneralAndAdministrativeExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11152000","decimals":-3}]},{"name":"rpt:f-140","factDimensions":{"xbrl:concept":"us-gaap:GeneralAndAdministrativeExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9339000","decimals":-3}]},{"name":"rpt:f-141","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-111000","decimals":-3}]},{"name":"rpt:f-142","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-293000","decimals":-3}]},{"name":"rpt:f-143","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"60565000","decimals":-3}]},{"name":"rpt:f-144","factDimensions":{"xbrl:concept":"us-gaap:OperatingCostsAndExpenses","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"52391000","decimals":-3}]},{"name":"rpt:f-145","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1140000","decimals":-3}]},{"name":"rpt:f-146","factDimensions":{"xbrl:concept":"us-gaap:OperatingIncomeLoss","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4553000","decimals":-3}]},{"name":"rpt:f-147","factDimensions":{"xbrl:concept":"us-gaap:OtherNonoperatingIncomeExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"211000","decimals":-3}]},{"name":"rpt:f-148","factDimensions":{"xbrl:concept":"us-gaap:OtherNonoperatingIncomeExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"73000","decimals":-3}]},{"name":"rpt:f-149","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-929000","decimals":-3}]},{"name":"rpt:f-150","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4626000","decimals":-3}]},{"name":"rpt:f-151","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"246000","decimals":-3}]},{"name":"rpt:f-152","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-75000","decimals":-3}]},{"name":"rpt:f-153","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1175000","decimals":-3}]},{"name":"rpt:f-154","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4701000","decimals":-3}]},{"name":"rpt:f-155","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.08","decimals":2}]},{"name":"rpt:f-156","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.34","decimals":2}]},{"name":"rpt:f-157","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.08","decimals":2}]},{"name":"rpt:f-158","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.33","decimals":2}]},{"name":"rpt:f-159","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13832385","decimals":0}]},{"name":"rpt:f-160","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13659786","decimals":0}]},{"name":"rpt:f-161","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13832385","decimals":0}]},{"name":"rpt:f-162","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"14266781","decimals":0}]},{"name":"rpt:f-163","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"13714099"}]},{"name":"rpt:f-164","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-165","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockCommonShares","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"120333"}]},{"name":"rpt:f-166","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"-708000","decimals":-3}]},{"name":"rpt:f-167","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"83384000","decimals":-3}]},{"name":"rpt:f-168","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:NoncontrollingInterestMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-169","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-84593000","decimals":-3}]},{"name":"rpt:f-170","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1903000","decimals":-3}]},{"name":"rpt:f-171","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"654000","decimals":-3}]},{"name":"rpt:f-172","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"654000","decimals":-3}]},{"name":"rpt:f-173","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesOther","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"183404"}]},{"name":"rpt:f-174","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"320000","decimals":-3}]},{"name":"rpt:f-175","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"320000","decimals":-3}]},{"name":"rpt:f-176","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"4701000","decimals":-3}]},{"name":"rpt:f-177","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4701000","decimals":-3}]},{"name":"rpt:f-178","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"13897503"}]},{"name":"rpt:f-179","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-180","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockCommonShares","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"120333"}]},{"name":"rpt:f-181","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"-708000","decimals":-3}]},{"name":"rpt:f-182","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"84358000","decimals":-3}]},{"name":"rpt:f-183","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:NoncontrollingInterestMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-184","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-79892000","decimals":-3}]},{"name":"rpt:f-185","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3772000","decimals":-3}]},{"name":"rpt:f-186","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"1108000","decimals":-3}]},{"name":"rpt:f-187","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:NoncontrollingInterestMember"},"factValues":[{"value":"129000","decimals":-3}]},{"name":"rpt:f-188","factDimensions":{"xbrl:concept":"us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1237000","decimals":-3}]},{"name":"rpt:f-189","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesOther","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"109656"}]},{"name":"rpt:f-190","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"234000","decimals":-3}]},{"name":"rpt:f-191","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodValueOther","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"234000","decimals":-3}]},{"name":"rpt:f-192","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-1175000","decimals":-3}]},{"name":"rpt:f-193","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1175000","decimals":-3}]},{"name":"rpt:f-194","factDimensions":{"xbrl:concept":"us-gaap:CommonStockSharesOutstanding","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"14007159"}]},{"name":"rpt:f-195","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-196","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockCommonShares","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"120333"}]},{"name":"rpt:f-197","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:TreasuryStockCommonMember"},"factValues":[{"value":"-708000","decimals":-3}]},{"name":"rpt:f-198","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:AdditionalPaidInCapitalMember"},"factValues":[{"value":"85700000","decimals":-3}]},{"name":"rpt:f-199","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:NoncontrollingInterestMember"},"factValues":[{"value":"129000","decimals":-3}]},{"name":"rpt:f-200","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementEquityComponentsAxis":"us-gaap:RetainedEarningsMember"},"factValues":[{"value":"-81067000","decimals":-3}]},{"name":"rpt:f-201","factDimensions":{"xbrl:concept":"us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4068000","decimals":-3}]},{"name":"rpt:f-202","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1175000","decimals":-3}]},{"name":"rpt:f-203","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4701000","decimals":-3}]},{"name":"rpt:f-204","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensation","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1237000","decimals":-3}]},{"name":"rpt:f-205","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensation","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"654000","decimals":-3}]},{"name":"rpt:f-206","factDimensions":{"xbrl:concept":"us-gaap:DepreciationAndAmortization","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1377000","decimals":-3}]},{"name":"rpt:f-207","factDimensions":{"xbrl:concept":"us-gaap:DepreciationAndAmortization","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1640000","decimals":-3}]},{"name":"rpt:f-208","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-111000","decimals":-3}]},{"name":"rpt:f-209","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-293000","decimals":-3}]},{"name":"rpt:f-210","factDimensions":{"xbrl:concept":"csbr:IncreaseDecreaseInUncertainTaxPosition","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-211","factDimensions":{"xbrl:concept":"csbr:IncreaseDecreaseInUncertainTaxPosition","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-212","factDimensions":{"xbrl:concept":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1383000","decimals":-3}]},{"name":"rpt:f-213","factDimensions":{"xbrl:concept":"csbr:IncreaseDecreaseInOperatingLeaseRightOfUseAssets","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1172000","decimals":-3}]},{"name":"rpt:f-214","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnTerminationOfLease","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9000","decimals":-3}]},{"name":"rpt:f-215","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnTerminationOfLease","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-216","factDimensions":{"xbrl:concept":"us-gaap:ProvisionForDoubtfulAccounts","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"28000","decimals":-3}]},{"name":"rpt:f-217","factDimensions":{"xbrl:concept":"us-gaap:ProvisionForDoubtfulAccounts","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-272000","decimals":-3}]},{"name":"rpt:f-218","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsReceivable","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2002000","decimals":-3}]},{"name":"rpt:f-219","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsReceivable","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1436000","decimals":-3}]},{"name":"rpt:f-220","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-200000","decimals":-3}]},{"name":"rpt:f-221","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-144000","decimals":-3}]},{"name":"rpt:f-222","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInOtherNoncurrentAssets","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"16000","decimals":-3}]},{"name":"rpt:f-223","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInOtherNoncurrentAssets","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-224","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsPayable","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2558000","decimals":-3}]},{"name":"rpt:f-225","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccountsPayable","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1749000","decimals":-3}]},{"name":"rpt:f-226","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccruedLiabilities","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"37000","decimals":-3}]},{"name":"rpt:f-227","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInAccruedLiabilities","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"395000","decimals":-3}]},{"name":"rpt:f-228","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1586000","decimals":-3}]},{"name":"rpt:f-229","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInOperatingLeaseLiability","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1324000","decimals":-3}]},{"name":"rpt:f-230","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInContractWithCustomerLiability","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-6615000","decimals":-3}]},{"name":"rpt:f-231","factDimensions":{"xbrl:concept":"us-gaap:IncreaseDecreaseInContractWithCustomerLiability","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3349000","decimals":-3}]},{"name":"rpt:f-232","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInOperatingActivities","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-4472000","decimals":-3}]},{"name":"rpt:f-233","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInOperatingActivities","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7386000","decimals":-3}]},{"name":"rpt:f-234","factDimensions":{"xbrl:concept":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"564000","decimals":-3}]},{"name":"rpt:f-235","factDimensions":{"xbrl:concept":"us-gaap:PaymentsToAcquirePropertyPlantAndEquipment","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"389000","decimals":-3}]},{"name":"rpt:f-236","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromSaleOfMachineryAndEquipment","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"24000","decimals":-3}]},{"name":"rpt:f-237","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromSaleOfMachineryAndEquipment","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-238","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInInvestingActivities","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-540000","decimals":-3}]},{"name":"rpt:f-239","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInInvestingActivities","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-389000","decimals":-3}]},{"name":"rpt:f-240","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromStockOptionsExercised","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"234000","decimals":-3}]},{"name":"rpt:f-241","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromStockOptionsExercised","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"320000","decimals":-3}]},{"name":"rpt:f-242","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeasePrincipalPayments","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"135000","decimals":-3}]},{"name":"rpt:f-243","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeasePrincipalPayments","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"150000","decimals":-3}]},{"name":"rpt:f-244","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInFinancingActivities","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"99000","decimals":-3}]},{"name":"rpt:f-245","factDimensions":{"xbrl:concept":"us-gaap:NetCashProvidedByUsedInFinancingActivities","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"170000","decimals":-3}]},{"name":"rpt:f-246","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-4913000","decimals":-3}]},{"name":"rpt:f-247","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7167000","decimals":-3}]},{"name":"rpt:f-248","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9785000","decimals":-3}]},{"name":"rpt:f-249","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2618000","decimals":-3}]},{"name":"rpt:f-250","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4872000","decimals":-3}]},{"name":"rpt:f-251","factDimensions":{"xbrl:concept":"us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9785000","decimals":-3}]},{"name":"rpt:f-252","factDimensions":{"xbrl:concept":"us-gaap:CapitalExpendituresIncurredButNotYetPaid","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"98000","decimals":-3}]},{"name":"rpt:f-253","factDimensions":{"xbrl:concept":"us-gaap:CapitalExpendituresIncurredButNotYetPaid","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"197000","decimals":-3}]},{"name":"rpt:f-254","factDimensions":{"xbrl:concept":"us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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',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',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',serif;font-size:10pt;font-weight:400;line-height:112%\">Champions Oncology, Inc. (\"we\", \"our\", or the \u201cCompany\u201d), is engaged in drug discovery and development through data-driven research strategies and innovative pharmacology, biomarker and data platforms.  The Company\u2019s TumorGraft Technology Platform (\"the \"Platform\u201d), a comprehensive bank (the \"Bank\") of unique, well characterized \"Patient Derived XenoGrafts\" (PDX) models, is an 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 Platform, 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 is designed to facilitate 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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company has four operating subsidiaries: Champions Oncology (Israel), Limited, Champions Biotechnology U.K., Limited, Champions Oncology S.R.L., and Corellia AI, Inc. For the years ended April\u00a030, 2026 and 2025, 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',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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">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. </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',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company's wholly owned subsidiary, Corellia, has issued equity\u2011classified stock options to certain of its employees. Stock\u2011based compensation expense is recognized over the requisite service period, with the corresponding equity recorded as non-controlling interest in the consolidated statements of stockholders' equity. Because the options are unexercised, they do not represent an actual ownership interest, and no portion of the Company's net income or loss is attributed to non-controlling interest until the options are exercised. Refer to Note 8.</span></div>","language":"en-us"}]},{"name":"rpt:f-255","factDimensions":{"xbrl:concept":"csbr:NumberofOperatingSubsidiaries","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"csbr:subsidiary"},"factValues":[{"value":"4"}]},{"name":"rpt:f-256","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:OperatingSubsidiariesMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-257","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:OperatingSubsidiariesMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-258","factDimensions":{"xbrl:concept":"us-gaap:BasisOfAccountingPolicyPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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',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-259","factDimensions":{"xbrl:concept":"us-gaap:NumberOfReportableSegments","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"csbr:segment"},"factValues":[{"value":"1"}]},{"name":"rpt:f-260","factDimensions":{"xbrl:concept":"us-gaap:SignificantAccountingPoliciesTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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',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',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',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 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',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',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',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',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',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',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.   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><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',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',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',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, 2026\u00a0and 2025, the Company had cash balances of $4.9 million and $9.8 million, respectively, and no cash equivalents.  The Company maintains its cash balances in three major financial institutions which exceed federally insured limits.  The Company regularly monitors the financial stability of these financial institutions and believes that it is not exposed to any significant credit risk in its cash. If any liquidity and/or financial stability concerns arise with respect to banks and financial institutions, either nationally or in specific regions, the Company's ability to access cash or enter into new financing arrangements may be threatened, which could have a material adverse effect on its business, financial condition and results of operations.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',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\"><span style=\"color:#000000;font-family:'Times New Roman',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 30, 2026, the Company had a net loss of approximately $1.2 million, an accumulated deficit of approximately $81.1 million, negative working capital of approximately $703,000 and cash of $4.9 million. Despite the negative working capital, we believe that our cash on hand, together with expected cash flows from operations, are adequate to fund operations through at least August 2027. 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><span><br/></span></div><div><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">The carrying value of cash, accounts receivable, prepaid expenses, and other current assets, 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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',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',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',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 basis during the years ended April\u00a030, 2026 and 2025.</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',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',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',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, leasehold improvements, 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:f-277\">three</span> to seven 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',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',serif;font-size:10pt;font-weight:400;line-height:120%\"> The Company accounts for its leases under Financial Accounting Standards Board (\"FASB\") 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 (\"ROU\") asset 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',serif;font-size:10pt;font-weight:400;line-height:120%\">   Amortization expense for the ROU asset associated with its finance leases is recognized on a straight-line basis over the term of the lease and interest expense associated with its finance lease is recognized on the balance of the lease liability using the effective interest method based on the estimated incremental borrowing rate.</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',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',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',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 did not recognize any impairment losses for the Company\u2019s long-lived assets for the years ended April\u00a030, 2026 and 2025 . Refer to Note 4, \"Property and Equipment\". </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',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',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',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, the Company 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:36pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">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 the Company to conclude that impairment indicators exist and that goodwill is impaired.\u00a0For the years ended April\u00a030, 2026 and 2025, the Company's annual assessment did not result in any impairment indicators. </span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Cost of Oncology Revenue</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:120%\">Cost of oncology revenue consists of direct costs related to laboratory supplies, mice purchases, and maintenance costs for studies completed internally as well as charges from Contract Research Organizations for studies handled externally. Indirect costs include salaries and other payroll related costs of compensation for personnel directly engaged in providing Translational Oncology Solutions</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%\"> (\"</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">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',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',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',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',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',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',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',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',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',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',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',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',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 options using the treasury method. Dilutive earnings per share is not presented when it would be antidilutive to do so.</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',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',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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company generally recognizes expense for stock-based payments based on the fair value of awards on the date of grant.\u00a0\u00a0The Company primarily uses the Black-Scholes option pricing model to estimate fair value.  If awards contain market-based vesting conditions, a Monte Carlo simulation model is used 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 Monte Carlo simulation model is a generally accepted valuation technique that incorporates multiple potential future stock price paths and is particularly appropriate for awards with market-based performance conditions, as it captures the probability of achieving the applicable market condition over the expected term of the award.</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',serif;font-size:10pt;font-weight:400;line-height:120%\">Both valuation models require the Company to estimate certain key assumptions such as expected life, volatility, risk free interest rates and dividend yield, as applicable, to determine the grant date 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 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. For awards valued using the Monte Carlo simulation model, the valuation also incorporates the probability of achieving the applicable market condition and, where applicable, the correlation of the Company's stock price with the relevant market index or peer group. Forfeitures are accounted for as they occur. </span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',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',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\u00a0The Company expenses modification charges in the period of modification and, if required, over the remaining period the awards are expected to vest. </span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',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',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',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',serif;font-size:10pt;font-weight:400;line-height:115%\">    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. In 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. The 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. Changes in valuation allowances from period to period are included in the tax provision in the period of change. As of  April\u00a030, 2026 and 2025, 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><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">The Company reflects tax benefits only if it is more likely than not that the Company will be able to sustain the tax position, based on its technical merits. If 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. As of  April\u00a030, 2026 and 2025, the Company did not record any liabilities related to uncertain tax positions. The Company\u2019s practice is to recognize interest and/or penalties related to income tax matters in income tax expense. The Company did not accrue any interest or penalties in the Company\u2019s consolidated statements of operations for the years ended April\u00a030, 2026 and 2025.</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\"> For the years ended April\u00a030, 2026 and 2025, the Company recognized income tax expense of $246,000 and an income tax benefit of $75,000, respectively. For the year ended April\u00a030, 2026, income tax expense of $246,000 is mainly attributable to U.S. state income taxes due to net operating loss limitations and taxable income earned in Israel and Italy relating to transfer pricing. For the year ended April 30, 2025, the income tax benefit of $75,000 is related to the same items as indicated for the year ending 2026, net of a $181,000 reversal of an uncertain tax liability in Israel.</span></div><div><span><br/></span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',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',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 style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">All revenue is generated from contracts with customers. 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 style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',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. </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',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',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\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',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',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',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 toward the complete satisfaction of the performance obligation.</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',serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline\">License Revenue</span></div><div><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">       The Company also enters into contracts to provide access to certain Patient Derived Xenograft (\"PDX\") model data via a license agreement with payments based on a fixed-fee arrangement. The Company's current data licenses contain a single performance obligation of delivering access to the data license. The Company recognizes this license revenue up-front, at a point in time, when the performance obligation is satisfied with the delivery of the data.</span></div><div style=\"text-indent:18pt\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',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',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><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Accounts 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',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, with terms generally being 30-90 days. 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 when the revenue recognized exceeds </span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">the amount billed to the customer.  Such situations occur due to divergences between revenue recognition and the invoicing milestones which are based on predetermined payment terms.   Unbilled services are classified as a component of accounts receivable on the balance sheet. </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',serif;font-size:10pt;font-weight:400;line-height:112%\">Accounts receivable are customer obligations due under normal trade terms. The Company extends credit to its customers based on their creditworthiness and historical data and performs ongoing credit evaluations of our customers\u2019 financial condition. The Company maintains a provision for estimated credit losses related to accounts receivable for future expected bad debt resulting from the inability or unwillingness of our customers to make required payments. We estimate our provision for estimated credit losses based on relevant information such as historical experience, current economic conditions, and future expectations of specifically identified customer balances. This provision is adjusted as appropriate to reflect current conditions. After all attempts to collect a receivable have failed, the receivable is written off against the provision. We do not obtain collateral from our customers to secure accounts receivable.</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',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 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',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Segment Reporting </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Operating segments are identified as components of an enterprise for which separate discrete financial information is available for evaluation by the Company\u2019s chief operating decision maker (\u201cCODM\u201d) and relied upon when making decisions regarding resource allocation and assessing performance. When evaluating the Company\u2019s financial performance, the CODM reviews total revenues, total expenses, and expenses by functional classification, using this information to make decisions on a Company-wide basis.</span></div><div><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">       The Company currently operates in one reportable segment pertaining to oncology services. The CODM for the Company is the Chief Executive Officer (the \u201cCEO\u201d). The Company\u2019s CEO reviews operating results on an aggregate basis and manages the Company\u2019s operations on a consolidated basis for the purpose of evaluating financial performance and allocating resources. Accordingly, the Company has determined that it has a single reportable and operating segment structure. The CEO uses net income or loss as well as revenue results to allocate resources in the annual budgeting and forecasting process and also uses that measure as a basis for evaluating financial performance regularly by comparing actual results with established budgets and forecasts. All significant expense categories are presented on our Consolidated Statements of Operations. The measure of segment assets is reported on the Consolidated Balance Sheet as total assets. Segment revenues and expenses are identical to that disclosed in the accompanying Consolidated Statements of Operations.</span></div><div style=\"text-align:justify\"><span><br/></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',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Reclassifications</span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Certain prior period amounts have been reclassified to conform to the current period\u2019s presentation.</span></div><div><span><br/></span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Recent Accounting Pronouncements</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',serif;font-size:10pt;font-weight:400;line-height:120%\">In December 2023, the FASB issued ASU 2023-09, \u201cImprovements to Tax Disclosures\u201d (Topic 740). The new guidance is intended to enhance the transparency and decision usefulness of income tax disclosures through changes to the rate reconciliation and the income taxes paid information disclosed. The ASU is effective retrospectively for fiscal years beginning after December 15, 2024, with early adoption permitted. The Company adopted this ASU, retrospectively, as of May 1, 2025 and it has been included in the required disclosures in the Company's 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',serif;font-size:10pt;font-weight:400;line-height:120%\">In November 2024 and January 2025, the FASB issued ASU 2024-03, \"Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures\" (Subtopic 220-40) \"Disaggregation of Income Statement Expenses\" and ASU 2025-01 \"Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures\" (Subtopic 220-40): Clarifying the Effective Date\". The new guidance is intended to enhance transparency and disclosures by requiring public business entities to disclose additional information about specific expense categories in the notes to financial statements at interim and annual reporting periods. The ASU is effective for the first annual reporting periods after December 15, 2026, and interim periods within annual reporting periods beginning after December 15, 2027, with early adoption permitted. The Company is in the process of evaluating the impact that the adoption of this ASU will have on its financial statements and related disclosures, which is not expected to be material.</span></div>","language":"en-us"}]},{"name":"rpt:f-261","factDimensions":{"xbrl:concept":"us-gaap:ConsolidationPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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',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',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 intercompany balances and transactions have been eliminated in consolidation.</span></div>","language":"en-us"}]},{"name":"rpt:f-262","factDimensions":{"xbrl:concept":"us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Foreign Currency</span></div>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.","language":"en-us"}]},{"name":"rpt:f-263","factDimensions":{"xbrl:concept":"us-gaap:UseOfEstimates","xbrl:period":"2025-05-01T00:00:00/2026-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',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',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',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.   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-264","factDimensions":{"xbrl:concept":"us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div><span style=\"color:#000000;font-family:'Times New Roman',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',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-265","factDimensions":{"xbrl:concept":"us-gaap:Cash","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4900000","decimals":-5}]},{"name":"rpt:f-266","factDimensions":{"xbrl:concept":"us-gaap:Cash","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9800000","decimals":-5}]},{"name":"rpt:f-267","factDimensions":{"xbrl:concept":"us-gaap:CashEquivalentsAtCarryingValue","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-268","factDimensions":{"xbrl:concept":"us-gaap:CashEquivalentsAtCarryingValue","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-269","factDimensions":{"xbrl:concept":"csbr:NumberOfMajorInstitutionsWithCashBalances","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"csbr:institution"},"factValues":[{"value":"3"}]},{"name":"rpt:f-270","factDimensions":{"xbrl:concept":"csbr:NumberOfMajorInstitutionsWithCashBalances","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"csbr:institution"},"factValues":[{"value":"3"}]},{"name":"rpt:f-271","factDimensions":{"xbrl:concept":"us-gaap:ProfitLoss","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1200000","decimals":-5}]},{"name":"rpt:f-272","factDimensions":{"xbrl:concept":"us-gaap:RetainedEarningsAccumulatedDeficit","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-81100000","decimals":-5}]},{"name":"rpt:f-273","factDimensions":{"xbrl:concept":"csbr:WorkingCapitalDeficit","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"703000","decimals":-3}]},{"name":"rpt:f-274","factDimensions":{"xbrl:concept":"us-gaap:Cash","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4900000","decimals":-5}]},{"name":"rpt:f-275","factDimensions":{"xbrl:concept":"us-gaap:FairValueMeasurementPolicyPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">The carrying value of cash, accounts receivable, prepaid expenses, and other current assets, 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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',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',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-276","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesFairValueDisclosure","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:FairValueByMeasurementFrequencyAxis":"us-gaap:FairValueMeasurementsRecurringMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-277","factDimensions":{"xbrl:concept":"us-gaap:AssetsFairValueDisclosure","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:FairValueByMeasurementFrequencyAxis":"us-gaap:FairValueMeasurementsRecurringMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-278","factDimensions":{"xbrl:concept":"us-gaap:AssetsFairValueDisclosure","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:FairValueByMeasurementFrequencyAxis":"us-gaap:FairValueMeasurementsNonrecurringMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-279","factDimensions":{"xbrl:concept":"us-gaap:AssetsFairValueDisclosure","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:FairValueByMeasurementFrequencyAxis":"us-gaap:FairValueMeasurementsRecurringMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-280","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesFairValueDisclosure","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:FairValueByMeasurementFrequencyAxis":"us-gaap:FairValueMeasurementsNonrecurringMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-281","factDimensions":{"xbrl:concept":"us-gaap:AssetsFairValueDisclosure","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:FairValueByMeasurementFrequencyAxis":"us-gaap:FairValueMeasurementsNonrecurringMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-282","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesFairValueDisclosure","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:FairValueByMeasurementFrequencyAxis":"us-gaap:FairValueMeasurementsRecurringMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-283","factDimensions":{"xbrl:concept":"us-gaap:LiabilitiesFairValueDisclosure","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:FairValueByMeasurementFrequencyAxis":"us-gaap:FairValueMeasurementsNonrecurringMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-284","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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',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, leasehold improvements, 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:f-277\">three</span> to seven years.","language":"en-us"}]},{"name":"rpt:f-285","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentUsefulLife","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"P7Y"}]},{"name":"rpt:f-286","factDimensions":{"xbrl:concept":"us-gaap:LesseeLeasesPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div><span style=\"color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:120%\"> The Company accounts for its leases under Financial Accounting Standards Board (\"FASB\") 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 (\"ROU\") asset 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',serif;font-size:10pt;font-weight:400;line-height:120%\">   Amortization expense for the ROU asset associated with its finance leases is recognized on a straight-line basis over the term of the lease and interest expense associated with its finance lease is recognized on the balance of the lease liability using the effective interest method based on the estimated incremental borrowing rate.</span></div>","language":"en-us"}]},{"name":"rpt:f-287","factDimensions":{"xbrl:concept":"us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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',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-288","factDimensions":{"xbrl:concept":"us-gaap:ImpairmentOfLongLivedAssetsHeldForUse","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-289","factDimensions":{"xbrl:concept":"us-gaap:ImpairmentOfLongLivedAssetsHeldForUse","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-290","factDimensions":{"xbrl:concept":"us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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',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',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, the Company 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>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 the Company to conclude that impairment indicators exist and that goodwill is impaired.","language":"en-us"}]},{"name":"rpt:f-291","factDimensions":{"xbrl:concept":"us-gaap:GoodwillImpairmentLoss","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-292","factDimensions":{"xbrl:concept":"us-gaap:GoodwillImpairmentLoss","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0"}]},{"name":"rpt:f-293","factDimensions":{"xbrl:concept":"us-gaap:CostOfSalesPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Cost of Oncology Revenue</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:120%\">Cost of oncology revenue consists of direct costs related to laboratory supplies, mice purchases, and maintenance costs for studies completed internally as well as charges from Contract Research Organizations for studies handled externally. Indirect costs include salaries and other payroll related costs of compensation for personnel directly engaged in providing Translational Oncology Solutions</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%\"> (\"</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">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-294","factDimensions":{"xbrl:concept":"us-gaap:ResearchAndDevelopmentExpensePolicy","xbrl:period":"2025-05-01T00:00:00/2026-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',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',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-295","factDimensions":{"xbrl:concept":"csbr:SalesAndMarketingExpensePolicyPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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',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',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-296","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerSharePolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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',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',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 options using the treasury method. Dilutive earnings per share is not presented when it would be antidilutive to do so.</span></div>","language":"en-us"}]},{"name":"rpt:f-297","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy","xbrl:period":"2025-05-01T00:00:00/2026-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',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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company generally recognizes expense for stock-based payments based on the fair value of awards on the date of grant.\u00a0\u00a0The Company primarily uses the Black-Scholes option pricing model to estimate fair value.  If awards contain market-based vesting conditions, a Monte Carlo simulation model is used 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 Monte Carlo simulation model is a generally accepted valuation technique that incorporates multiple potential future stock price paths and is particularly appropriate for awards with market-based performance conditions, as it captures the probability of achieving the applicable market condition over the expected term of the award.</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',serif;font-size:10pt;font-weight:400;line-height:120%\">Both valuation models require the Company to estimate certain key assumptions such as expected life, volatility, risk free interest rates and dividend yield, as applicable, to determine the grant date 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 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. For awards valued using the Monte Carlo simulation model, the valuation also incorporates the probability of achieving the applicable market condition and, where applicable, the correlation of the Company's stock price with the relevant market index or peer group. Forfeitures are accounted for as they occur. </span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div>The Company expenses stock-based payments over the period that the awards are expected to vest.\u00a0\u00a0The Company expenses modification charges in the period of modification and, if required, over the remaining period the awards are expected to vest.","language":"en-us"}]},{"name":"rpt:f-298","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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',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',serif;font-size:10pt;font-weight:400;line-height:115%\">    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. In 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. The 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. Changes in valuation allowances from period to period are included in the tax provision in the period of change. As of  April\u00a030, 2026 and 2025, 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><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">The Company reflects tax benefits only if it is more likely than not that the Company will be able to sustain the tax position, based on its technical merits. If 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. As of  April\u00a030, 2026 and 2025, the Company did not record any liabilities related to uncertain tax positions. The Company\u2019s practice is to recognize interest and/or penalties related to income tax matters in income tax expense. The Company did not accrue any interest or penalties in the Company\u2019s consolidated statements of operations for the years ended April\u00a030, 2026 and 2025.</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\"> For the years ended April\u00a030, 2026 and 2025, the Company recognized income tax expense of $246,000 and an income tax benefit of $75,000, respectively. For the year ended April\u00a030, 2026, income tax expense of $246,000 is mainly attributable to U.S. state income taxes due to net operating loss limitations and taxable income earned in Israel and Italy relating to transfer pricing. For the year ended April 30, 2025, the income tax benefit of $75,000 is related to the same items as indicated for the year ending 2026, net of a $181,000 reversal of an uncertain tax liability in Israel.</span></div>","language":"en-us"}]},{"name":"rpt:f-299","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"246000","decimals":-3}]},{"name":"rpt:f-300","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-75000","decimals":-3}]},{"name":"rpt:f-301","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"246000","decimals":-3}]},{"name":"rpt:f-302","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-75000","decimals":-3}]},{"name":"rpt:f-303","factDimensions":{"xbrl:concept":"us-gaap:TaxAdjustmentsSettlementsAndUnusualProvisions","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-304","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div><span style=\"color:#000000;font-family:'Times New Roman',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',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 style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">All revenue is generated from contracts with customers. 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 style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',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. </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',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',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\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',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',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',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 toward the complete satisfaction of the performance obligation.</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',serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline\">License Revenue</span></div><div><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">       The Company also enters into contracts to provide access to certain Patient Derived Xenograft (\"PDX\") model data via a license agreement with payments based on a fixed-fee arrangement. The Company's current data licenses contain a single performance obligation of delivering access to the data license. The Company recognizes this license revenue up-front, at a point in time, when the performance obligation is satisfied with the delivery of the data.</span></div><div style=\"text-indent:18pt\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',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',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><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Accounts 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',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, with terms generally being 30-90 days. 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 when the revenue recognized exceeds </span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">the amount billed to the customer.  Such situations occur due to divergences between revenue recognition and the invoicing milestones which are based on predetermined payment terms.   Unbilled services are classified as a component of accounts receivable on the balance sheet. </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',serif;font-size:10pt;font-weight:400;line-height:112%\">Accounts receivable are customer obligations due under normal trade terms. The Company extends credit to its customers based on their creditworthiness and historical data and performs ongoing credit evaluations of our customers\u2019 financial condition. The Company maintains a provision for estimated credit losses related to accounts receivable for future expected bad debt resulting from the inability or unwillingness of our customers to make required payments. We estimate our provision for estimated credit losses based on relevant information such as historical experience, current economic conditions, and future expectations of specifically identified customer balances. This provision is adjusted as appropriate to reflect current conditions. After all attempts to collect a receivable have failed, the receivable is written off against the provision. We do not obtain collateral from our customers to secure accounts receivable.</span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',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 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-305","factDimensions":{"xbrl:concept":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:ProductOrServiceAxis":"csbr:FewContractsMember","us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis":"2026-05-01","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"P1Y"}]},{"name":"rpt:f-306","factDimensions":{"xbrl:concept":"us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:ProductOrServiceAxis":"csbr:FewContractsMember","us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis":"2026-05-01","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-307","factDimensions":{"xbrl:concept":"us-gaap:SegmentReportingPolicyPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Segment Reporting </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Operating segments are identified as components of an enterprise for which separate discrete financial information is available for evaluation by the Company\u2019s chief operating decision maker (\u201cCODM\u201d) and relied upon when making decisions regarding resource allocation and assessing performance. When evaluating the Company\u2019s financial performance, the CODM reviews total revenues, total expenses, and expenses by functional classification, using this information to make decisions on a Company-wide basis.</span></div><div><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">       The Company currently operates in one reportable segment pertaining to oncology services. The CODM for the Company is the Chief Executive Officer (the \u201cCEO\u201d). The Company\u2019s CEO reviews operating results on an aggregate basis and manages the Company\u2019s operations on a consolidated basis for the purpose of evaluating financial performance and allocating resources. Accordingly, the Company has determined that it has a single reportable and operating segment structure. The CEO uses net income or loss as well as revenue results to allocate resources in the annual budgeting and forecasting process and also uses that measure as a basis for evaluating financial performance regularly by comparing actual results with established budgets and forecasts. All significant expense categories are presented on our Consolidated Statements of Operations. The measure of segment assets is reported on the Consolidated Balance Sheet as total assets. Segment revenues and expenses are identical to that disclosed in the accompanying Consolidated Statements of Operations.</span></div>","language":"en-us"}]},{"name":"rpt:f-308","factDimensions":{"xbrl:concept":"us-gaap:NumberOfReportableSegments","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"csbr:segment"},"factValues":[{"value":"1"}]},{"name":"rpt:f-309","factDimensions":{"xbrl:concept":"us-gaap:NumberOfOperatingSegments","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"csbr:segment"},"factValues":[{"value":"1"}]},{"name":"rpt:f-310","factDimensions":{"xbrl:concept":"us-gaap:PriorPeriodReclassificationAdjustmentDescription","xbrl:period":"2025-05-01T00:00:00/2026-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',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Reclassifications</span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Certain prior period amounts have been reclassified to conform to the current period\u2019s presentation.</span></div>","language":"en-us"}]},{"name":"rpt:f-311","factDimensions":{"xbrl:concept":"us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Recent Accounting Pronouncements</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',serif;font-size:10pt;font-weight:400;line-height:120%\">In December 2023, the FASB issued ASU 2023-09, \u201cImprovements to Tax Disclosures\u201d (Topic 740). The new guidance is intended to enhance the transparency and decision usefulness of income tax disclosures through changes to the rate reconciliation and the income taxes paid information disclosed. The ASU is effective retrospectively for fiscal years beginning after December 15, 2024, with early adoption permitted. The Company adopted this ASU, retrospectively, as of May 1, 2025 and it has been included in the required disclosures in the Company's 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',serif;font-size:10pt;font-weight:400;line-height:120%\">In November 2024 and January 2025, the FASB issued ASU 2024-03, \"Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures\" (Subtopic 220-40) \"Disaggregation of Income Statement Expenses\" and ASU 2025-01 \"Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures\" (Subtopic 220-40): Clarifying the Effective Date\". The new guidance is intended to enhance transparency and disclosures by requiring public business entities to disclose additional information about specific expense categories in the notes to financial statements at interim and annual reporting periods. The ASU is effective for the first annual reporting periods after December 15, 2026, and interim periods within annual reporting periods beginning after December 15, 2027, with early adoption permitted. The Company is in the process of evaluating the impact that the adoption of this ASU will have on its financial statements and related disclosures, which is not expected to be material.</span></div>","language":"en-us"}]},{"name":"rpt:f-312","factDimensions":{"xbrl:concept":"us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Accounts Receivable, Unbilled Services and Deferred Revenue<div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Accounts receivable and unbilled services were 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:93.859%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:59.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.828%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.734%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.205%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.046%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.740%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2026</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2024</span></td></tr><tr><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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;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:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Accounts receivable</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6,707\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6,835\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,886\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Unbilled services</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7,528\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,398\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,941\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14,235\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">12,233\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">10,827\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: allowance for estimated credit losses</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,057)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,029)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,301)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,178\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,204\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9,526\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:7pt;font-weight:400;line-height:120%\"> </span></div><div style=\"text-indent:18pt\"><span><br/></span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Allowances for doubtful accounts and estimated credit losses were as follows (in thousands): </span></div><div style=\"text-indent:18pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.877%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:82.715%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:14.121%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.764%\"></td><td style=\"width:0.1%\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:5pt\"><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=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Beginning balance April 30, 2024</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">1,301</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Plus: Provision for credit losses and doubtful accounts</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">64\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Reversal of provision for credit losses and doubtful accounts, net</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(209)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Reversal for amounts subsequently collected</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(71)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Write offs</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(56)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Balance April 30, 2025</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">1,029</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Plus: Provision for credit losses and doubtful accounts</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">86\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Reversal of provision for credit losses and doubtful accounts, net</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(58)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></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=\"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:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Ending balance April 30, 2026</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">1,057</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr></table></div><div style=\"text-indent:18pt\"><span><br/></span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue was as follows (in thousands):</span></div><div style=\"text-indent:18pt\"><span><br/></span></div><div style=\"text-indent:18pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.146%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:83.530%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:14.270%\"></td><td style=\"width:0.1%\"></td></tr><tr style=\"height:5pt\"><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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Beginning balance April 30, 2024</span></td><td style=\"background-color:#bfe4ff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">$</span></td><td style=\"background-color:#bfe4ff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">12,094</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td style=\"background-color:#bfe4ff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Additions:</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">29,973\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Revenue Recognized</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(26,624)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Balance April 30, 2025</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">15,443</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Additions:</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">24,102\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Revenue Recognized</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(30,717)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Balance April 30, 2026</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">8,828</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:3pt double #000;padding:0 1pt\"></td></tr></table></div><div style=\"margin-top:5pt;text-align:center\"><span><br/></span></div><div><span><br/></span></div><div style=\"text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue is shown as a current liability on the Company's consolidated balance sheet.</span></div>","language":"en-us"}]},{"name":"rpt:f-313","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',serif;font-size:10pt;font-weight:400;line-height:120%\">Accounts receivable and unbilled services were 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:93.859%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:59.647%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.828%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.734%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.205%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.046%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.740%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2026</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2024</span></td></tr><tr><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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;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:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Accounts receivable</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6,707\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6,835\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,886\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Unbilled services</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7,528\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,398\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,941\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14,235\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">12,233\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">10,827\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: allowance for estimated credit losses</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,057)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,029)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,301)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,178\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,204\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9,526\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-314","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGross","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6707000","decimals":-3}]},{"name":"rpt:f-315","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGross","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"6835000","decimals":-3}]},{"name":"rpt:f-316","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGross","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4886000","decimals":-3}]},{"name":"rpt:f-317","factDimensions":{"xbrl:concept":"us-gaap:UnbilledContractsReceivable","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7528000","decimals":-3}]},{"name":"rpt:f-318","factDimensions":{"xbrl:concept":"us-gaap:UnbilledContractsReceivable","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5398000","decimals":-3}]},{"name":"rpt:f-319","factDimensions":{"xbrl:concept":"us-gaap:UnbilledContractsReceivable","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5941000","decimals":-3}]},{"name":"rpt:f-320","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGrossCurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"14235000","decimals":-3}]},{"name":"rpt:f-321","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGrossCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12233000","decimals":-3}]},{"name":"rpt:f-322","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableGrossCurrent","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10827000","decimals":-3}]},{"name":"rpt:f-323","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivable","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1057000","decimals":-3}]},{"name":"rpt:f-324","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivable","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1029000","decimals":-3}]},{"name":"rpt:f-325","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivable","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1301000","decimals":-3}]},{"name":"rpt:f-326","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"13178000","decimals":-3}]},{"name":"rpt:f-327","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11204000","decimals":-3}]},{"name":"rpt:f-328","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableNetCurrent","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"9526000","decimals":-3}]},{"name":"rpt:f-329","factDimensions":{"xbrl:concept":"us-gaap:AccountsReceivableAllowanceForCreditLossTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',serif;font-size:10pt;font-weight:400;line-height:120%\">Allowances for doubtful accounts and estimated credit losses were as follows (in thousands): </span></div><div style=\"text-indent:18pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.877%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:82.715%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:14.121%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.764%\"></td><td style=\"width:0.1%\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr style=\"height:5pt\"><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=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Beginning balance April 30, 2024</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">1,301</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Plus: Provision for credit losses and doubtful accounts</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">64\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Reversal of provision for credit losses and doubtful accounts, net</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(209)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Reversal for amounts subsequently collected</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(71)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Write offs</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(56)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Balance April 30, 2025</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">1,029</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Plus: Provision for credit losses and doubtful accounts</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">86\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Reversal of provision for credit losses and doubtful accounts, net</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(58)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></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=\"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:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Ending balance April 30, 2026</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">1,057</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-330","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivable","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1301000","decimals":-3}]},{"name":"rpt:f-331","factDimensions":{"xbrl:concept":"csbr:AccountsReceivableAllowanceForCreditLossProvisionForCreditLossesAndBadDebt","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"64000","decimals":-3}]},{"name":"rpt:f-332","factDimensions":{"xbrl:concept":"csbr:AccountsReceivableAllowanceForCreditLossReversalOfProvisionForCreditLossesAndBadDebt","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"209000","decimals":-3}]},{"name":"rpt:f-333","factDimensions":{"xbrl:concept":"csbr:AccountsReceivableAllowanceForCreditLossReversalForAmountsSubsequentlyCollected","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"71000","decimals":-3}]},{"name":"rpt:f-334","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"56000","decimals":-3}]},{"name":"rpt:f-335","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivable","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1029000","decimals":-3}]},{"name":"rpt:f-336","factDimensions":{"xbrl:concept":"csbr:AccountsReceivableAllowanceForCreditLossProvisionForCreditLossesAndBadDebt","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"86000","decimals":-3}]},{"name":"rpt:f-337","factDimensions":{"xbrl:concept":"csbr:AccountsReceivableAllowanceForCreditLossReversalOfProvisionForCreditLossesAndBadDebt","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"58000","decimals":-3}]},{"name":"rpt:f-338","factDimensions":{"xbrl:concept":"us-gaap:AllowanceForDoubtfulAccountsReceivable","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1057000","decimals":-3}]},{"name":"rpt:f-339","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',serif;font-size:10pt;font-weight:400;line-height:120%\">Deferred revenue was as follows (in thousands):</span></div><div style=\"text-indent:18pt\"><span><br/></span></div><div style=\"text-indent:18pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.146%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:83.530%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:14.270%\"></td><td style=\"width:0.1%\"></td></tr><tr style=\"height:5pt\"><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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Beginning balance April 30, 2024</span></td><td style=\"background-color:#bfe4ff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">$</span></td><td style=\"background-color:#bfe4ff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">12,094</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td style=\"background-color:#bfe4ff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Additions:</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">29,973\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Revenue Recognized</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(26,624)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Balance April 30, 2025</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">15,443</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Additions:</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">24,102\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Revenue Recognized</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(30,717)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Balance April 30, 2026</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">8,828</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:3pt double #000;padding:0 1pt\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-340","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiability","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12094000","decimals":-3}]},{"name":"rpt:f-341","factDimensions":{"xbrl:concept":"csbr:ContractWithCustomerLiabilityAdditions","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"29973000","decimals":-3}]},{"name":"rpt:f-342","factDimensions":{"xbrl:concept":"csbr:ContractWithCustomerLiabilityRevenueRecognizedIncludingOpeningBalance","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"26624000","decimals":-3}]},{"name":"rpt:f-343","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiability","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"15443000","decimals":-3}]},{"name":"rpt:f-344","factDimensions":{"xbrl:concept":"csbr:ContractWithCustomerLiabilityAdditions","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"24102000","decimals":-3}]},{"name":"rpt:f-345","factDimensions":{"xbrl:concept":"csbr:ContractWithCustomerLiabilityRevenueRecognizedIncludingOpeningBalance","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"30717000","decimals":-3}]},{"name":"rpt:f-346","factDimensions":{"xbrl:concept":"us-gaap:ContractWithCustomerLiability","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8828000","decimals":-3}]},{"name":"rpt:f-347","factDimensions":{"xbrl:concept":"us-gaap:LesseeFinanceLeasesTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30,</span></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Computer equipment and software</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,248\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,165\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Laboratory equipment</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,465\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,323\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Capitalized software development costs</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,888\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,888\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Assets in progress</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">210\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">124\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Leasehold improvements</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">361\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">317\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total property and equipment</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">16,418\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">16,063\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(12,892)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(11,688)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\"><span style=\"-sec-ix-hidden:f-359\"><span style=\"-sec-ix-hidden:f-360\">Property and equipment, net</span></span></span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,526\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,375\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0\u00a0\u00a0\u00a0Depreciation and amortization expense was $1.4\u00a0million and $1.6\u00a0million for the years ended April\u00a030, 2026 and 2025, respectively.  Depreciation and amortization expense, excluding expense recorded under finance leases, was\u00a0$1.2 million and $1.5 million\u00a0for the years ended\u00a0April 30, 2026\u00a0and\u00a02025, respectively. </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',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0\u00a0\u00a0\u00a0As of\u00a0April 30, 2026\u00a0and\u00a02025, property, plant and equipment included gross assets held under finance leases of $1.0\u00a0million, respectively. Related depreciation expense for these assets was approximately $135,000 and $150,000 for the years ended\u00a0April\u00a030, 2026\u00a0and\u00a02025, respectively.   </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',serif;font-size:10pt;font-weight:400;line-height:120%\">During the year ended April 30, 2026, the Company sold and disposed of lab equipment with a cost of $307,000 and accumulated depreciation of $172,000, for proceeds of $24,000, resulting in a loss on sale and disposal of equipment recorded of $111,000.  During the year ended April 30, 2025, the Company disposed of lab equipment with a cost of $636,000 and accumulated depreciation of $343,000 as of the disposal date, resulting in a loss on disposal of equipment recorded of $293,000. </span></div><div style=\"text-align:justify;text-indent:36pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',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;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">During fiscal 2022, the Company recognized a finance lease for laboratory equipment.  This equipment was obtained as the result of a laboratory supplies purchase commitment with costs of approximately $370,000 at inception through December 2025. Cash payments for this lease were in the form of consideration for purchasing lab supplies under a purchase commitment agreement. The present value of the minimum future obligations of $370,000 was calculated based on an interest rate of 3.25%. Depreciation and amortization expense related to this finance lease was $59,000 and $77,000 for the years ended April 30, 2026 and 2025, respectively.  Interest on the related finance lease liability was approximately $600 and $3,000 for the years ended April 30, 2026 and 2025, respectively.</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',serif;font-size:10pt;font-weight:400;line-height:120%\">During fiscal 2023, the Company recognized a finance lease for laboratory equipment.  This equipment was obtained as the result of a laboratory supplies purchase commitment with costs of approximately $368,000 at inception through May 2027. Cash payments for this lease are in the form of consideration for purchasing lab supplies under a purchase commitment agreement. The present value of the minimum future obligations of $368,000 was calculated based on an interest rate of 3.5%. Depreciation and amortization expense related to this finance lease was $76,000 and $73,000 for the years ended April 30, 2026 and 2025, respectively. Interest on the related finance lease liability was approximately $4,000 and $7,000 for the years ended April 30, 2026 and 2025, respectively.</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',serif;font-size:10pt;font-weight:400;line-height:120%\">As noted above, the Company's financing leases are for laboratory equipment. The associated liabilities for these leases are classified on the consolidated balance sheets within other current and other non-current liabilities. The weighted average remaining lease term of these leases is 1.08 years. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Financing lease assets (lab equipment) and lease liabilities related to our current financing leases are as follows (in thousands):</span></div><div style=\"text-align:justify;text-indent:18pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:82.748%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:51.903%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:22.398%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:22.399%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2026</span></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Financing lease net asset</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">85\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">220\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\"><span style=\"-sec-ix-hidden:f-396\"><span style=\"-sec-ix-hidden:f-397\">Current portion of financing lease liabilities</span></span><br/></span></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">79\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">135\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\"><span style=\"-sec-ix-hidden:f-400\"><span style=\"-sec-ix-hidden:f-401\">Non-current portion of financing lease liabilities</span></span></span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">85\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></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',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=\"text-align:justify;text-indent:36pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:36pt\"><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:23.850%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:48.998%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.852%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2027</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">80\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2028</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Thereafter</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total undiscounted liabilities</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">87\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Imputed interest</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(2)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Present value of minimum lease payments</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">85\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:6pt\"><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:3pt double #000;padding:0 1pt\"></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></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-348","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30,</span></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Computer equipment and software</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,248\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,165\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Laboratory equipment</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,465\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,323\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Capitalized software development costs</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,888\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,888\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Assets in progress</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">210\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">124\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Leasehold improvements</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">361\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">317\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total property and equipment</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">16,418\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">16,063\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(12,892)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(11,688)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\"><span style=\"-sec-ix-hidden:f-359\"><span style=\"-sec-ix-hidden:f-360\">Property and equipment, net</span></span></span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,526\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,375\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0\u00a0\u00a0\u00a0Depreciation and amortization expense was $1.4\u00a0million and $1.6\u00a0million for the years ended April\u00a030, 2026 and 2025, respectively.  Depreciation and amortization expense, excluding expense recorded under finance leases, was\u00a0$1.2 million and $1.5 million\u00a0for the years ended\u00a0April 30, 2026\u00a0and\u00a02025, respectively. </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',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0\u00a0\u00a0\u00a0As of\u00a0April 30, 2026\u00a0and\u00a02025, property, plant and equipment included gross assets held under finance leases of $1.0\u00a0million, respectively. Related depreciation expense for these assets was approximately $135,000 and $150,000 for the years ended\u00a0April\u00a030, 2026\u00a0and\u00a02025, respectively.   </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',serif;font-size:10pt;font-weight:400;line-height:120%\">During the year ended April 30, 2026, the Company sold and disposed of lab equipment with a cost of $307,000 and accumulated depreciation of $172,000, for proceeds of $24,000, resulting in a loss on sale and disposal of equipment recorded of $111,000.  During the year ended April 30, 2025, the Company disposed of lab equipment with a cost of $636,000 and accumulated depreciation of $343,000 as of the disposal date, resulting in a loss on disposal of equipment recorded of $293,000. </span></div><div style=\"text-align:justify;text-indent:36pt\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',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;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">During fiscal 2022, the Company recognized a finance lease for laboratory equipment.  This equipment was obtained as the result of a laboratory supplies purchase commitment with costs of approximately $370,000 at inception through December 2025. Cash payments for this lease were in the form of consideration for purchasing lab supplies under a purchase commitment agreement. The present value of the minimum future obligations of $370,000 was calculated based on an interest rate of 3.25%. Depreciation and amortization expense related to this finance lease was $59,000 and $77,000 for the years ended April 30, 2026 and 2025, respectively.  Interest on the related finance lease liability was approximately $600 and $3,000 for the years ended April 30, 2026 and 2025, respectively.</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',serif;font-size:10pt;font-weight:400;line-height:120%\">During fiscal 2023, the Company recognized a finance lease for laboratory equipment.  This equipment was obtained as the result of a laboratory supplies purchase commitment with costs of approximately $368,000 at inception through May 2027. Cash payments for this lease are in the form of consideration for purchasing lab supplies under a purchase commitment agreement. The present value of the minimum future obligations of $368,000 was calculated based on an interest rate of 3.5%. Depreciation and amortization expense related to this finance lease was $76,000 and $73,000 for the years ended April 30, 2026 and 2025, respectively. Interest on the related finance lease liability was approximately $4,000 and $7,000 for the years ended April 30, 2026 and 2025, respectively.</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',serif;font-size:10pt;font-weight:400;line-height:120%\">As noted above, the Company's financing leases are for laboratory equipment. The associated liabilities for these leases are classified on the consolidated balance sheets within other current and other non-current liabilities. The weighted average remaining lease term of these leases is 1.08 years. </span></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Financing lease assets (lab equipment) and lease liabilities related to our current financing leases are as follows (in thousands):</span></div><div style=\"text-align:justify;text-indent:18pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:82.748%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:51.903%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:22.398%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:22.399%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2026</span></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Financing lease net asset</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">85\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">220\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\"><span style=\"-sec-ix-hidden:f-396\"><span style=\"-sec-ix-hidden:f-397\">Current portion of financing lease liabilities</span></span><br/></span></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">79\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">135\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\"><span style=\"-sec-ix-hidden:f-400\"><span style=\"-sec-ix-hidden:f-401\">Non-current portion of financing lease liabilities</span></span></span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">85\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></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',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=\"text-align:justify;text-indent:36pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:36pt\"><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:23.850%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:48.998%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.852%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2027</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">80\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2028</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Thereafter</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total undiscounted liabilities</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">87\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Imputed interest</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(2)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Present value of minimum lease payments</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">85\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:6pt\"><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:3pt double #000;padding:0 1pt\"></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></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-349","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30,</span></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Computer equipment and software</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,248\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,165\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Laboratory equipment</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,465\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11,323\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Capitalized software development costs</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,888\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,888\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Assets in progress</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">210\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">124\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Leasehold improvements</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">361\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">317\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total property and equipment</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">16,418\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">16,063\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(12,892)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(11,688)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\"><span style=\"-sec-ix-hidden:f-359\"><span style=\"-sec-ix-hidden:f-360\">Property and equipment, net</span></span></span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,526\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,375\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-350","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2026-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-351","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-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-352","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:ComputerEquipmentMember"},"factValues":[{"value":"2248000","decimals":-3}]},{"name":"rpt:f-353","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:ComputerEquipmentMember"},"factValues":[{"value":"2165000","decimals":-3}]},{"name":"rpt:f-354","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"csbr:LaboratoryEquipmentMember"},"factValues":[{"value":"11465000","decimals":-3}]},{"name":"rpt:f-355","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"csbr:LaboratoryEquipmentMember"},"factValues":[{"value":"11323000","decimals":-3}]},{"name":"rpt:f-356","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:SoftwareDevelopmentMember"},"factValues":[{"value":"1888000","decimals":-3}]},{"name":"rpt:f-357","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:SoftwareDevelopmentMember"},"factValues":[{"value":"1888000","decimals":-3}]},{"name":"rpt:f-358","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"csbr:AssetInProgressMember"},"factValues":[{"value":"210000","decimals":-3}]},{"name":"rpt:f-359","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"csbr:AssetInProgressMember"},"factValues":[{"value":"124000","decimals":-3}]},{"name":"rpt:f-360","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:LeaseholdImprovementsMember"},"factValues":[{"value":"361000","decimals":-3}]},{"name":"rpt:f-361","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:LeaseholdImprovementsMember"},"factValues":[{"value":"317000","decimals":-3}]},{"name":"rpt:f-362","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"16418000","decimals":-3}]},{"name":"rpt:f-363","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentGross","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"16063000","decimals":-3}]},{"name":"rpt:f-364","factDimensions":{"xbrl:concept":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"12892000","decimals":-3}]},{"name":"rpt:f-365","factDimensions":{"xbrl:concept":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"11688000","decimals":-3}]},{"name":"rpt:f-366","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3526000","decimals":-3}]},{"name":"rpt:f-367","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4375000","decimals":-3}]},{"name":"rpt:f-368","factDimensions":{"xbrl:concept":"us-gaap:DepreciationDepletionAndAmortization","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1400000","decimals":-5}]},{"name":"rpt:f-369","factDimensions":{"xbrl:concept":"us-gaap:DepreciationDepletionAndAmortization","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1600000","decimals":-5}]},{"name":"rpt:f-370","factDimensions":{"xbrl:concept":"csbr:DepreciationAndAmortizationExcludingFinanceLeases","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1200000","decimals":-5}]},{"name":"rpt:f-371","factDimensions":{"xbrl:concept":"csbr:DepreciationAndAmortizationExcludingFinanceLeases","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1500000","decimals":-5}]},{"name":"rpt:f-372","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAsset","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"1000000.0","decimals":-5}]},{"name":"rpt:f-373","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAsset","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"1000000.0","decimals":-5}]},{"name":"rpt:f-374","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseDepreciationAndAmortizationExpenses","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"135000","decimals":-3}]},{"name":"rpt:f-375","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseDepreciationAndAmortizationExpenses","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"150000","decimals":-3}]},{"name":"rpt:f-376","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentDisposals","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"307000","decimals":-3}]},{"name":"rpt:f-377","factDimensions":{"xbrl:concept":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationSaleOfPropertyPlantAndEquipment1","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"172000","decimals":-3}]},{"name":"rpt:f-378","factDimensions":{"xbrl:concept":"us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"24000","decimals":-3}]},{"name":"rpt:f-379","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"-111000","decimals":-3}]},{"name":"rpt:f-380","factDimensions":{"xbrl:concept":"us-gaap:PropertyPlantAndEquipmentDisposals","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"636000","decimals":-3}]},{"name":"rpt:f-381","factDimensions":{"xbrl:concept":"us-gaap:AccumulatedDepreciationDepletionAndAmortizationSaleOfPropertyPlantAndEquipment1","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"343000","decimals":-3}]},{"name":"rpt:f-382","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnSaleOfPropertyPlantEquipment","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PropertyPlantAndEquipmentByTypeAxis":"us-gaap:EquipmentMember"},"factValues":[{"value":"-293000","decimals":-3}]},{"name":"rpt:f-383","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseCost","xbrl:period":"2021-05-01T00:00:00/2022-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"370000","decimals":-3}]},{"name":"rpt:f-384","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseCost","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"370000","decimals":-3}]},{"name":"rpt:f-385","factDimensions":{"xbrl:concept":"csbr:PresentValueMinimumFutureObligationsInterestRate","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"0.0325"}]},{"name":"rpt:f-386","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"59000","decimals":-3}]},{"name":"rpt:f-387","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"77000","decimals":-3}]},{"name":"rpt:f-388","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestPaymentOnLiability","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"600","decimals":-2}]},{"name":"rpt:f-389","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestPaymentOnLiability","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2022FinanceLeaseMember"},"factValues":[{"value":"3000","decimals":-3}]},{"name":"rpt:f-390","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseCost","xbrl:period":"2022-05-01T00:00:00/2023-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"368000","decimals":-3}]},{"name":"rpt:f-391","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseCost","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"368000","decimals":-3}]},{"name":"rpt:f-392","factDimensions":{"xbrl:concept":"csbr:PresentValueMinimumFutureObligationsInterestRate","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"0.035"}]},{"name":"rpt:f-393","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"76000","decimals":-3}]},{"name":"rpt:f-394","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"73000","decimals":-3}]},{"name":"rpt:f-395","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestPaymentOnLiability","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"4000","decimals":-3}]},{"name":"rpt:f-396","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestPaymentOnLiability","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","csbr:FinanceLeaseAxis":"csbr:A2023FinanceLeaseMember"},"factValues":[{"value":"7000","decimals":-3}]},{"name":"rpt:f-397","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseWeightedAverageRemainingLeaseTerm1","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P1Y29D"}]},{"name":"rpt:f-398","factDimensions":{"xbrl:concept":"csbr:AssetsAndLiabilitiesLesseeTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Financing lease assets (lab equipment) and lease liabilities related to our current financing leases are as follows (in thousands):</span></div><div style=\"text-align:justify;text-indent:18pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:82.748%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:51.903%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:22.398%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:22.399%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2026</span></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Financing lease net asset</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">85\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">220\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\"><span style=\"-sec-ix-hidden:f-396\"><span style=\"-sec-ix-hidden:f-397\">Current portion of financing lease liabilities</span></span><br/></span></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">79\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">135\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\"><span style=\"-sec-ix-hidden:f-400\"><span style=\"-sec-ix-hidden:f-401\">Non-current portion of financing lease liabilities</span></span></span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">85\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:justify;text-indent:4.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\"> ROU assets and lease liabilities related to the Company's current operating leases are 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: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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2026</span></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,697\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,080\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Current portion of operating lease liabilities<br/></span></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,520\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,471\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,992\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,634\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-399","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAsset","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"85000","decimals":-3}]},{"name":"rpt:f-400","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAsset","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"220000","decimals":-3}]},{"name":"rpt:f-401","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityCurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"79000","decimals":-3}]},{"name":"rpt:f-402","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"135000","decimals":-3}]},{"name":"rpt:f-403","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityNoncurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7000","decimals":-3}]},{"name":"rpt:f-404","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityNoncurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"85000","decimals":-3}]},{"name":"rpt:f-405","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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=\"text-align:justify;text-indent:36pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:36pt\"><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:23.850%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:48.998%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:23.852%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2027</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">80\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2028</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Thereafter</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total undiscounted liabilities</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">87\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Imputed interest</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(2)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Present value of minimum lease payments</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">85\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:6pt\"><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:3pt double #000;padding:0 1pt\"></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></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-406","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityPaymentsDueNextTwelveMonths","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"80000","decimals":-3}]},{"name":"rpt:f-407","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityPaymentsDueYearTwo","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"7000","decimals":-3}]},{"name":"rpt:f-408","factDimensions":{"xbrl:concept":"csbr:FinanceLeaseLiabilityToBePaidAfterYearTwo","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-409","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityPaymentsDue","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"87000","decimals":-3}]},{"name":"rpt:f-410","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiabilityUndiscountedExcessAmount","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2000","decimals":-3}]},{"name":"rpt:f-411","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseLiability","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"85000","decimals":-3}]},{"name":"rpt:f-412","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Oncology Revenue</span></div><div><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">       The following table represents disaggregated revenue for the twelve months ended April\u00a030, 2026 and 2025:</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">57,133\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">48,585\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">TOS data license revenue </span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">764\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,676\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Other TOS revenue</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,528\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,683\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></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></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total oncology revenue</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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 #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">59,425\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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 #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">56,944\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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;text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\"> </span></div><div style=\"margin-top:5pt;text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">TOS data license revenue represents revenue from the sale of a license to access certain of the Company's PDX data. Other TOS revenue represents additional services provided to the Company's pharmaceutical and biotechnology customers,  specifically flow cytometry services and software-as-a-service (\"SaaS\") provided via our Lumin Bioinformatics software. </span></div><div style=\"margin-top:5pt\"><span><br/></span></div><div style=\"margin-top:5pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Contract Balances</span></div>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.  Refer to Note 3 for related balances.","language":"en-us"}]},{"name":"rpt:f-413","factDimensions":{"xbrl:concept":"us-gaap:DisaggregationOfRevenueTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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, 2026 and 2025:<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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">57,133\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">48,585\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">TOS data license revenue </span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">764\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,676\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Other TOS revenue</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,528\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,683\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></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></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total oncology revenue</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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 #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">59,425\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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 #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">56,944\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-414","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:PharmacologyServicesMember"},"factValues":[{"value":"57133000","decimals":-3}]},{"name":"rpt:f-415","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:PharmacologyServicesMember"},"factValues":[{"value":"48585000","decimals":-3}]},{"name":"rpt:f-416","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember"},"factValues":[{"value":"764000","decimals":-3}]},{"name":"rpt:f-417","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"csbr:TranslationalOncologySolutionsTOSLicenseRevenueMember"},"factValues":[{"value":"4676000","decimals":-3}]},{"name":"rpt:f-418","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"us-gaap:ProductAndServiceOtherMember"},"factValues":[{"value":"1528000","decimals":-3}]},{"name":"rpt:f-419","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:ProductOrServiceAxis":"us-gaap:ProductAndServiceOtherMember"},"factValues":[{"value":"3683000","decimals":-3}]},{"name":"rpt:f-420","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"59425000","decimals":-3}]},{"name":"rpt:f-421","factDimensions":{"xbrl:concept":"us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"56944000","decimals":-3}]},{"name":"rpt:f-422","factDimensions":{"xbrl:concept":"us-gaap:ConcentrationRiskDisclosureTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">For the year ended April\u00a030, 2026, one of our customers accounted for 10% or more of our total revenue, at 24%.  For the year ended April 30, 2025, the same customer accounted for 10% or more of our total revenue, at 13%, and an additional customer accounted for 10% of our total revenue.  </span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div>As of April\u00a030, 2026, our significant customer also accounted for 25% of our total net accounts receivable balance.","language":"en-us"}]},{"name":"rpt:f-423","factDimensions":{"xbrl:concept":"us-gaap:ConcentrationRiskPercentage1","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:ConcentrationRiskByTypeAxis":"us-gaap:CustomerConcentrationRiskMember","srt:MajorCustomersAxis":"csbr:CustomerOneMember","us-gaap:ConcentrationRiskByBenchmarkAxis":"us-gaap:SalesRevenueNetMember"},"factValues":[{"value":"0.24","decimals":2}]},{"name":"rpt:f-424","factDimensions":{"xbrl:concept":"us-gaap:ConcentrationRiskPercentage1","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:ConcentrationRiskByTypeAxis":"us-gaap:CustomerConcentrationRiskMember","srt:MajorCustomersAxis":"csbr:CustomerOneMember","us-gaap:ConcentrationRiskByBenchmarkAxis":"us-gaap:SalesRevenueNetMember"},"factValues":[{"value":"0.13","decimals":2}]},{"name":"rpt:f-425","factDimensions":{"xbrl:concept":"us-gaap:ConcentrationRiskPercentage1","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:ConcentrationRiskByTypeAxis":"us-gaap:CustomerConcentrationRiskMember","srt:MajorCustomersAxis":"csbr:CustomerTwoMember","us-gaap:ConcentrationRiskByBenchmarkAxis":"us-gaap:SalesRevenueNetMember"},"factValues":[{"value":"0.10","decimals":2}]},{"name":"rpt:f-426","factDimensions":{"xbrl:concept":"us-gaap:ConcentrationRiskPercentage1","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:ConcentrationRiskByTypeAxis":"us-gaap:CustomerConcentrationRiskMember","srt:MajorCustomersAxis":"csbr:CustomerOneMember","us-gaap:ConcentrationRiskByBenchmarkAxis":"us-gaap:AccountsReceivableMember"},"factValues":[{"value":"0.25","decimals":2}]},{"name":"rpt:f-427","factDimensions":{"xbrl:concept":"us-gaap:CommitmentsAndContingenciesDisclosureTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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',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',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',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',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',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',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',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 a private placement in March 2015. 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',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 approximately nil\u00a0to $30,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 20% 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, 2026 and 2025, the Company has recognized approximately $594,000 and  $462,000 in expense related to these royalty arrangements, respectively. Royalty expense is included in cost of oncology revenue in the accompanying consolidated statements of operations.","language":"en-us"}]},{"name":"rpt:f-428","factDimensions":{"xbrl:concept":"csbr:CollaborationArrangementRoyaltyFee","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-429","factDimensions":{"xbrl:concept":"csbr:CollaborationArrangementRoyaltyFee","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"30000"}]},{"name":"rpt:f-430","factDimensions":{"xbrl:concept":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MinimumMember"},"factValues":[{"value":"0.02"}]},{"name":"rpt:f-431","factDimensions":{"xbrl:concept":"csbr:CollaborationArrangementRoyaltyFeePercentOfContractPrice","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"0.20"}]},{"name":"rpt:f-432","factDimensions":{"xbrl:concept":"us-gaap:RoyaltyExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"594000","decimals":-3}]},{"name":"rpt:f-433","factDimensions":{"xbrl:concept":"us-gaap:RoyaltyExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"462000","decimals":-3}]},{"name":"rpt:f-434","factDimensions":{"xbrl:concept":"us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">Stock-based compensation in the amount of $1.2\u00a0million and $654,000 was recognized for years ended April\u00a030, 2026 and 2025, 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">969\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">414\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Sales and marketing</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">78\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">125\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Research and development</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">134\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">10\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">TOS cost of sales</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">56\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">105\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:14pt\"><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;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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total stock-based compensation expense</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,237\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">654\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div><span><br/></span></div><div><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">For the twelve months ended April 30, 2026, stock-based compensation expense for research and development includes approximately $129,000, for options granted by the Company's wholly-owned subsidiary, Corellia, to certain of its employees. </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',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company has in place a 2021 Equity Incentive Plan and 2010 Equity Incentive Plan as well as the 2023 Global Equity Incentive Plan which is specific to Corellia (collectively, the \"Plans\"). In general, these Plans provide for stock-based compensation to the Company\u2019s employees, directors and non-employees. The 2010 and 2021 Plans also provide for limits on the aggregate number of shares that may be granted, the term of grants and the strike price of option awards. </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',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">2021 Equity Incentive Plan</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:120%\">As part of the 2021 Annual Shareholders Meeting, shareholders approved the adoption of the 2021 Equity Incentive Plan (\u201c2021 Equity Plan\u201d). The purpose of the 2021 Equity Plan is to grant (i) Non-statutory Stock Options; (ii) Incentive Stock Options; (iii) Restricted Stock Awards; and/or (iv) Stock Appreciation Rights (collectively, stock-based compensation) to its employees, directors and non-employees. Total stock awards under the 2021 Equity Plan shall not exceed 2\u00a0million 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 (the \"Board\") or Chief Executive Officer. 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.  As of April 30, 2026, approximately 80,000 shares were left to issue under this plan and 1.9\u00a0million options granted under the 2021 plan were outstanding. </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',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',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',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. 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.  After February 2021, no more shares were available to be issued from this plan. As of April 30, 2026, approximately 732,000 options granted under the 2010 plan were still outstanding.</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0\u00a0</span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">2023 Global Equity Incentive Plan</span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\"> </span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">As part of the establishment of Corellia, the subsidiary's Board of Directors approved the adoption of the 2023 Global Equity Incentive Plan (\"the Plan\"). The purpose of the Plan is to grant (i) Non-statutory Stock Options; (ii) Incentive Stock Options; and/or (iii) Restricted Stock Awards (collectively, stock-based compensation) to its employees, directors and non-employees. Options expire no later than ten years from the date of grant. Options awards vest as follows, unless otherwise determined by the subsidiary's Board or Plan Administrator, twenty-five percent (25%) of the options grant on the first anniversary of the vesting commencement date (and in the absence of such determination, of date on which such Options were granted), and six and one-quarter percent (6.25%) of the options grant at the end of each subsequent three-month period thereafter over the course of the following three (3) years. </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',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:112%\">Director Compensation Plan</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',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',serif;font-size:10pt;font-weight:400;line-height:107%\">On December 12, 2013, the Compensation Committee of the Board (the \"Committee\") 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 were 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 was entitled to an annual award of a five-year option to purchase 16,667 shares of the Company\u2019s common stock.\u00a0\u00a0Independent directors who serve as chairperson of a committee were also to receive an annual grant of a five-year option to purchase 1,667 shares of the Company\u2019s common stock. </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',serif;font-size:10pt;font-weight:400;line-height:107%\">During fiscal year 2021, the Committee adopted the Director Compensation Plan of 2021 (the \"2021 Plan\").  Under the 2021 Plan, independent directors are entitled to an annual base compensation of $100,000 which can be received in either ten-year options to purchase shares of the Company's stock, which vest fully over a one-year period, or a combination of options and cash, where cash received is not to exceed $35,000.  The Chairman of the Board\u2019s annual compensation was set at an equivalent of $150,000. Compensation for independent directors who serve as chairperson of a committee was set at an equivalent of between $110,000 to $120,000. All options issued under the 2021 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 compensation upon joining the Board equal to a pro-rata equivalent for the remainder of the year.\u00a0Options issued under the 2021 Plan are issued pursuant to the 2021 Equity Plan.\u00a0</span></div><div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',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',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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">Black-Scholes and Monte Carlo assumptions  used to calculate the fair value of Champions options granted by the Company during the years ended April\u00a030, 2026 and 2025 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:79.385%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:25.971%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:25.971%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:20.078%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.720%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:22.660%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a06</span></div></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Risk-free interest rates</span></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3.6% - 4.5%</span></div></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3.6% - 4.5%</span></div></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Volatility</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">53% - 62%</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">54% - 63%</span></div></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Dividend yield</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></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',serif;font-size:10pt;font-weight:400;line-height:120%\">The weighted average fair value at grant date of stock options granted during the years ended April\u00a030, 2026 and 2025, was $4.10 and $2.86, respectively. </span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Black-Scholes assumptions used to calculate the fair value of Corellia options granted by Corellia during May 2025 were as follows:</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"padding-left:108pt;text-align:justify;text-indent:18pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:53.654%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:38.954%\"></td><td style=\"width:0.1%\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.162%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:26.420%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.162%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:27.510%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.892%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></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=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Expected term in years</span></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=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Risk-free interest rates</span></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=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.15%</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Volatility</span></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=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">65%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Dividend yield</span></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=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr></table></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The weighted average fair value at grant date of stock options granted during year ended April\u00a030, 2026 was $1,364. There have been no Corellia stock options granted prior to or since the first quarter of fiscal 2026 and no options were granted during the year ended April 30, 2025.</span></div><div style=\"text-align:justify\"><span><br/></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',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company\u2019s stock options activity and related information as of and for the years ended April\u00a030, 2026 and 2025 is as follows:</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, May 1, 2025</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,671,182\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7,500\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,678,682\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.98\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,434,000\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Granted</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,205,272\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,205,272\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7.08\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9.3</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Exercised</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(109,656)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(109,656)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2.13\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Canceled</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(14,875)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(14,875)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7.23\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Forfeited</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(66,270)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(66,270)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7.53\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Expired</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(53,333)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(53,333)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11.96\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, April 30, 2026</span></div></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,632,320\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7,500\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,639,820\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5.84\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6.4</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,673,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Vested and expected to vest as of April 30, 2026</span></div></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,632,320\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7,500\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,639,820\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5.84\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6.4</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,673,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Exercisable as of April 30, 2026</span></div></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,462,450\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7,500\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,469,950\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.86\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,618,000\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></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.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 style=\"height:11pt\"><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=\"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><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><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><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><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><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><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><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><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><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><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><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><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><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></table></div><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:120%\">\u00a0</span></div><div style=\"text-align:justify;text-indent:22.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">The remaining unrecognized stock-based compensation expense at April 30, 2026 was $4.1\u00a0million. Of this amount, $2.1\u00a0million is expected to be recognized over weighted-average periods ranging from 1.8 to 2.58 years. The remaining </span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">$2.0\u00a0million relates to awards with performance-based conditions that are not currently considered probable of achievement and will be recognized only if and when the applicable performance conditions become probable. As of April 30, 2026, there were 490,000 options that have these performance-based vesting provisions and are subject to forfeiture, in whole or in part, if these performance conditions are not achieved. Management assesses, on an ongoing basis, the probability of whether the performance criteria will be achieved and, if it is deemed probable, stock-based compensation expense is recognized over the relevant performance period.</span></div><div style=\"text-align:justify;text-indent:22.5pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:22.5pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:22.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">The stock options activity for the Corellia 2023 Global equity incentive plan for the year ended April\u00a030, 2026 was as follows: </span></div><div style=\"text-align:justify\"><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:28.578%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.765%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.180%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.969%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:6.940%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.384%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.449%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.823%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.011%\"></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:9.871%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Directors<br/>and<br/>Employees</span></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, April 30, 2025</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Granted</span></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,682.00\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9.06</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">110,000\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 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><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><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><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><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:#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;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=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, April 30, 2026</span></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,682.00\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9.06</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">110,000\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 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;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;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=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Vested and expected to vest as of April 30, 2026</span></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,682.00\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9.06</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">110,000\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 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;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;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=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Exercisable as of April 30, 2026</span></td><td colspan=\"2\" style=\"border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></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><br/></span></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">The remaining unrecognized stock-based compensation expense at April 30, 2026 was $281,000. This amount relates to time-based awards with a remaining weighted average recognition period of 2.06 years </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',serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%\">Share Repurchase Program</span></div>On March 29, 2023, the Board of Directors approved a share repurchase program authorizing the Company to purchase up to an aggregate of $5.0\u00a0million of the Company\u2019s common stock. The share repurchase program is designed in accordance with Rule 10b-18 of the Exchange Act. The shares may be purchased from time to time in the open market, as permitted under applicable rules and regulations, at prevailing market prices. The timing and amount of repurchases will depend on market conditions, share price, applicable legal requirements and other factors. The program does not obligate the Company to acquire a minimum number of shares. As of April 30, 2026, the Company had purchased approximately  120,300 shares of its common stock, at an average price of $5.73 per share, totaling approximately $708,000 and leaving an available balance of approximately $4.3\u00a0million authorized by the Board for use in the program as of that date.  The Company did not purchase any shares of its common stock during the year ended April 30, 2026.","language":"en-us"}]},{"name":"rpt:f-435","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1200000","decimals":-5}]},{"name":"rpt:f-436","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"654000","decimals":-3}]},{"name":"rpt:f-437","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Stock-based compensation costs were recorded as follows (in thousands):<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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">969\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">414\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Sales and marketing</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">78\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">125\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Research and development</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">134\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">10\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">TOS cost of sales</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">56\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">105\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:14pt\"><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;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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total stock-based compensation expense</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,237\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">654\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-438","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementOfIncomeLocationBalanceAxis":"us-gaap:GeneralAndAdministrativeExpense"},"factValues":[{"value":"969000","decimals":-3}]},{"name":"rpt:f-439","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementOfIncomeLocationBalanceAxis":"us-gaap:GeneralAndAdministrativeExpense"},"factValues":[{"value":"414000","decimals":-3}]},{"name":"rpt:f-440","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementOfIncomeLocationBalanceAxis":"us-gaap:SellingAndMarketingExpense"},"factValues":[{"value":"78000","decimals":-3}]},{"name":"rpt:f-441","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementOfIncomeLocationBalanceAxis":"us-gaap:SellingAndMarketingExpense"},"factValues":[{"value":"125000","decimals":-3}]},{"name":"rpt:f-442","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementOfIncomeLocationBalanceAxis":"us-gaap:ResearchAndDevelopmentExpense"},"factValues":[{"value":"134000","decimals":-3}]},{"name":"rpt:f-443","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementOfIncomeLocationBalanceAxis":"us-gaap:ResearchAndDevelopmentExpense"},"factValues":[{"value":"10000","decimals":-3}]},{"name":"rpt:f-444","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementOfIncomeLocationBalanceAxis":"us-gaap:CostOfGoodsAndServicesSold"},"factValues":[{"value":"56000","decimals":-3}]},{"name":"rpt:f-445","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementOfIncomeLocationBalanceAxis":"us-gaap:CostOfGoodsAndServicesSold"},"factValues":[{"value":"105000","decimals":-3}]},{"name":"rpt:f-446","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1237000","decimals":-3}]},{"name":"rpt:f-447","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"654000","decimals":-3}]},{"name":"rpt:f-448","factDimensions":{"xbrl:concept":"us-gaap:AllocatedShareBasedCompensationExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:StatementOfIncomeLocationBalanceAxis":"us-gaap:ResearchAndDevelopmentExpense"},"factValues":[{"value":"129000","decimals":-3}]},{"name":"rpt:f-449","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2021Member","srt:RangeAxis":"srt:MaximumMember"},"factValues":[{"value":"2000000"}]},{"name":"rpt:f-450","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2021Member"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-451","factDimensions":{"xbrl:concept":"csbr:ShareBasedPaymentArrangementOptionExercisePricePercentageOfFairValueOfCommonStockMinimum","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2021Member"},"factValues":[{"value":"1"}]},{"name":"rpt:f-452","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2021Member"},"factValues":[{"value":"80000","decimals":-3}]},{"name":"rpt:f-453","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2021Member"},"factValues":[{"value":"1900000","decimals":-3}]},{"name":"rpt:f-454","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","xbrl:period":"2026-05-01T00: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-455","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2010Member"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-456","factDimensions":{"xbrl:concept":"csbr:ShareBasedPaymentArrangementOptionExercisePricePercentageOfFairValueOfCommonStockMinimum","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2010Member"},"factValues":[{"value":"1"}]},{"name":"rpt:f-457","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant","xbrl:period":"2021-03-02T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2010Member"},"factValues":[{"value":"0"}]},{"name":"rpt:f-458","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:EquityIncentivePlan2010Member"},"factValues":[{"value":"732000","decimals":-3}]},{"name":"rpt:f-459","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-460","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:VestingAxis":"us-gaap:ShareBasedCompensationAwardTrancheOneMember"},"factValues":[{"value":"0.25","decimals":2}]},{"name":"rpt:f-461","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:VestingAxis":"us-gaap:ShareBasedCompensationAwardTrancheTwoMember"},"factValues":[{"value":"0.0625","decimals":4}]},{"name":"rpt:f-462","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:VestingAxis":"csbr:ShareBasedPaymentArrangementAfterTrancheOneMember"},"factValues":[{"value":"P3Y"}]},{"name":"rpt:f-463","factDimensions":{"xbrl:concept":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","xbrl:period":"2013-12-12T00:00:00/2013-12-13T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember","srt:TitleOfIndividualAxis":"csbr:IndependentDirectorsMember"},"factValues":[{"value":"P5Y"}]},{"name":"rpt:f-464","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","srt:TitleOfIndividualAxis":"csbr:IndependentDirectorsMember"},"factValues":[{"value":"8333"}]},{"name":"rpt:f-465","factDimensions":{"xbrl:concept":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","xbrl:period":"2013-12-12T00:00:00/2013-12-13T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember"},"factValues":[{"value":"P5Y"}]},{"name":"rpt:f-466","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","srt:TitleOfIndividualAxis":"csbr:ChairpersonOfACommitteeMember"},"factValues":[{"value":"16667"}]},{"name":"rpt:f-467","factDimensions":{"xbrl:concept":"csbr:SharebasedCompensationArrangementbySharebasedPaymentAwardTermofOptiontoPurchase","xbrl:period":"2013-12-12T00:00:00/2013-12-13T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember","srt:TitleOfIndividualAxis":"csbr:ChairpersonOfACommitteeMember"},"factValues":[{"value":"P5Y"}]},{"name":"rpt:f-468","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","srt:TitleOfIndividualAxis":"csbr:ChairpersonOfACommitteeMember"},"factValues":[{"value":"1667"}]},{"name":"rpt:f-469","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationAnnualBaseCompensationAmount","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember","srt:TitleOfIndividualAxis":"csbr:IndependentDirectorsMember"},"factValues":[{"value":"100000"}]},{"name":"rpt:f-470","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":"csbr:IndependentDirectorsMember"},"factValues":[{"value":"P10Y"}]},{"name":"rpt:f-471","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember","srt:TitleOfIndividualAxis":"csbr:IndependentDirectorsMember"},"factValues":[{"value":"P1Y"}]},{"name":"rpt:f-472","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationAnnualBaseCompensationAmount","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RangeAxis":"srt:MaximumMember","srt:TitleOfIndividualAxis":"csbr:IndependentDirectorsMember","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember","csbr:TriggeringEventAxis":"csbr:OptionsAndCashMember"},"factValues":[{"value":"35000"}]},{"name":"rpt:f-473","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationAnnualBaseCompensationAmount","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember"},"factValues":[{"value":"150000"}]},{"name":"rpt:f-474","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationAnnualBaseCompensationAmount","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RangeAxis":"srt:MinimumMember","srt:TitleOfIndividualAxis":"csbr:ChairpersonOfACommitteeMember","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember"},"factValues":[{"value":"110000"}]},{"name":"rpt:f-475","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationAnnualBaseCompensationAmount","xbrl:period":"2020-05-01T00:00:00/2021-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RangeAxis":"srt:MaximumMember","srt:TitleOfIndividualAxis":"csbr:ChairpersonOfACommitteeMember","us-gaap:PlanNameAxis":"csbr:DirectorCompensationPlanMember"},"factValues":[{"value":"120000"}]},{"name":"rpt:f-476","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-477","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',serif;font-size:10pt;font-weight:400;line-height:120%\">Black-Scholes and Monte Carlo assumptions  used to calculate the fair value of Champions options granted by the Company during the years ended April\u00a030, 2026 and 2025 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:79.385%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:25.971%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:25.971%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:20.078%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.720%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:22.660%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a06</span></div></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Risk-free interest rates</span></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3.6% - 4.5%</span></div></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3.6% - 4.5%</span></div></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Volatility</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">53% - 62%</span></div></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div style=\"text-align:center\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">54% - 63%</span></div></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Dividend yield</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td></tr></table></div><div style=\"text-align:justify;text-indent:18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Black-Scholes assumptions used to calculate the fair value of Corellia options granted by Corellia during May 2025 were as follows:</span></div><div style=\"text-align:justify;text-indent:18pt\"><span><br/></span></div><div style=\"padding-left:108pt;text-align:justify;text-indent:18pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:53.654%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:38.954%\"></td><td style=\"width:0.1%\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"display:none\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.162%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:26.420%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.162%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:27.510%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.892%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"display:none\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></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=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Expected term in years</span></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=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Risk-free interest rates</span></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=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.15%</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Volatility</span></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=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">65%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Dividend yield</span></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=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-478","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P6Y"}]},{"name":"rpt:f-479","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P6Y"}]},{"name":"rpt:f-480","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.036"}]},{"name":"rpt:f-481","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.045"}]},{"name":"rpt:f-482","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.036"}]},{"name":"rpt:f-483","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.045"}]},{"name":"rpt:f-484","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.53"}]},{"name":"rpt:f-485","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.62"}]},{"name":"rpt:f-486","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.54"}]},{"name":"rpt:f-487","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.63"}]},{"name":"rpt:f-488","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-489","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-490","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"4.10","decimals":2}]},{"name":"rpt:f-491","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"2.86","decimals":2}]},{"name":"rpt:f-492","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"P6Y"}]},{"name":"rpt:f-493","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"P0Y"}]},{"name":"rpt:f-494","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0.0415"}]},{"name":"rpt:f-495","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-496","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0.65","decimals":2}]},{"name":"rpt:f-497","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-498","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-499","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-500","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"1364","decimals":0}]},{"name":"rpt:f-501","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2025-05-01T00:00:00/2025-08-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-502","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-503","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',serif;font-size:10pt;font-weight:400;line-height:120%\">The Company\u2019s stock options activity and related information as of and for the years ended April\u00a030, 2026 and 2025 is as follows:</span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, May 1, 2025</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,671,182\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7,500\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,678,682\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.98\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,434,000\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Granted</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,205,272\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,205,272\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7.08\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9.3</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Exercised</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(109,656)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(109,656)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2.13\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Canceled</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(14,875)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(14,875)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7.23\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Forfeited</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(66,270)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(66,270)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7.53\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Expired</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(53,333)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(53,333)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">11.96\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, April 30, 2026</span></div></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,632,320\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7,500\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,639,820\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5.84\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6.4</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,673,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Vested and expected to vest as of April 30, 2026</span></div></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,632,320\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7,500\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,639,820\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5.84\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">6.4</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,673,000\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Exercisable as of April 30, 2026</span></div></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,462,450\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">7,500\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,469,950\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.86\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4.0</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,618,000\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></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.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 style=\"height:11pt\"><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=\"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><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><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><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><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><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><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><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><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><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><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><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><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><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></table></div><div style=\"text-align:justify;text-indent:22.5pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">The stock options activity for the Corellia 2023 Global equity incentive plan for the year ended April\u00a030, 2026 was as follows: </span></div><div style=\"text-align:justify\"><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:28.578%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.765%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:11.180%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.969%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:6.940%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.384%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.449%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.823%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:10.011%\"></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:9.871%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Directors<br/>and<br/>Employees</span></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, April 30, 2025</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Granted</span></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,682.00\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9.06</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">110,000\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 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><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><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><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><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:#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;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=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Outstanding, April 30, 2026</span></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,682.00\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9.06</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">110,000\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 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;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;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=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Vested and expected to vest as of April 30, 2026</span></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">300\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,682.00\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">9.06</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">110,000\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 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;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;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=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Exercisable as of April 30, 2026</span></td><td colspan=\"2\" style=\"border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td style=\"padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-504","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"1671182"}]},{"name":"rpt:f-505","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"7500"}]},{"name":"rpt:f-506","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1678682"}]},{"name":"rpt:f-507","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"4.98","decimals":2}]},{"name":"rpt:f-508","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P4Y10M24D"}]},{"name":"rpt:f-509","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4434000","decimals":-3}]},{"name":"rpt:f-510","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"1205272"}]},{"name":"rpt:f-511","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-512","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1205272"}]},{"name":"rpt:f-513","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"7.08","decimals":2}]},{"name":"rpt:f-514","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P9Y3M18D"}]},{"name":"rpt:f-515","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-516","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"109656"}]},{"name":"rpt:f-517","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-518","factDimensions":{"xbrl:concept":"us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"109656"}]},{"name":"rpt:f-519","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"2.13","decimals":2}]},{"name":"rpt:f-520","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"14875"}]},{"name":"rpt:f-521","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-522","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCanceledInPeriod","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"14875"}]},{"name":"rpt:f-523","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsCanceledInPeriodWeightedAverageExercisePrice","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"7.23","decimals":2}]},{"name":"rpt:f-524","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"66270"}]},{"name":"rpt:f-525","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-526","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"66270"}]},{"name":"rpt:f-527","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"7.53","decimals":2}]},{"name":"rpt:f-528","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"53333"}]},{"name":"rpt:f-529","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-530","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"53333"}]},{"name":"rpt:f-531","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"11.96","decimals":2}]},{"name":"rpt:f-532","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"2632320"}]},{"name":"rpt:f-533","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"7500"}]},{"name":"rpt:f-534","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"2639820"}]},{"name":"rpt:f-535","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"5.84","decimals":2}]},{"name":"rpt:f-536","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P6Y4M24D"}]},{"name":"rpt:f-537","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2673000","decimals":-3}]},{"name":"rpt:f-538","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"2632320"}]},{"name":"rpt:f-539","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"7500"}]},{"name":"rpt:f-540","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"2639820"}]},{"name":"rpt:f-541","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"5.84","decimals":2}]},{"name":"rpt:f-542","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P6Y4M24D"}]},{"name":"rpt:f-543","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2673000","decimals":-3}]},{"name":"rpt:f-544","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"1462450"}]},{"name":"rpt:f-545","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"7500"}]},{"name":"rpt:f-546","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"1469950"}]},{"name":"rpt:f-547","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"4.86","decimals":2}]},{"name":"rpt:f-548","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P4Y"}]},{"name":"rpt:f-549","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2618000","decimals":-3}]},{"name":"rpt:f-550","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"4100000","decimals":-5}]},{"name":"rpt:f-551","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:AwardTypeAxis":"csbr:TimeBasedAwardsMember"},"factValues":[{"value":"2100000","decimals":-5}]},{"name":"rpt:f-552","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:AwardTypeAxis":"csbr:TimeBasedAwardsMember","srt:RangeAxis":"srt:MinimumMember","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"P1Y9M18D"}]},{"name":"rpt:f-553","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:AwardTypeAxis":"csbr:TimeBasedAwardsMember","srt:RangeAxis":"srt:MaximumMember","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember"},"factValues":[{"value":"P2Y6M29D"}]},{"name":"rpt:f-554","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember"},"factValues":[{"value":"2000000.0","decimals":-5}]},{"name":"rpt:f-555","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:AwardTypeAxis":"us-gaap:PerformanceSharesMember","us-gaap:PlanNameAxis":"csbr:A2021And2010EquityIncentivePlansMember","csbr:TriggeringEventAxis":"csbr:SubjectToForfeitureMember"},"factValues":[{"value":"490000","decimals":-3}]},{"name":"rpt:f-556","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-557","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-558","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-559","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-560","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-561","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"300"}]},{"name":"rpt:f-562","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-563","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"300"}]},{"name":"rpt:f-564","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"1682","decimals":2}]},{"name":"rpt:f-565","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"P9Y21D"}]},{"name":"rpt:f-566","factDimensions":{"xbrl:concept":"csbr:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOptionsAggregateIntrinsicValueGranted","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"110000","decimals":-3}]},{"name":"rpt:f-567","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"300"}]},{"name":"rpt:f-568","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-569","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"300"}]},{"name":"rpt:f-570","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"1682","decimals":2}]},{"name":"rpt:f-571","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"P9Y21D"}]},{"name":"rpt:f-572","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"110000","decimals":-3}]},{"name":"rpt:f-573","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"300"}]},{"name":"rpt:f-574","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-575","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"300"}]},{"name":"rpt:f-576","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"1682","decimals":2}]},{"name":"rpt:f-577","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"P9Y21D"}]},{"name":"rpt:f-578","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"110000","decimals":-3}]},{"name":"rpt:f-579","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementEmployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-580","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:GranteeStatusAxis":"us-gaap:ShareBasedPaymentArrangementNonemployeeMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-581","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-582","factDimensions":{"xbrl:concept":"us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":2}]},{"name":"rpt:f-583","factDimensions":{"xbrl:concept":"us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-584","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:AwardTypeAxis":"csbr:TimeBasedAwardsMember"},"factValues":[{"value":"281000","decimals":-3}]},{"name":"rpt:f-585","factDimensions":{"xbrl:concept":"us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:PlanNameAxis":"csbr:A2023GlobalEquityIncentivePlanMember","us-gaap:AwardTypeAxis":"csbr:TimeBasedAwardsMember"},"factValues":[{"value":"P2Y21D"}]},{"name":"rpt:f-586","factDimensions":{"xbrl:concept":"srt:StockRepurchaseProgramAuthorizedAmount1","xbrl:period":"2023-03-30T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5000000.0"}]},{"name":"rpt:f-587","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockSharesAcquired","xbrl:period":"2023-03-29T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"120300","decimals":-2}]},{"name":"rpt:f-588","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockAcquiredAverageCostPerShare","xbrl:period":"2023-03-29T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares","csbr:TriggeringEventAxis":"csbr:AllBuyBackAmountsMember"},"factValues":[{"value":"5.73","decimals":2}]},{"name":"rpt:f-589","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockValueAcquiredCostMethod","xbrl:period":"2023-03-29T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"708000","decimals":-3}]},{"name":"rpt:f-590","factDimensions":{"xbrl:concept":"us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4300000","decimals":-5}]},{"name":"rpt:f-591","factDimensions":{"xbrl:concept":"us-gaap:TreasuryStockValueAcquiredCostMethod","xbrl:period":"2023-03-29T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:StatementClassOfStockAxis":"us-gaap:CommonStockMember"},"factValues":[{"value":"0"}]},{"name":"rpt:f-592","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxDisclosureTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Provision for (Benefit from) Income Taxes<div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">The following table presents the components of income (loss) before income taxes and the related income tax expense (benefit) (in thousands):</span></div><div style=\"text-align:center;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.403%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:58.460%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.020%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.999%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.021%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"9\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">For the Year Ended April  30,</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Income / (loss) before income taxes:</span></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:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">U.S. operations</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,164)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,426\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Italy operations</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">145\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">116\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Israel operations</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">90\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">84\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total income / (loss) before income taxes</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(929)</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,626\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #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></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Income tax expense / (benefit):</span></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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Current: </span></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:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">U.S. federal</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">U.S. state and local (a)</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">158\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">20\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Italy</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">44\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">34\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Israel</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">44\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(129)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total current income tax expense / (benefit)</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">246\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(75)</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Deferred:</span></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:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">U.S. federal</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">U.S. state and local (a)</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Italy</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Israel</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total deferred income tax expense / (benefit)</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:12pt\"><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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total income tax expense / (benefit)</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">246\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(75)</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 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;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td></tr></table><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><div style=\"text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">(a) </span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">Taxes in California, Connecticut, Pennsylvania, and New York City make up the majority of the current U.S. state and local income tax. </span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">Income taxes paid (net of refunds received) related to continuing operations are presented on a cash basis and were as follows (in thousands):</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.403%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:58.460%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.020%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.999%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.021%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"9\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">For the Year Ended April  30,</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Jurisdiction: </span></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:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">U.S. federal</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">U.S. state and local:</span></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:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">California</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">106\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">New York City</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">37\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Pennsylvania</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Connecticut</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">24\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Italy</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">36\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">31\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Israel</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">25\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">12\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total income taxes paid (net of refunds received)</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">242\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">43\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 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 #000;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 #000;padding:0 1pt\"></td></tr></table></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">The expected tax expense / (benefit) based on the United States statutory federal tax rate is reconciled with actual tax expense / (benefit) 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:95.614%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:53.181%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.756%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.564%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.756%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.564%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.756%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.564%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.759%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"21\" style=\"background-color:#ffffff;border-bottom:1pt solid #000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"9\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\"><span style=\"-sec-ix-hidden:f-641\"><span style=\"-sec-ix-hidden:f-642\">Expected U.S. federal statutory income tax</span></span></span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(195)</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">21.0\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">972\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">21.0\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">U.S. state and local income taxes, net of federal benefit (b)</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">125\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(13.4)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">16\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.3\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Foreign tax effects:</span></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><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0Italy:</span></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:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0\u00a0Statutory tax rate differences</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1.5)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">8\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.2\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0\u00a0Nondeductible expenses</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0Israel:</span></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><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0\u00a0Statutory tax rate differences</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(0.2)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0\u00a0Uncertain tax position change</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(181)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(3.9)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0\u00a0Return to provision adjustment</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">23\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(2.5)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">32\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.7\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Change in U.S. federal valuation allowance</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">126\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(13.6)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(3,097)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(66.9)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Nontaxable or nondeductible items:</span></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:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0Incentive stock compensation (deduction) / inclusion</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(18)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1.9\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">88\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1.9\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0Meals and entertainment</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">19\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(2.0)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">17\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.4\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Other adjustments:</span></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><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0Global intangible low-taxed income inclusion</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">59\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(6.4)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">60\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1.3\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Adjustments to deferred tax assets</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">91\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(9.8)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,007\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">43.4\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Income tax expense / (benefit)</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">246</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">(26.5)</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">(75)</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">(1.6)</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">%</span></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></table></div><div style=\"text-align:justify\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">(b)    Taxes in California, Connecticut, Pennsylvania, and New York City make up the majority of the effect of the U.S. state and local tax category.</span></div><div><span><br/></span></div><div style=\"text-align:justify\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">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, 2026 and 2025 consist of the following (in thousands):</span><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\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.403%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:58.460%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.020%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.999%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.021%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"9\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Deferred tax assets:</span></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:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Net operating loss carryforwards</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">10,962\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">8,248\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Capitalized research and development costs</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,454\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,712\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Right of use liability</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,150\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,461\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Deferred revenue</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">315\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,271\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Stock-based compensation</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,371\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,212\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Allowance for doubtful accounts and credit losses</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">269\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">234\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Accrued liabilities</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">153\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">128\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total deferred tax assets before valuation allowance</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">17,674\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">16,266\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Valuation allowance</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(16,364)</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(14,838)</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total deferred tax assets after valuation allowance</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,310\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,428\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Deferred tax liabilities:</span></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:1.5pt 1pt;text-align:left;text-indent:18pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Right of use asset</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(943)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,212)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Fixed assets</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(367)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(216)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total deferred tax liabilities</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,310)</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,428)</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Net deferred tax asset (liability)</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></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><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">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 April 30, 2026 and 2025.  For the years ended April 30, 2026 and 2025, the Company recorded a valuation allowance of $16.3\u00a0million and $14.8\u00a0million, respectively. The net increase in the valuation allowance of $1.5\u00a0million during the fiscal year ended April 30, 2026, was mainly due to increases in the deferred tax assets related to the net operating loss carryforward, net of decreases for other timing differences. The net increase of $1.5\u00a0million related to the U.S. federal and state/local jurisdictions of $0.1\u00a0million and $1.4\u00a0million, respectively. The valuation allowance related to the state/local jurisdictions increased mainly due to changes in the blended state statutory tax rate due to changes in state apportionment percentages. </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',serif;font-size:10pt;font-weight:400;line-height:112%\">The net decrease in the valuation allowance of $3.3\u00a0million during the fiscal year ended April 30, 2025, was mainly due to decreases in the deferred tax assets related to the net operating loss carryforward, stock-based compensation, and capitalized research expenses. The net decrease of $3.3\u00a0million related to the U.S. federal and state/local jurisdictions of $3.1\u00a0million and $200,000, respectively. Management continues to assess the realizability of the deferred tax assets at each interim and annual balance sheet date based upon actual and forecasted operating results.</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',serif;font-size:10pt;font-weight:400;line-height:112%\">As of April 30, 2026 and 2025, the Company\u2019s estimated U.S. net operating loss carry-forwards were approximately $41.0\u00a0million and $35.1\u00a0million, respectively. Net operating losses generated prior to May 1, 2018 have a 20-year carryforward and will begin expiring in 2034 for federal and 2031 for state and local tax purposes. Losses generated in the fiscal years since the year ended April 30, 2019 may be carried forward indefinitely.  A valuation allowance has been recorded against all of the deferred tax assets related to the loss carryforwards.</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',serif;font-size:10pt;font-weight:400;line-height:112%\">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 $12.0\u00a0million of 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 on its use of net operating loss carry-forwards is approximately $432,000.</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',serif;font-size:10pt;font-weight:400;line-height:112%\"> The Company files income tax returns in various jurisdictions with varying statutes of limitations.  As of April 30, 2026, the earliest tax year still subject to examination for state purposes is fiscal 2022.  The Company\u2019s tax years for periods ending April 30, 2014 and forward are subject to examination by the United States and certain states due to the carry-forward of unutilized net operating losses. In Israel, tax returns remain open to review by the Israel Tax Authority (ITA) for four years from the end of the tax year in which the return was filed. The Company's tax years for periods ending April 30, 2020 and forward are subject to examination by the ITA. </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',serif;font-size:10pt;font-weight:400;line-height:112%\">The Company intends to indefinitely reinvest the earnings of its foreign subsidiaries and, therefore, has not recognized deferred taxes on the related outside basis differences.</span></div><div style=\"text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:115%\">A reconciliation of the Company\u2019s uncertain tax positions</span><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:115%\"> for years ended April\u00a030, 2026 and 2025 is 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: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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Balance at beginning of year</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">181\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Additions based on tax positions related to the current year</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Additions for tax positions of prior years</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Reductions for tax positions of prior years</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Settlements</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Reductions due to lapse of statute of limitations</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(181)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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 #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></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Balance at end of year</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt 1.5pt 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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">As of May 1, 2024, the above amount of $181,000 was included in other long-term liabilities.</span></div>","language":"en-us"}]},{"name":"rpt:f-593","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-indent:9pt\"><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">The following table presents the components of income (loss) before income taxes and the related income tax expense (benefit) (in thousands):</span></div><div style=\"text-align:center;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.403%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:58.460%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.020%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.999%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.021%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"9\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">For the Year Ended April  30,</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Income / (loss) before income taxes:</span></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:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">U.S. operations</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,164)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,426\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Italy operations</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">145\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">116\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Israel operations</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">90\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">84\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total income / (loss) before income taxes</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(929)</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,626\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #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></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Income tax expense / (benefit):</span></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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Current: </span></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:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">U.S. federal</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">U.S. state and local (a)</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">158\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">20\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Italy</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">44\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">34\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Israel</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">44\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(129)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total current income tax expense / (benefit)</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">246\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(75)</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Deferred:</span></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:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">U.S. federal</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">U.S. state and local (a)</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Italy</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Israel</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total deferred income tax expense / (benefit)</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr style=\"height:12pt\"><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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total income tax expense / (benefit)</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">246\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(75)</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 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;padding:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td></tr></table><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u00a0</span></div><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">(a) </span>Taxes in California, Connecticut, Pennsylvania, and New York City make up the majority of the current U.S. state and local income tax.","language":"en-us"}]},{"name":"rpt:f-594","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1164000","decimals":-3}]},{"name":"rpt:f-595","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4426000","decimals":-3}]},{"name":"rpt:f-596","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"country:IT"},"factValues":[{"value":"145000","decimals":-3}]},{"name":"rpt:f-597","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"country:IT"},"factValues":[{"value":"116000","decimals":-3}]},{"name":"rpt:f-598","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"country:IL"},"factValues":[{"value":"90000","decimals":-3}]},{"name":"rpt:f-599","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:StatementGeographicalAxis":"country:IL"},"factValues":[{"value":"84000","decimals":-3}]},{"name":"rpt:f-600","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-929000","decimals":-3}]},{"name":"rpt:f-601","factDimensions":{"xbrl:concept":"us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4626000","decimals":-3}]},{"name":"rpt:f-602","factDimensions":{"xbrl:concept":"us-gaap:CurrentFederalTaxExpenseBenefit","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-603","factDimensions":{"xbrl:concept":"us-gaap:CurrentFederalTaxExpenseBenefit","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-604","factDimensions":{"xbrl:concept":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"158000","decimals":-3}]},{"name":"rpt:f-605","factDimensions":{"xbrl:concept":"us-gaap:CurrentStateAndLocalTaxExpenseBenefit","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"20000","decimals":-3}]},{"name":"rpt:f-606","factDimensions":{"xbrl:concept":"us-gaap:CurrentForeignTaxExpenseBenefit","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IT"},"factValues":[{"value":"44000","decimals":-3}]},{"name":"rpt:f-607","factDimensions":{"xbrl:concept":"us-gaap:CurrentForeignTaxExpenseBenefit","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IT"},"factValues":[{"value":"34000","decimals":-3}]},{"name":"rpt:f-608","factDimensions":{"xbrl:concept":"us-gaap:CurrentForeignTaxExpenseBenefit","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IL"},"factValues":[{"value":"44000","decimals":-3}]},{"name":"rpt:f-609","factDimensions":{"xbrl:concept":"us-gaap:CurrentForeignTaxExpenseBenefit","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IL"},"factValues":[{"value":"-129000","decimals":-3}]},{"name":"rpt:f-610","factDimensions":{"xbrl:concept":"us-gaap:CurrentIncomeTaxExpenseBenefit","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"246000","decimals":-3}]},{"name":"rpt:f-611","factDimensions":{"xbrl:concept":"us-gaap:CurrentIncomeTaxExpenseBenefit","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-75000","decimals":-3}]},{"name":"rpt:f-612","factDimensions":{"xbrl:concept":"us-gaap:DeferredFederalIncomeTaxExpenseBenefit","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-613","factDimensions":{"xbrl:concept":"us-gaap:DeferredFederalIncomeTaxExpenseBenefit","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-614","factDimensions":{"xbrl:concept":"us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-615","factDimensions":{"xbrl:concept":"us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-616","factDimensions":{"xbrl:concept":"us-gaap:DeferredForeignIncomeTaxExpenseBenefit","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IT"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-617","factDimensions":{"xbrl:concept":"us-gaap:DeferredForeignIncomeTaxExpenseBenefit","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IT"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-618","factDimensions":{"xbrl:concept":"us-gaap:DeferredForeignIncomeTaxExpenseBenefit","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IL"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-619","factDimensions":{"xbrl:concept":"us-gaap:DeferredForeignIncomeTaxExpenseBenefit","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IL"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-620","factDimensions":{"xbrl:concept":"us-gaap:DeferredIncomeTaxExpenseBenefit","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-621","factDimensions":{"xbrl:concept":"us-gaap:DeferredIncomeTaxExpenseBenefit","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-622","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"246000","decimals":-3}]},{"name":"rpt:f-623","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-75000","decimals":-3}]},{"name":"rpt:f-624","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfCashFlowSupplementalDisclosuresTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',serif;font-size:10pt;font-weight:400;line-height:112%\">Income taxes paid (net of refunds received) related to continuing operations are presented on a cash basis and were as follows (in thousands):</span></div><div style=\"text-align:justify;text-indent:9pt\"><span><br/></span></div><div style=\"text-align:justify;text-indent:9pt\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.403%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:58.460%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.020%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.999%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.021%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"9\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">For the Year Ended April  30,</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Jurisdiction: </span></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:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">U.S. federal</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">U.S. state and local:</span></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:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">California</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">106\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">New York City</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">37\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Pennsylvania</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Connecticut</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">24\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Italy</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">36\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">31\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Israel</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">25\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">12\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total income taxes paid (net of refunds received)</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">242\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">43\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 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 #000;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 #000;padding:0 1pt\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-625","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPaidFederalAfterRefundReceived","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-626","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPaidFederalAfterRefundReceived","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-627","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPaidStateAndLocalAfterRefundReceived","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"stpr:CA"},"factValues":[{"value":"106000","decimals":-3}]},{"name":"rpt:f-628","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPaidStateAndLocalAfterRefundReceived","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"stpr:CA"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-629","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPaidStateAndLocalAfterRefundReceived","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"stpr:NY"},"factValues":[{"value":"37000","decimals":-3}]},{"name":"rpt:f-630","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPaidStateAndLocalAfterRefundReceived","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"stpr:NY"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-631","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPaidStateAndLocalAfterRefundReceived","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"stpr:PA"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-632","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPaidStateAndLocalAfterRefundReceived","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"stpr:PA"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-633","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPaidStateAndLocalAfterRefundReceived","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"stpr:CT"},"factValues":[{"value":"24000","decimals":-3}]},{"name":"rpt:f-634","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPaidStateAndLocalAfterRefundReceived","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"stpr:CT"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-635","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPaidForeignAfterRefundReceived","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IT"},"factValues":[{"value":"36000","decimals":-3}]},{"name":"rpt:f-636","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPaidForeignAfterRefundReceived","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IT"},"factValues":[{"value":"31000","decimals":-3}]},{"name":"rpt:f-637","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPaidForeignAfterRefundReceived","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IL"},"factValues":[{"value":"25000","decimals":-3}]},{"name":"rpt:f-638","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxPaidForeignAfterRefundReceived","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IL"},"factValues":[{"value":"12000","decimals":-3}]},{"name":"rpt:f-639","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxesPaidNet","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"242000","decimals":-3}]},{"name":"rpt:f-640","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxesPaidNet","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"43000","decimals":-3}]},{"name":"rpt:f-641","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">The expected tax expense / (benefit) based on the United States statutory federal tax rate is reconciled with actual tax expense / (benefit) 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:95.614%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:53.181%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.756%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.564%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.756%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.564%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.756%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.564%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:9.759%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"21\" style=\"background-color:#ffffff;border-bottom:1pt solid #000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</span></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"9\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\"><span style=\"-sec-ix-hidden:f-641\"><span style=\"-sec-ix-hidden:f-642\">Expected U.S. federal statutory income tax</span></span></span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(195)</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">21.0\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">972\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">21.0\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">U.S. state and local income taxes, net of federal benefit (b)</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">125\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(13.4)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">16\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.3\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Foreign tax effects:</span></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><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0Italy:</span></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:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0\u00a0Statutory tax rate differences</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1.5)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">8\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.2\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0\u00a0Nondeductible expenses</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0Israel:</span></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><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0\u00a0Statutory tax rate differences</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(0.2)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0\u00a0Uncertain tax position change</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(181)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(3.9)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0\u00a0Return to provision adjustment</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">23\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(2.5)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">32\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.7\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Change in U.S. federal valuation allowance</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">126\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(13.6)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(3,097)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(66.9)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Nontaxable or nondeductible items:</span></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:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0Incentive stock compensation (deduction) / inclusion</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(18)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1.9\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">88\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1.9\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0Meals and entertainment</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">19\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(2.0)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">17\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.4\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Other adjustments:</span></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><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0Global intangible low-taxed income inclusion</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">59\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(6.4)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">60\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1.3\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Adjustments to deferred tax assets</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">91\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(9.8)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,007\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">43.4\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">%</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Income tax expense / (benefit)</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">246</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">(26.5)</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">%</span></td><td colspan=\"3\" style=\"background-color:#ffffff;padding:0 1pt\"></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">(75)</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"2\" style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">(1.6)</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">%</span></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></table></div><div style=\"text-align:justify\"><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:112%\">(b)    Taxes in California, Connecticut, Pennsylvania, and New York City make up the majority of the effect of the U.S. state and local tax category.</span></div>","language":"en-us"}]},{"name":"rpt:f-642","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-195000","decimals":-3}]},{"name":"rpt:f-643","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.210"}]},{"name":"rpt:f-644","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"972000","decimals":-3}]},{"name":"rpt:f-645","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.210"}]},{"name":"rpt:f-646","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"125000","decimals":-3}]},{"name":"rpt:f-647","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"-0.134","decimals":3}]},{"name":"rpt:f-648","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"16000","decimals":-3}]},{"name":"rpt:f-649","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.003","decimals":3}]},{"name":"rpt:f-650","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IT"},"factValues":[{"value":"14000","decimals":-3}]},{"name":"rpt:f-651","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:IncomeTaxAuthorityAxis":"country:IT"},"factValues":[{"value":"-0.015","decimals":3}]},{"name":"rpt:f-652","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IT"},"factValues":[{"value":"8000","decimals":-3}]},{"name":"rpt:f-653","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:IncomeTaxAuthorityAxis":"country:IT"},"factValues":[{"value":"0.002","decimals":3}]},{"name":"rpt:f-654","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationNondeductibleExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IT"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-655","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:IncomeTaxAuthorityAxis":"country:IT"},"factValues":[{"value":"0","decimals":3}]},{"name":"rpt:f-656","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationNondeductibleExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IT"},"factValues":[{"value":"1000","decimals":-3}]},{"name":"rpt:f-657","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:IncomeTaxAuthorityAxis":"country:IT"},"factValues":[{"value":"0","decimals":3}]},{"name":"rpt:f-658","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IL"},"factValues":[{"value":"2000","decimals":-3}]},{"name":"rpt:f-659","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:IncomeTaxAuthorityAxis":"country:IL"},"factValues":[{"value":"-0.002","decimals":3}]},{"name":"rpt:f-660","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:IL"},"factValues":[{"value":"2000","decimals":-3}]},{"name":"rpt:f-661","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:IncomeTaxAuthorityAxis":"country:IL"},"factValues":[{"value":"0","decimals":3}]},{"name":"rpt:f-662","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationTaxContingencies","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-663","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0","decimals":3}]},{"name":"rpt:f-664","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationTaxContingencies","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-181000","decimals":-3}]},{"name":"rpt:f-665","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"-0.039","decimals":3}]},{"name":"rpt:f-666","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"23000","decimals":-3}]},{"name":"rpt:f-667","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"-0.025","decimals":3}]},{"name":"rpt:f-668","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationPriorYearIncomeTaxes","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"32000","decimals":-3}]},{"name":"rpt:f-669","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationPriorYearIncomeTaxes","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.007","decimals":3}]},{"name":"rpt:f-670","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"126000","decimals":-3}]},{"name":"rpt:f-671","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"-0.136","decimals":3}]},{"name":"rpt:f-672","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-3097000","decimals":-3}]},{"name":"rpt:f-673","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"-0.669","decimals":3}]},{"name":"rpt:f-674","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:US"},"factValues":[{"value":"-18000","decimals":-3}]},{"name":"rpt:f-675","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:IncomeTaxAuthorityAxis":"country:US"},"factValues":[{"value":"0.019","decimals":3}]},{"name":"rpt:f-676","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:US"},"factValues":[{"value":"88000","decimals":-3}]},{"name":"rpt:f-677","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:IncomeTaxAuthorityAxis":"country:US"},"factValues":[{"value":"0.019","decimals":3}]},{"name":"rpt:f-678","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:US"},"factValues":[{"value":"19000","decimals":-3}]},{"name":"rpt:f-679","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:IncomeTaxAuthorityAxis":"country:US"},"factValues":[{"value":"-0.020","decimals":3}]},{"name":"rpt:f-680","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxReconciliationNondeductibleExpenseMealsAndEntertainment","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"country:US"},"factValues":[{"value":"17000","decimals":-3}]},{"name":"rpt:f-681","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","us-gaap:IncomeTaxAuthorityAxis":"country:US"},"factValues":[{"value":"0.004","decimals":3}]},{"name":"rpt:f-682","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationGiltiAmount","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"59000","decimals":-3}]},{"name":"rpt:f-683","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"-0.064","decimals":3}]},{"name":"rpt:f-684","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationGiltiAmount","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"60000","decimals":-3}]},{"name":"rpt:f-685","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateReconciliationGiltiPercent","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.013","decimals":3}]},{"name":"rpt:f-686","factDimensions":{"xbrl:concept":"csbr:EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxAssetsAmount","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"91000","decimals":-3}]},{"name":"rpt:f-687","factDimensions":{"xbrl:concept":"csbr:EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxAssetsPercent","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"-0.098","decimals":3}]},{"name":"rpt:f-688","factDimensions":{"xbrl:concept":"csbr:EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxAssetsAmount","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2007000","decimals":-3}]},{"name":"rpt:f-689","factDimensions":{"xbrl:concept":"csbr:EffectiveIncomeTaxRateReconciliationAdjustmentsToDeferredTaxAssetsPercent","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.434","decimals":3}]},{"name":"rpt:f-690","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"246000","decimals":-3}]},{"name":"rpt:f-691","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"-0.265","decimals":3}]},{"name":"rpt:f-692","factDimensions":{"xbrl:concept":"us-gaap:IncomeTaxExpenseBenefit","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-75000","decimals":-3}]},{"name":"rpt:f-693","factDimensions":{"xbrl:concept":"us-gaap:EffectiveIncomeTaxRateContinuingOperations","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"-0.016","decimals":3}]},{"name":"rpt:f-694","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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, 2026 and 2025 consist of the following (in thousands):<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 style=\"text-align:justify\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.403%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:58.460%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.020%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.999%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:18.021%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:0 1pt\"></td><td colspan=\"9\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:0 1pt\"></td><td colspan=\"3\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Deferred tax assets:</span></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:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Net operating loss carryforwards</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">10,962\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">8,248\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Capitalized research and development costs</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,454\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,712\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Right of use liability</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,150\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,461\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Deferred revenue</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">315\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,271\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Stock-based compensation</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,371\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,212\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Allowance for doubtful accounts and credit losses</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">269\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">234\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;text-indent:31.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Accrued liabilities</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">153\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">128\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;text-indent:13.5pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total deferred tax assets before valuation allowance</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">17,674\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">16,266\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Valuation allowance</span></td><td colspan=\"2\" style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(16,364)</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(14,838)</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total deferred tax assets after valuation allowance</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,310\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,428\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Deferred tax liabilities:</span></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:1.5pt 1pt;text-align:left;text-indent:18pt;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Right of use asset</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(943)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,212)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Fixed assets</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(367)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(216)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total deferred tax liabilities</span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,310)</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,428)</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Net deferred tax asset (liability)</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 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 #000;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-695","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10962000","decimals":-3}]},{"name":"rpt:f-696","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsOperatingLossCarryforwards","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8248000","decimals":-3}]},{"name":"rpt:f-697","factDimensions":{"xbrl:concept":"csbr:DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3454000","decimals":-3}]},{"name":"rpt:f-698","factDimensions":{"xbrl:concept":"csbr:DeferredTaxAssetsCapitalizedResearchAndDevelopmentCosts","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3712000","decimals":-3}]},{"name":"rpt:f-699","factDimensions":{"xbrl:concept":"csbr:DeferredTaxAssetsLeaseLiabilities","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1150000","decimals":-3}]},{"name":"rpt:f-700","factDimensions":{"xbrl:concept":"csbr:DeferredTaxAssetsLeaseLiabilities","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1461000","decimals":-3}]},{"name":"rpt:f-701","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsDeferredIncome","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"315000","decimals":-3}]},{"name":"rpt:f-702","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsDeferredIncome","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1271000","decimals":-3}]},{"name":"rpt:f-703","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1371000","decimals":-3}]},{"name":"rpt:f-704","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1212000","decimals":-3}]},{"name":"rpt:f-705","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"269000","decimals":-3}]},{"name":"rpt:f-706","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"234000","decimals":-3}]},{"name":"rpt:f-707","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"153000","decimals":-3}]},{"name":"rpt:f-708","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"128000","decimals":-3}]},{"name":"rpt:f-709","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsGross","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"17674000","decimals":-3}]},{"name":"rpt:f-710","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsGross","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"16266000","decimals":-3}]},{"name":"rpt:f-711","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsValuationAllowance","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"16364000","decimals":-3}]},{"name":"rpt:f-712","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsValuationAllowance","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"14838000","decimals":-3}]},{"name":"rpt:f-713","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsNet","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1310000","decimals":-3}]},{"name":"rpt:f-714","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsNet","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1428000","decimals":-3}]},{"name":"rpt:f-715","factDimensions":{"xbrl:concept":"csbr:DeferredTaxLiabilitiesRightOfUseAssets","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"943000","decimals":-3}]},{"name":"rpt:f-716","factDimensions":{"xbrl:concept":"csbr:DeferredTaxLiabilitiesRightOfUseAssets","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1212000","decimals":-3}]},{"name":"rpt:f-717","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"367000","decimals":-3}]},{"name":"rpt:f-718","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"216000","decimals":-3}]},{"name":"rpt:f-719","factDimensions":{"xbrl:concept":"us-gaap:DeferredIncomeTaxLiabilities","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1310000","decimals":-3}]},{"name":"rpt:f-720","factDimensions":{"xbrl:concept":"us-gaap:DeferredIncomeTaxLiabilities","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1428000","decimals":-3}]},{"name":"rpt:f-721","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsLiabilitiesNet","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-722","factDimensions":{"xbrl:concept":"us-gaap:DeferredTaxAssetsLiabilitiesNet","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-723","factDimensions":{"xbrl:concept":"us-gaap:OperatingLossCarryforwardsValuationAllowance","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"16300000","decimals":-5}]},{"name":"rpt:f-724","factDimensions":{"xbrl:concept":"us-gaap:OperatingLossCarryforwardsValuationAllowance","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"14800000","decimals":-5}]},{"name":"rpt:f-725","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1500000","decimals":-5}]},{"name":"rpt:f-726","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1500000","decimals":-5}]},{"name":"rpt:f-727","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"us-gaap:DomesticCountryMember"},"factValues":[{"value":"100000","decimals":-5}]},{"name":"rpt:f-728","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"us-gaap:StateAndLocalJurisdictionMember"},"factValues":[{"value":"1400000","decimals":-5}]},{"name":"rpt:f-729","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-3300000","decimals":-5}]},{"name":"rpt:f-730","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-3300000","decimals":-5}]},{"name":"rpt:f-731","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"us-gaap:DomesticCountryMember"},"factValues":[{"value":"-3100000","decimals":-5}]},{"name":"rpt:f-732","factDimensions":{"xbrl:concept":"us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:IncomeTaxAuthorityAxis":"us-gaap:StateAndLocalJurisdictionMember"},"factValues":[{"value":"-200000","decimals":-3}]},{"name":"rpt:f-733","factDimensions":{"xbrl:concept":"us-gaap:OperatingLossCarryforwards","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"41000000.0","decimals":-5}]},{"name":"rpt:f-734","factDimensions":{"xbrl:concept":"us-gaap:OperatingLossCarryforwards","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"35100000","decimals":-5}]},{"name":"rpt:f-735","factDimensions":{"xbrl:concept":"csbr:OperatingLossCarryforwardsExpirationPeriod","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P20Y"}]},{"name":"rpt:f-736","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-737","factDimensions":{"xbrl:concept":"csbr:OperatingLossCarryforwardsLimitationsOnUseAmount","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"432000","decimals":-3}]},{"name":"rpt:f-738","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div style=\"text-indent:9pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:115%\">A reconciliation of the Company\u2019s uncertain tax positions</span><span style=\"background-color:#ffffff;color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:115%\"> for years ended April\u00a030, 2026 and 2025 is 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: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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Balance at beginning of year</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">181\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Additions based on tax positions related to the current year</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Additions for tax positions of prior years</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Reductions for tax positions of prior years</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Settlements</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Reductions due to lapse of statute of limitations</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(181)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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 #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></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Balance at end of year</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;border-bottom:3pt double #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-739","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-740","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2024-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-741","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-742","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-743","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-744","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-745","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-746","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-747","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-748","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromSettlementsWithTaxingAuthorities","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-749","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-750","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-751","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-752","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-753","factDimensions":{"xbrl:concept":"us-gaap:UnrecognizedTaxBenefits","xbrl:period":"2024-05-02T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"181000","decimals":-3}]},{"name":"rpt:f-754","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',serif;font-size:10pt;font-weight:400;line-height:120%\">A reconciliation of net income and number of shares used in computing basic and diluted earnings 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Basic and diluted net income (loss) per share computation (dollars in thousands):</span></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,175)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,701\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Weighted Average common shares - basic and diluted</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,832,385\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,659,786\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(0.08)</span></td><td style=\"border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.34\u00a0</span></td><td style=\"border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,175)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,701\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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=\"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:1.5pt 1pt 1.5pt 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Weighted Average common shares</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,832,385\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,659,786\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Incremental shares from assumed exercise of stock options</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">606,995\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,832,385\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14,266,781\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt 1.5pt 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(0.08)</span></td><td style=\"border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.33\u00a0</span></td><td style=\"border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">The following table reflects the total potential stock-based instruments outstanding at April\u00a030, 2026 and 2025 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,639,820\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">126,353\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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;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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,639,820\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">126,353\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-755","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">A reconciliation of net income and number of shares used in computing basic and diluted earnings 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Basic and diluted net income (loss) per share computation (dollars in thousands):</span></td><td colspan=\"3\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,175)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#ffffff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,701\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Weighted Average common shares - basic and diluted</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,832,385\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,659,786\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(0.08)</span></td><td style=\"border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"border-top:1pt solid #000000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.34\u00a0</span></td><td style=\"border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(1,175)</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,701\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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=\"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:1.5pt 1pt 1.5pt 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Weighted Average common shares</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,832,385\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,659,786\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Incremental shares from assumed exercise of stock options</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">606,995\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">13,832,385\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">14,266,781\u00a0</span></td><td style=\"background-color:#ffffff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt 1.5pt 12.25pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(0.08)</span></td><td style=\"border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">0.33\u00a0</span></td><td style=\"border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-756","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1175000","decimals":-3}]},{"name":"rpt:f-757","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLoss","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4701000","decimals":-3}]},{"name":"rpt:f-758","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13832385","decimals":0}]},{"name":"rpt:f-759","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13659786","decimals":0}]},{"name":"rpt:f-760","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.08","decimals":2}]},{"name":"rpt:f-761","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareBasic","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.34","decimals":2}]},{"name":"rpt:f-762","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"-1175000","decimals":-3}]},{"name":"rpt:f-763","factDimensions":{"xbrl:concept":"us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4701000","decimals":-3}]},{"name":"rpt:f-764","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13832385","decimals":0}]},{"name":"rpt:f-765","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfSharesOutstandingBasic","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13659786","decimals":0}]},{"name":"rpt:f-766","factDimensions":{"xbrl:concept":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"0","decimals":0}]},{"name":"rpt:f-767","factDimensions":{"xbrl:concept":"us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"606995","decimals":0}]},{"name":"rpt:f-768","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"13832385","decimals":0}]},{"name":"rpt:f-769","factDimensions":{"xbrl:concept":"us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"14266781","decimals":0}]},{"name":"rpt:f-770","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"-0.08","decimals":2}]},{"name":"rpt:f-771","factDimensions":{"xbrl:concept":"us-gaap:EarningsPerShareDiluted","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD/xbrla:shares"},"factValues":[{"value":"0.33","decimals":2}]},{"name":"rpt:f-772","factDimensions":{"xbrl:concept":"us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',serif;font-size:10pt;font-weight:400;line-height:120%\">The following table reflects the total potential stock-based instruments outstanding at April\u00a030, 2026 and 2025 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"9\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">Year Ended April 30,</span></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0</span></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,639,820\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">126,353\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 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;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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,639,820\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">126,353\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-773","factDimensions":{"xbrl:concept":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"2639820","decimals":0}]},{"name":"rpt:f-774","factDimensions":{"xbrl:concept":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares","us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis":"us-gaap:EmployeeStockOptionMember"},"factValues":[{"value":"126353","decimals":0}]},{"name":"rpt:f-775","factDimensions":{"xbrl:concept":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"2639820","decimals":0}]},{"name":"rpt:f-776","factDimensions":{"xbrl:concept":"us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"xbrla:shares"},"factValues":[{"value":"126353","decimals":0}]},{"name":"rpt:f-777","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionsDisclosureTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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',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',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',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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">For fiscal years ended April\u00a030, 2026 and 2025, the Company paid a member of its Board of Directors $0 and $12,000, respectively for consulting services unrelated to his duties as a board member.  All of the amounts paid to this related party have been recognized in expense in the period the services were performed within general and administrative expenses in the accompanying consolidated statements of operations.</span></div>","language":"en-us"}]},{"name":"rpt:f-778","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:BoardMemberOneMember","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-779","factDimensions":{"xbrl:concept":"us-gaap:RelatedPartyTransactionAmountsOfTransaction","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:CounterpartyNameAxis":"csbr:BoardMemberOneMember","srt:TitleOfIndividualAxis":"srt:BoardOfDirectorsChairmanMember"},"factValues":[{"value":"12000","decimals":-3}]},{"name":"rpt:f-780","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeasesTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',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',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',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',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.8 million for the years ended April\u00a030, 2026 and 2025. </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',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',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',serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',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 2026. The Company recognized $78,000 and $75,000 of rent expense relative to this lease for fiscal 2026 and 2025, respectively.</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',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 the original lease in January 2017 and the operating commencement date was August 11, 2017. The lease was amended to expand the premises and extend the expiration date in March 2020 and again in December 2020. This lease expires in February 2029. The Company recognized $1.7\u00a0million of rent expense for both fiscal 2026 and 2025.</span></div><div style=\"padding-left:18pt;text-align:justify;text-indent:-18pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">\u2022</span><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt\">VIA LEONE XIII, 14, Milan, Italy, which consists of laboratory and office space where the Company conducted operations related to its flow cytometry service offerings.  The Company executed the lease in November 2022. The lease was set to expire October 31, 2028. During the three months ended October 31, 2025, the Company exercised its right to terminate the lease early.  The lease terminated April 30, 2026 and the Company is not currently utilizing a physical site in Italy. As part of this lease modification, the Company recorded a reduction to its right of use asset related to this lease of $108,000 during the year ended April 30, 2026.  The Company also recorded a reduction to the current and non-current portions of the related operating lease liabilities of $16,000 and $101,000, respectively, during the year.  These reductions resulted in the recording of a gain on lease termination of $9,000.  The Company recognized $50,000 of rent expense associated with this lease in Italy for both fiscal 2026 and 2025. </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',serif;font-size:10pt;font-weight:400;line-height:120%\"> ROU assets and lease liabilities related to the Company's current operating leases are 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: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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2026</span></td><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">April 30, 2025</span></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">3,697\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5,080\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Current portion of operating lease liabilities<br/></span></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,520\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,471\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:top\"><span style=\"color:#000000;font-family:'Times New Roman',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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,992\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,634\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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',serif;font-size:10pt;font-weight:400;line-height:120%\">As of April 30, 2026, the weighted average remaining operating lease term and the weighted average discount rate were\u00a0 2.79 years and\u00a05.82%, respectively.  As of April 30, 2025, the weighted average remaining operating lease term and the weighted average discount rate were\u00a03.75 years and\u00a05.89%, respectively.  </span></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Future minimum lease payments for operating leases due each fiscal year are as follows (in thousands):</span></div><div><span><br/></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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2027</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,869\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2028</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,816\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2029</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,364\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Thereafter</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0Total undiscounted liabilities </span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">8,049\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Imputed interest </span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(3,537)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Present value of minimum lease payments</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,512\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></div><div style=\"text-align:justify\"><span><br/></span></div><div style=\"text-align:justify\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">The composition of total lease cost for the years ended April 30, 2026 and 2025 were as follows (in thousands): </span></div><div style=\"padding-left:13.5pt;text-align:justify\"><span><br/></span></div><div style=\"padding-left:13.5pt;text-align:justify\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:85.233%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:48.128%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:21.713%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.486%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:20.169%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:4.904%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Operating lease costs</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,778\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,730\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr style=\"height:15pt\"><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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Financing lease costs:</span></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=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0Amortization of leased assets</span></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">135\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">150\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0Interest on lease liabilities </span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">10\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr style=\"height:15pt\"><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=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total lease costs</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,918\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,890\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:3pt double #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:3pt double #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr></table></div><div><span><br/></span></div><div><span style=\"color:#000000;font-family:'Times New Roman',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-781","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1800000","decimals":-5}]},{"name":"rpt:f-782","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1800000","decimals":-5}]},{"name":"rpt:f-783","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:CorporateHeadquartersMember"},"factValues":[{"value":"78000","decimals":-3}]},{"name":"rpt:f-784","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:CorporateHeadquartersMember"},"factValues":[{"value":"75000","decimals":-3}]},{"name":"rpt:f-785","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"1700000","decimals":-5}]},{"name":"rpt:f-786","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"1700000","decimals":-5}]},{"name":"rpt:f-787","factDimensions":{"xbrl:concept":"csbr:OperatingLeaseRightOfUseAssetIncreaseDecrease","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"-108000","decimals":-3}]},{"name":"rpt:f-788","factDimensions":{"xbrl:concept":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityCurrent","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"-16000","decimals":-3}]},{"name":"rpt:f-789","factDimensions":{"xbrl:concept":"csbr:IncreaseDecreaseInOperatingLeaseLiabilityNoncurrent","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"-101000","decimals":-3}]},{"name":"rpt:f-790","factDimensions":{"xbrl:concept":"us-gaap:GainLossOnTerminationOfLease","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"9000","decimals":-3}]},{"name":"rpt:f-791","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"50000","decimals":-3}]},{"name":"rpt:f-792","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:MilanItalyMember"},"factValues":[{"value":"50000","decimals":-3}]},{"name":"rpt:f-793","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3697000","decimals":-3}]},{"name":"rpt:f-794","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5080000","decimals":-3}]},{"name":"rpt:f-795","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityCurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1520000","decimals":-3}]},{"name":"rpt:f-796","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityCurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1471000","decimals":-3}]},{"name":"rpt:f-797","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityNoncurrent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2992000","decimals":-3}]},{"name":"rpt:f-798","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiabilityNoncurrent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4634000","decimals":-3}]},{"name":"rpt:f-799","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P2Y9M14D"}]},{"name":"rpt:f-800","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.0582","decimals":4}]},{"name":"rpt:f-801","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"P3Y9M"}]},{"name":"rpt:f-802","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent","xbrl:period":"2025-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"0.0589","decimals":4}]},{"name":"rpt:f-803","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"<div><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">Future minimum lease payments for operating leases due each fiscal year are as follows (in thousands):</span></div><div><span><br/></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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2027</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,869\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2028</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,816\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2029</span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">2,364\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Thereafter</span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u2014\u00a0</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0Total undiscounted liabilities </span></td><td colspan=\"2\" style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">8,049\u00a0</span></td><td style=\"background-color:#cceeff;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#ffffff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Less: Imputed interest </span></td><td colspan=\"2\" style=\"background-color:#ffffff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">(3,537)</span></td><td style=\"background-color:#ffffff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Present value of minimum lease payments</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">4,512\u00a0</span></td><td style=\"background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-804","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2869000","decimals":-3}]},{"name":"rpt:f-805","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2816000","decimals":-3}]},{"name":"rpt:f-806","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"2364000","decimals":-3}]},{"name":"rpt:f-807","factDimensions":{"xbrl:concept":"csbr:LesseeOperatingLeaseLiabilityToBePaidAfterYearThree","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"0","decimals":-3}]},{"name":"rpt:f-808","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"8049000","decimals":-3}]},{"name":"rpt:f-809","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"3537000","decimals":-3}]},{"name":"rpt:f-810","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiability","xbrl:period":"2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"4512000","decimals":-3}]},{"name":"rpt:f-811","factDimensions":{"xbrl:concept":"us-gaap:LeaseCostTableTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-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',serif;font-size:10pt;font-weight:400;line-height:120%\">The composition of total lease cost for the years ended April 30, 2026 and 2025 were as follows (in thousands): </span></div><div style=\"padding-left:13.5pt;text-align:justify\"><span><br/></span></div><div style=\"padding-left:13.5pt;text-align:justify\"><table style=\"border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:85.233%\"><tr><td style=\"width:1.0%\"></td><td style=\"width:48.128%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:21.713%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.1%\"></td><td style=\"width:0.486%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:20.169%\"></td><td style=\"width:0.1%\"></td><td style=\"width:1.0%\"></td><td style=\"width:4.904%\"></td><td style=\"width:0.1%\"></td></tr><tr><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"9\" style=\"padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',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:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000000;padding:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2026</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:1.5pt 1pt;text-align:center;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:700;line-height:100%\">2025</span></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Operating lease costs</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,778\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,730\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr style=\"height:15pt\"><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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Financing lease costs:</span></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=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0Amortization of leased assets</span></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">135\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"2\" style=\"padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">150\u00a0</span></td><td style=\"padding:1.5pt 1pt 1.5pt 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:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">\u00a0\u00a0\u00a0Interest on lease liabilities </span></td><td colspan=\"2\" style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">5\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">10\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr style=\"height:15pt\"><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=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:1pt solid #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr><td colspan=\"3\" style=\"background-color:#cceeff;padding:1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">Total lease costs</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,918\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 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:1.5pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">$</span></td><td style=\"background-color:#cceeff;padding:1.5pt 0;text-align:right;vertical-align:bottom\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:100%\">1,890\u00a0</span></td><td style=\"background-color:#cceeff;padding:1.5pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr><tr style=\"height:15pt\"><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:3pt double #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td><td colspan=\"3\" style=\"border-top:3pt double #000;padding:0 1pt\"></td><td colspan=\"3\" style=\"padding:0 1pt\"></td></tr></table></div>","language":"en-us"}]},{"name":"rpt:f-812","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseCost","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1778000","decimals":-3}]},{"name":"rpt:f-813","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseCost","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1730000","decimals":-3}]},{"name":"rpt:f-814","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"135000","decimals":-3}]},{"name":"rpt:f-815","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseRightOfUseAssetAmortization","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"150000","decimals":-3}]},{"name":"rpt:f-816","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestExpense","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"5000","decimals":-3}]},{"name":"rpt:f-817","factDimensions":{"xbrl:concept":"us-gaap:FinanceLeaseInterestExpense","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"10000","decimals":-3}]},{"name":"rpt:f-818","factDimensions":{"xbrl:concept":"us-gaap:LeaseCost","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1918000","decimals":-3}]},{"name":"rpt:f-819","factDimensions":{"xbrl:concept":"us-gaap:LeaseCost","xbrl:period":"2024-05-01T00:00:00/2025-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD"},"factValues":[{"value":"1890000","decimals":-3}]},{"name":"rpt:f-820","factDimensions":{"xbrl:concept":"us-gaap:SubsequentEventsTextBlock","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856","xbrl:language":"en-us"},"factValues":[{"value":"Subsequent Events<div style=\"text-align:justify;text-indent:36pt\"><span style=\"color:#000000;font-family:'Times New Roman',serif;font-size:10pt;font-weight:400;line-height:120%\">On June 5, 2026, subsequent to the 2026 fiscal year-end balance sheet date, the Company executed an amendment to its existing operating lease for its office and lab space located in Rockville, MD , extending the lease term through March 31, 2037. The amendment will be accounted for as a lease modification in accordance with ASC 842 in the first quarter of fiscal 2027.</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',serif;font-size:10pt;font-weight:400;line-height:120%\">Based on its preliminary assessment, the Company expects the lease modification to increase its operating lease right-of-use assets and its operating lease liabilities by approximately  $6.3\u00a0million. The amendment is also expected to increases the Company's future contractual minimum lease payment obligations by approximately $16.9\u00a0million over the remaining lease term through March 31, 2037. These amounts are preliminary and may change upon completion of the Company's detailed lease accounting analysis.</span></div>","language":"en-us"}]},{"name":"rpt:f-821","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseRightOfUseAsset","xbrl:period":"2026-06-06T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:SubsequentEventTypeAxis":"us-gaap:SubsequentEventMember","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"6300000","decimals":-5}]},{"name":"rpt:f-822","factDimensions":{"xbrl:concept":"us-gaap:OperatingLeaseLiability","xbrl:period":"2026-06-06T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:SubsequentEventTypeAxis":"us-gaap:SubsequentEventMember","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"6300000","decimals":-5}]},{"name":"rpt:f-823","factDimensions":{"xbrl:concept":"us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue","xbrl:period":"2026-06-06T00:00:00","xbrl:entity":"cik:0000771856","xbrl:unit":"iso4217:USD","us-gaap:SubsequentEventTypeAxis":"us-gaap:SubsequentEventMember","srt:RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis":"csbr:RockvilleMDMember"},"factValues":[{"value":"16900000","decimals":-5}]},{"name":"rpt:f-824","factDimensions":{"xbrl:concept":"ecd:InsiderTrdPoliciesProcAdoptedFlag","xbrl:period":"2025-05-01T00:00:00/2026-05-01T00:00:00","xbrl:entity":"cik:0000771856"},"factValues":[{"value":"true"}]}]}}