DIRCai5yEi5yE nmIL%ʹh ,.fleet/receipt.jsoni5Bi5B nh |*X0h?$׿e}$.github/ISSUE_TEMPLATE/bug_report.mdi5Bi5B nS˾}aU zc|'m0).github/ISSUE_TEMPLATE/feature_request.mdi5Bi5B nW_>f9L3l>5)%#.github/ISSUE_TEMPLATE/task_card.mdi5Bi5B nZ=/ΙpPYu .gitignorei5Bi5B n)2`jOYE3n-2.maestro/README.mdi5Bi5B nrex?]66ǁ0=.maestro/flow-passkey/006_user_signup_using_passkey_test.yamli5Bi5B n {kbn N,.maestro/flow-passkey/scripts/school_init.jsi5Bi5B nP"B(VQ(.maestro/flow-passkey/scripts/setDate.jsi5Bi5B nP21AUKq†).maestro/flow-passkey/scripts/teardown.jsi5Bi5B nhg Ah>pH'ZO9.maestro/flow-passkey/subflows/choose_passkey_prompt.yamli5Bi5B nem{eSv@.maestro/flow-passkey/subflows/choose_passkey_prompt_cancel.yamli5Bi5B nwոg?0-oB.maestro/flow-passkey/subflows/create_passkey_to_sign_in_flow.yamli5Bi5B n aiFUДQ1.maestro/flows/subflows/assign_qr_badge_flow.yamli5|i5| nNjۓ:" oGRr'.maestro/flows/subflows/erase_text.yamli5|i5| n aiF.maestro/flows/subflows/get_started_select_school_by_name.yamli5|i5| ns d8q5a-IYs5.maestro/flows/subflows/launch_clear_and_set_dir.yamli5|i5| n}Xu ]f*.maestro/flows/subflows/openlink_flow.yamli5|i5| n]˵ }3da8.maestro/flows/subflows/save_password_prompt_cancel.yamli5|i5| nz?7_4.maestro/flows/subflows/school_admin_login_flow.yamli5|i5| nv|zrB!,/yd(.maestro/flows/subflows/school_init.yamli5|i5| ntJ7\dqbyf1d+.maestro/flows/subflows/tap_done_again.yamli5|i5| n0Ng^>Kj_ *D^#.maestro/video-downloader/README.mdi5|i5| n (`[t j :=+.maestro/video-downloader/ci-run-cypress.shi5|i5| n ip)Mz:+.maestro/video-downloader/cypress.config.jsi5|i5| n )CLt 'F.ܛUUF.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.jsi5|i5| n%Cxx_;̍"˷7.maestro/video-downloader/cypress/fixtures/example.jsoni5|i5| nH9Pk˫XԌH TB5.maestro/video-downloader/cypress/support/commands.jsi5|i5| nS>kCStTKʪ0.maestro/video-downloader/cypress/support/e2e.jsi5 i5 nn"iRm&]u+.maestro/video-downloader/package-lock.jsoni5 i5 ns^:;ʨ{>^r&.maestro/video-downloader/package.jsoni5 i5 n ₰qV 5P:G? AGENTS.mdi5 i5 n7{վiÏ$"aARCHITECTURE.mdi5 i5 n4qV- ?9=CODING_GUIDELINES.mdi5 i5 nJ'v:ї(:G'CDESIGN_GUIDELINES.mdi5 i5 n ]R?rCRLICENSEi5 i5 n/{|j4"1  README.mdi5 i5 nHae@YYbuild.gradle.ktsi5 i5 nנ.1 ^Rci-run-maestro.shi5 i5 n!t%SN,^[#Aci-run-test-server.shi5 i5 n"7QXA(Y$ L猧9composeApp/src/desktopMain/resources/img/respect_logo.pngi5 i5 n#5^@yA|R-6composeApp/src/desktopMain/resources/img/spix_logo.pngi5 i5 n$S2;Vȱ/vZBgradle.propertiesi5 i5 n&/up\tE=ggradle/libs.versions.tomli5Mi5M n(,5!}|EC %!gradle/wrapper/gradle-wrapper.jari5Mi5M n)Gv1z^"`:w$ i(gradle/wrapper/gradle-wrapper.propertiesi} Fi} F n*":mkkZ&BGtgradlewi5Mi5M n+ 8!4\'{[*n gradlew.bati5Mi5M n- ?5^bE=>cP4Xrespect-app-compose/README.mdi5Mi5M n.!yJd֑-vkd#kK$respect-app-compose/build.gradle.ktsi5Mi5M n0Qu7%Z2V"vT3#/respect-app-compose/doc/app-config-dropdown.pngi5Mi5M n1]9mcŨkpS8/respect-app-compose/doc/run-config-settings.pngi5Mi5M n2HV/$"s{WIlI&respect-app-compose/proguard-rules.proi5Mi5M n51b)<&A; ;+E7respect-app-compose/src/androidMain/AndroidManifest.xmli5Ő-i5Ő- n9*B}Hs`wx]b"Orespect-app-compose/src/androidMain/kotlin/world/respect/AbstractAppActivity.kti5Ő-i5Ő- n:(R1R h2!>9vIGrespect-app-compose/src/androidMain/kotlin/world/respect/AppActivity.kti5Ő-i5Ő- n;d葟>s簀2w Irespect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kti5Ő-i5Ő- n<"\8 "jzG1P:Hrespect-app-compose/src/androidMain/kotlin/world/respect/MainActivity.kti5Ő-i5Ő- n= pfW36n7Frespect-app-compose/src/androidMain/kotlin/world/respect/RespectApp.kti5Ő-i5Ő- n> ȳYwem{œ]cKrespect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kti5Ő-i5Ő- nA~vlhH ZSrespect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kti5Ő-i5Ő- nCdQg4lCA&k2_respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kti5Ő-i5Ő- nDEZ2ǀn5H"awkrespect-app-compose/src/androidMain/kotlin/world/respect/app/components/RespectImageSelectButton.android.kti5Ő-i5Ő- nF? kWwv~eHmrespect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kti5Ő-i5Ő- nIs :_Tmfrespect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kti5Ő-i5Ő- nJZ2L ;u,˞y`respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kti5Ő-i5Ő- nL{lm.RlN'УWjrespect-app-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kti5Ő-i5Ő- nNYDrR K;~F7::s_respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kti5Ő-i5Ő- nQœC߬'|:urespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kti5Ő-i5Ő- nR LmuZ.sva;h-ܒw3Krespect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xmli5hi5h ng4n>eY+!zFٯ`Brespect-app-compose/src/androidMain/res/drawable/respect_logo.webpi5hi5h nhx}3OYr2q=?respect-app-compose/src/androidMain/res/drawable/spix_logo.webpi5i5 nirMOĹUPBrespect-app-compose/src/androidMain/res/drawable/works_offline.pngi5i5 nkyĒ\#YޠI"4Drespect-app-compose/src/androidMain/res/layout/activity_web_view.xmli5i5 nmmO0jQ?ȶĂպ=respect-app-compose/src/androidMain/res/menu/menu_webview.xmli5i5 no Rf( h{Orespect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xmli5i5 nqaUUa=,֑FIrespect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.pngi5i5 ns TuJgDlb'ݖ=respect-app-compose/src/androidMain/res/values-ne/strings.xmli5i5 nUP*@yMC/v?respect-app-compose/src/androidMain/res/values-night/themes.xmli5i5 nmMjpnhX1=respect-app-compose/src/androidMain/res/values-v23/themes.xmli5i5 n24*hϘ!,j|Crespect-app-compose/src/androidMain/res/values/asset_statements.xmli5i5 nmAIu:jްXՀ:respect-app-compose/src/androidMain/res/values/strings.xmli5i5 nu?QӺK)W_[X7respect-app-compose/src/androidMain/res/values/tags.xmli5i5 n#m?G ג-se(9respect-app-compose/src/androidMain/res/values/themes.xmli5i5 nN1u?uB߆Z< respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kti5Vi5V n vy*/`:=98respect-app-compose/src/commonMain/kotlin/theme/Theme.kti5Vi5V n̼9\eui/ʞD>respect-app-compose/src/commonMain/kotlin/world/respect/App.kti5Vi5V n3}d2`N}sbV :Frespect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kti5Vi5V n0֯O6s g![Irespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kti5Vi5V nl}`JsgS7Jrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kti5Vi5V ngC)͗Jq |Mrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kti5Vi5V n BMSS~֤t&2bM/Prespect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kti5Vi5V nkAv bxr>$6QTrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kti5Vi5V n>G ߄^TaxY:z iLrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kti5Vi5V n`:7q=-QjVrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kti5Vi5V nLS]穭XQchЦZrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kti5Vi5V n &`|9Jſ x_;jZrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/LanguageDropdown.kti5Vi5V n ZX3-m-Urespect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kti5Vi5V n4':o'Ln[`respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kti5Vi5V n ܭ8-{2@0GA0arespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kti5Vi5V nAF0H2+]tMZ怯brespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kti6i6 nA詘஢kBsNG8Zrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kti6i6 nEfZrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kti6i6 n\&4K"(cj.:J_respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kti6i6 n R,.Dn`S,crespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kti6i6 nO@?`} "(_respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kti6i6 nooE^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kti6i6 ntSBɘFa%Wn]respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kti6i6 nכּ:@ 秐]zerespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kti6i6 nަ%EKNf Zm_respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kti6i6 n- 9}dA^qR_Kbrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kti6i6 nHH%׀4hJ٩s_^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kti6i6 nt-y렼bD[[)erespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kti6i6 n^X W7j!  s[respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kti6i6 n6(I~qoNP&Jgrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kti6i6 n%ZxA4F7O TZrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kti6i6 nEu=WP. L?^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kti6i6 n ΂(_{[.*$%xgrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kti6Si6S nEGPKk2/LGWrespect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kti6Si6S noj]X"vWE]respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kti6Si6S n飥=F:&W^respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kti6Si6S nݻ6LS/'Nrespect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kti6Si6S n)|^a.Lltܷfrespect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kti6Si6S ncoXcrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kti6Si6S n-l<^by*+Ŝm] h[respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kti6!i6! n}?jrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kti60_i60_ n.2Ez) lrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kti60_i60_ ne9|s#$iE^Dprespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kti60_i60_ n hIRa5[Mtrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kti60_i60_ n o6avZ{n(e|respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kti60_i60_ nip0 _HJ)jrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kti60_i60_ n2%uv#q90 srespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kti60_i60_ n ˋjkQc^uwG`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kti60_i60_ n  μ|Ҋ_滑uTXmrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kti60_i60_ n  Ju lĈSHkxoyrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kti60_i60_ n:ɍ-Sz&ցbrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kti60_i60_ n|p0K:ߧ+ Oxrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kti6?i6? n W`!7N`^nzrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kti6?i6? n!!ʉy 5q8ZK?uXج_respect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kti6?i6? n #=^47,#g>nrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kti6?i6? n >8N~`+G>zhrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kti6?i6? nZU0GL0% drespect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kti6?i6? n'ӣgb 2IN6".B`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kti6?i6? n /qۊH5vC#Njrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kti6?i6? n" J8erS9hm"u'`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kti6?i6? n$-?(Okn'z𼾵DV5lrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kti6?i6? n&~яhǎa&D+P6;ɍghrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kti6?i6? n( iVPF3v#`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kti6N>i6N> n*UEUB`=P-respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kti6N>i6N> n+X5LPH͙@5E~respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kti6N>i6N> n.>{ KRN$l_Xjdrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kti6N>i6N> n0[O͇(N.U}U6~Y`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kti6N>i6N> n2.{)>TqDyllrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kti6N>i6N> n4(-r@,1{^respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kti6N>i6N> n7%i@w "hqrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kti6N>i6N> n9 >/]rN_ֲ{]O+mrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kti6N>i6N> n; i4_*p_WE<|mrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kti6N>i6N> n= ]_jis0v `respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kti6N>i6N> n>"WUHԺhrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kti6N>i6N> n@5u=Ւ.i6N> nC $ |OPݺ3F|bhQrrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kti6N>i6N> nE +()dKCG=~*rrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kti6^&yi6^&y nG+iͱ)c2l[respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kti6^&yi6^&y nI (ܘo@ q@"NSwNrespect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kti6^&yi6^&y nMۤo4^ۮIGlVrespect-app-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kti6^&yi6^&y nT^HDetI+\{YSrespect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kti6^&yi6^&y nVT_0 ? Q4!_respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/BasicWebView.desktop.kti6^&yi6^&y nW0A i/VvI3Qkrespect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kti6^&yi6^&y nZA >E.ԥVP$-4.frespect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kti6^&yi6^&y n[Z2L ;u,˞y`respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kti6^&yi6^&y n]ec&3jrespect-app-compose/src/desktopMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kti6^&yi6^&y n_dl%'f+QWrespect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kti6^&yi6^&y n`k״YU:K.SA@respect-app-compose/src/desktopMain/kotlin/world/respect/main.kti6^&yi6^&y nb;D-tstoB>respect-app-compose/src/desktopMain/resources/sample-feed.jsoni6^&yi6^&y ndB*18LyqzK}respect-cli/.gitignorei6^&yi6^&y neRz$oG]%Frespect-cli/build.gradle.ktsi6mhi6mh nlK я}z Hcr2>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kti6mhi6mh nnB*18LyqzK}respect-credentials/.gitignorei6mhi6mh no) o{r0{Ö$respect-credentials/build.gradle.ktsi6mhi6mh npH4Ayף gm4K &respect-credentials/proguard-rules.proi6mhi6mh nxHDQi2O ~QͯHirespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kti6mhi6mh ny~"qP;Bu͍crespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kti6mhi6mh nz߉3ǬW1{crespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kti6mhi6mh n{OQ!0ǤWq]'`respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kti6mhi6mh n|m^`x۶޿ `respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kti6mhi6mh n}XJ6Xȵbrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kti6mhi6mh n37<(glOgrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kti6mhi6mh n76e]f,Z~respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kti6mhi6mh nⶢ` ڞw2{respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kti6mhi6mh n'rځ5)8 orespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kti6mhi6mh nj;OI Ft H|"Fwrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kti6mhi6mh n9W)#zOv5r31OY-srespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kti6mhi6mh nOf6AXsκcrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kti6mhi6mh nȱc'x"[hrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kti6mhi6mh nRH06O8?s41{respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kti6mhi6mh n1"a?F Cvrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kti6mhi6mh n_ '~/<,}>trrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kti6mhi6mh noRA >S|Dzrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kti6mhi6mh nMKbopPBnu>Hprespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kti6mhi6mh n+@ 8?Hm@ Dvrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kti6mhi6mh nFǚUV`;Gnkrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kti6mhi6mh n Ҵ {\!W0p$z{respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kti6mhi6mh nRs&T|(9i^respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kti6mhi6mh nVXA;DҔ#nrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kti6mhi6mh ng\r}ft$9nrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kti6mhi6mh noޚ bi=?trespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kti6|i6| n]!qIl9K ]respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kti6|i6| nr0o#Fj`|0respect-credentials/src/main/AndroidManifest.xmli6|i6| n_K(K j*~?1respect-datalayer-db/AGENTS.mdi6|i6| nj(>i;F6?[brespect-datalayer-db/README.mdi6|i6| n5*|e35>ӱ.%respect-datalayer-db/build.gradle.ktsi6|i6| nnAr) BnWwێQrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.jsoni6|i6| ne5cga_~EV?Qrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.jsoni6|i6| n;uP,T~v0~a-Srespect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/1.jsoni6|i6| n%Cx?OSrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/2.jsoni6|i6| nPMxPD/KTrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.jsoni6|i6| n8zdM&-8g)Urespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.jsoni6|i6| nN:<& W!0WQI7Urespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.jsoni6|i6| nPǾ0ۧ[Q[respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kti6)i6) n\i4&F7rqrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/CompatibleAppDataSourceDb.kti6)i6) np_e>^/)EM6urespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/adapters/CompatbileAppAdapter.kti6)i6) nב}.\&.\ v7trespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/daos/CompatibleAppAddJoinDao.kti6)i6) nRlQ`>1I၎Tsrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/daos/CompatibleAppEntityDao.kti6/di6/d nǭW3 lm.êQurespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/entities/CompatibleAppAddJoin.kti6/di6/d n ꔀ h,`@ctrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/entities/CompatibleAppEntity.kti6/di6/d n iHoD&$ Rg%u՝ALrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kti6/di6/d nym7w^respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsDataSourceDb.kti6/di6/d nY'xW\respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsParentType.kti6/di6/d nQhTdy@Q`respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsTypeConverters.kti6/di6/d nrˀmt@ L`S͋_grespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFacetAdapter.kti6/di6/d nFRke3>frespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFeedAdapter.kti6/di6/d n 2dTYKǫtrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFeedMetadataEntityAdapter.kti6/di6/d na*-ftz}{,@grespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsGroupAdapter.kti6/di6/d nЊ4cIiqW$Lsrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsPublicationEntityAdapter.kti6/di6/d ndzdB!nPәjqorespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/ReadiumLinkEntityAdapter.kti6/di6/d n VA;$8 "濵ԦVgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/ReadiumLinkEntityDao.kti6/di6/d n2NN Ck/,ݭYxsfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFacetEntity.kti6/di6/d nԊu^'㰸OdWerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedEntity.kti6/di6/d n*ǽAR&m (I~mrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedMetadataEntity.kti6/di6/d ns%== :32frespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsGroupEntity.kti6/di6/d n;Ԡ_qOm ZLlrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsPublicationEntity.kti6/di6/d n ư{uYqhwihrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/ReadiumLinkEntity.kti6/di6/d n? j*1Iذwpxz=+/krespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/ReadiumSubjectEntity.kti6qi6q no-K]J,>&rfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/AssignmentDatasourceDb.kti6qi6q nQ_iWMDgJ4arespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kti6qi6q n Jnmhv{erespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kti6qi6q n(~0 ! abrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kti6qi6q n*T_}3K2q0^brespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kti6qi6q n ڪR^H`@3]8irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kti6qi6q n1_<&qSc2Hjrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kti6qi6q n;+ fvOVirespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kti6qi6q n ʕ=)!Il c³(brespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kti6qi6q n |ivl`}BQtBerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kti6qi6q n_vשP\ҘBqrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kti6qi6q ntIqh:z`drespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kti6qi6q n_u,_|7G.jrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AssignmentAdapter.kti6qi6q n+}FHT\I7J҃irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kti6qi6q n ϷS0ZkmB,D\erespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kti6qi6q nuGR8Ƽi;lxjrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kti6qi6q n ka+G:&H}fW[JmVwfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kti6qi6q n 1Ãr)%O(QHfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kti6qi6q nߌFCZ)Q4xmrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kti6qi6q nDM3b;~.tnrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kti6qi6q n/E&/T$:qMmrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kti6qi6q n^P:k;x4nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kti6qi6q n$oN=EB8%afrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kti6qi6q n"JeSp'~U*m5irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kti6qi6q nihrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kti6i6 n[ppP5pPҔVOgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kti6i6 nco*qnډz,K(drespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kti6i6 nW! :𺦺Hʘ7k{drespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kti6i6 ns S4nn}RYlrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kti6i6 n xUqs%]%Tkrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kti6i6 nW%Vi4c_Mqrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kti6i6 n=fQDf hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kti6i6 nk`^Z.m3Ulrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kti6i6 n>%Xo4qUG_^:vdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kti6i6 n{n~ci&]j Rgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kti6i6 n 9?Z]`6or11lmrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kti6i6 nn-%`na+V{_flrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kti6i6 n̰kN6GմL'@X~respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kti6i6 n3.4{cj?:yrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kti6i6 n3su4(xnbSg }respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kti6i6 n(u"/#ps"irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentEntity.kti6i6 n  tD{R=h|respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kti6i6 n!Y7Lgu/'hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kti6i6 n"NdȒ9UrȰdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kti6i6 n#Yx@/X~dHUsrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kti6i6 n$$㨓[1SÕnrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kti6i6 n%ۍg&X+l;1h]irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kti6i6 n&9?JJV.T6hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kti6i6 n'ly`oU>uerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kti6i6 n(z T+.0 W+rrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kti6i6 n)I>?Nerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kti6i6 n*KDDo+POT:v/+nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kti6i6 n+9KHVWS1L Qlrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kti6i6 n,, fAvڱבmrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kti6i6 n-(qksk*4H\lrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kti6i6 n.FT$ļեPcw3rrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kti6i6 n/cdGh>E pk`irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kti6i6 n0ϟ3<<_[b?uZFmrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kti6i6 n1$lu8)-BiQerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kti6i6 n2ȫZ:/At(Mhrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kti6i6 n31~Q2RuԭXtrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kti6i6 n40Y™ږOp+mrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kti6i6 n6Kao$ZYHt>]respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kti6i6 n8Sji?"UhK<r=0}respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kti6i6 n@uX#c&esrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kti6i6 nA,+JD;h;q=cRvrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kti6i6 nBZhAyUl "3{respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kti6i6 nCf.9fs]PΎo4!respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kti6i6 nEǑ9VnCmwtrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kti6i6 nFdt5yeF=vwrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kti6i6 nGVBLmdoE7ˑ}|respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kti6i6 nH{%UcH!c?ͻsrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kti6i6 nJͳ@o`-KQ`?nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kti6i6 nQ UǟzΆFgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kti6i6 nRk#ègso^3EN3nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kti68Oi68O nTK+CVYєQerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kti68Oi68O nV>[>+] `Ukrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kti6zi6z n/VfS6܀Zorespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kti6zi6z n2HXv?oϏ/ ߄drespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsDataSourceHttp.kti6zi6z n#0jv 3m~0ާVTSlrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/AssignmentDataSourceHttp.kti6zi6z n^r_dfw?Fhgrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.kti6zi6z nDJ +}lS*P$/Blrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kti6zi6z nZRST.;#H[R2hrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttp.kti6zi6z n(_fFr9Q* 8hrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kti6zi6z n _9Fporespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttp.kti6zi6z n `s|Dn.s+Ɏ`%prespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttp.kti6zi6z n!`K>كK  xorespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttp.kti6zi6z nzp ru3iӰtPkrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttp.kti6zi6z nV^|ޑ$Ǎ0-ȣGwrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttp.kti6zi6z n$In 9{#VAlrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kti6i6 n m_?%J,R&Kmrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kti6i6 nLB<(rb }9vrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kti6i6 n# 7nm|\G%(&respect-datalayer-repository/AGENTS.mdi6i6 n t4h l`OG&respect-datalayer-repository/README.mdi6i6 n ^"u>ub=j<-respect-datalayer-repository/build.gradle.ktsi6i6 nɻm3ϖ<ˢa4tYOtrespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kti6i6 nܨ궪>162respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kti6i6 nY8G9vQgv{respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kti6i6 nW%ز.D1|QVvrespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kti6i6 n̴R^0${qrespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kti6i6 nZoOOo+=_Nrespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kti6i6 n)̽$@ĕmfrespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kti6i6 nCBŜ{ضdx3>]_wrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kti6i6 n⛲CK)wZSyrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kti6i6 nxkXg-+ʞsrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kti6i6 n -HhKp' D1ɬ>Irespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/compatibleapps/CompatibleAppDataSourceRepository.kti7i7 nIs+.j#NJGWUvrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsDataSourceRepository.kti7i7 n W^{~zp5 1~respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kti7i7 n jO,[&yrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kti7i7 nh n+V$@.~respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kti7i7 n }I}Qc}HubՇzrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kti7i7 n-\W땐xw=yQ?zrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kti7i7 nV?5A9[i48 6Xrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kti7i7 n Nb~)h(ng1wy&e respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kti7i7 n s[?2Prespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kti7i7 n/>P!kSzrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kti7i7 n !礫a; IX-O}respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kti7i7 n:DXV,>3Prespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kti7i7 nFtȅ{ ÅE{respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kti7i7 n m;iZrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kti7i7 nx=ȽR3Drespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kti7i7 n'`禺7658#respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kti7i7 n9Swbl5: vrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kti7i7 n%[{a2_yܒ&vrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kti7i7 n` lyeq jrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kti7i7 ni۟w\|3!\!respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kti7i7 n t]*SYV$U xrespect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepositoryTest.kti7A:i7A: n=VV{s*fG:Frespect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kti7A:i7A: n0?<cU yFc/Ѭ|respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kti7A:i7A: nvO<=%j,do>respect-datalayer-repository/src/jvmTest/resources/logback.xmli7A:i7A: nŞ5b_ݹƯEb;erespect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.jsoni7A:i7A: n0^9a%Sڂirespect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.jsoni7A:i7A: nB*18LyqzK}respect-datalayer/.gitignorei7A:i7A: n[#CwUV>ծ7H.respect-datalayer/AGENTS.mdi7A:i7A: nGLUuf/B`8]respect-datalayer/README.mdi7A:i7A: n:dJSJ(~7|y"respect-datalayer/build.gradle.ktsi7A:i7A: nyha̮O Ԉ[vEs5respect-datalayer/src/androidMain/AndroidManifest.xmli7A:i7A: nB MܣW72Trespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kti7A:i7A: nTݦZ<>Y6_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kti7A:i7A: n#Y) ?X/w;dNhZSrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLayerHeaders.kti7A:i7A: nja~v#.^Rrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLayerParams.kti7A:i7A: n[XJߤ5{nZSrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLoadMetaInfo.kti7A:i7A: n;KTS4;zQrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLoadParams.kti7A:i7A: ns-VW7"O'3Prespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLoadState.kti7A:i7A: nzi]$HF1:@Wrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kti7A:i7A: nWҷ.horespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/CompatibleAppsDataSourceLocal.kti7$ui7$u n  yVNrhmufk(jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kti7$ui7$u n !j[L ζ*쬉+`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kti7$ui7$u n  ^@Ȑ™e>F crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kti7$ui7$u n~L'0M(=XbWrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DataLoadStateExt.kti7$ui7$u nF,qWz|}$KY:[ Trespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kti7$ui7$u n̲0 d_(Gn)Trespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kti7$ui7$u n,rGo-dK:~8LUrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kti7$ui7$u nZH7NJsd>!w!Y|\respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kti7$ui7$u n`p]:Vw1Y8>^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kti7$ui7$u n''MyL*n3<srespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kti7$ui7$u n@qyЧaޤNwrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kti7$ui7$u nb < `8Ivkjrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kti7$ui7$u nUcoocxQЋphrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kti7$ui7$u n6p{x)*vۜ)w`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kti7$ui7$u nnÌ>R)K(jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kti7$ui7$u neQЋ5X}١x˜carespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kti7$ui7$u nK!^-,fhrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kti7$ui7$u n hS]2GFrZfrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kti7$ui7$u n!^(fK`B<ظCr;Wcrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kti7$ui7$u n"wŘ͋V6Ehfrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kti7$ui7$u n#ׄ:ZǔjnŌ*frespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kti7$ui7$u n$ˀ񫒣?`$4krespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kti7$ui7$u n%p\p,QH`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kti7$ui7$u n&n̒Mb2Cddrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kti7$ui7$u n'_we^`*grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kti7$ui7$u n(:w'UEYIohrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kti7$ui7$u n)N K%u\h'#+Ca`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kti7$ui7$u n*K-A=S}>8MOcPpgrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kti7$ui7$u n+v8 ~8z[brespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kti7$ui7$u n,CV.Je$K|8z^grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kti7$ui7$u n.=]K2jVrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/OpdsDataSource.kti7$ui7$u n/^^^$q~mvИrN[respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/OpdsDataSourceLocal.kti73Űi73Ű n1SiBͨYrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kti73Űi73Ű n=L%̅Ǵvg]^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kti73Űi73Ű n> װ9XUd^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kti73Űi73Ű n?IZ ,eq˶crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kti73Űi73Ű n@O GdTH]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kti73Űi73Ű nA X2;7aKYQ[Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kti73Űi73Ű nBVTN ku7m_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kti73Űi73Ű nC$ 43Z8Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kti73Űi73Ű nD((iܡ䧞_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kti73Űi73Ű nE ތ(fnxn*,&arespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kti73Űi73Ű nF` 阚㹛@ufrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kti73Űi73Ű nGĴp#MF _brespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kti73Űi73Ű nH\*rjn(ZawHqerespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kti73Űi73Ű nIuwglGaMϔ|grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kti73Űi73Ű nJި~tTtQFarespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kti73Űi73Ű nKhC2j}g'L(X*[9jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kti73Űi73Ű nL])9hV/oO&8Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kti73Űi73Ű nM7u?1^0ZR_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kti73Űi73Ű nN< {GcqTաq1;]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kti73Űi73Ű nOKk}k@-^V4]fbrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kti73Űi73Ű nP#Ɔ3l8lqeOhI]˿irespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kti73Űi73Ű nQ' ;3XTgϕZTnrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kti73Űi73Ű nSEK13{a"b arespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kti73Űi73Ű nTF?~]D'#JBT\grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kti73Űi73Ű nV$x)bÎ,QE5mrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kti73Űi73Ű nW"I&{L\-qrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kti73Űi73Ű nXz+G_o0blrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kti73Űi73Ű nY3{VJ?dy-8EUnprespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kti7Ci7C n[ˑw4X3Y>}7ce[respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kti7Ci7C n\Ƥq[N.@crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kti7Ci7C n] M j ~YyM  KWrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kti7Ci7C n^&ܭ̉3$Т %\6brespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kti7Ci7C n_\zs7Ƛ9IˬWrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kti7Ci7C n`bJ De$ٰpCgNN_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kti7Ci7C na[ΏQGCM鉲'WIfrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kti7Ci7C ncrN5U<"#BZrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Assignment.kti7Ci7C nd/+zf`!kr2emrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kti7Ci7C ne9þ 11Uy4~M),irespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentLearningUnitRef.kti7Ci7C nf{ltӍЦE\:Yrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kti7Ci7C ngu%Ng|]7brespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kti7Ci7C nh/5y^+U$_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kti7Ci7C ni[[$;o -aZhAUrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kti7Ci7C nj ́̾Z\qZrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kti7Ci7C nk|4$T% ٰj]yt ?Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kti7Ci7C nl߉ ]>,ZgiSIbrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kti7Ci7C nmQ݆mLBxזb{Yrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Indicator.kti7Ci7C nn]WVI1GTr9Vrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kti7Ci7C no3M'D#p{/#`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kti7Ci7C np;((iƈڳ/A _respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kti7Ci7C nq,2`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kti7Ci7C ns/2ku`q]Y{aq\]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kti7Ci7C nttR%[ Jhq3g#eӏ^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kti7Ci7C nuDD9Ы#s]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kti7Ci7C nv.45o'I9$=Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kti7Ci7C nwr)2 rږ^1^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kti7Ci7C nx D_D;+8DN`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kti7Ci7C ny-.qoN*^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kti7Ci7C nzJw"+zT%Vrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kti7Ci7C n{Լ ܕY}Z CvrgYrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kti7Ci7C n|Pu| h{ erespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kti7Ci7C n}cn?P+nY)!>ܚ2Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kti7Ci7C nre ga~6q@0lrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kti7Ci7C nynrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kti7RJ%i7RJ% nDal+e[Iu 1o ;erespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kti7RJ%i7RJ% n =&SFQ%\Zqcrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kti7RJ%i7RJ% n>B D;.+P(lrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kti7RJ%i7RJ% nEU}imqrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kti7RJ%i7RJ% n½NZo49Zr`I ?qrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kti7RJ%i7RJ% n)4x1y'{qvrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kti7RJ%i7RJ% nvЉ+\ߘgQ Z^VWrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kti7RJ%i7RJ% n VEL n )"^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kti7RJ%i7RJ% n# >#?f:!NqXrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kti7RJ%i7RJ% nDGpe$yۓ[respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kti7RJ%i7RJ% nQd^iNm~crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kti7RJ%i7RJ% n):[(p2m}O1\respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kti7RJ%i7RJ% n)g%@O;Y_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kti7RJ%i7RJ% nZgҎkJi-&)L8S&UJrespect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.jsoni7a`i7a` nJ=A w]!.?5respect-lib-cache/src/androidMain/AndroidManifest.xmli7a`i7a` nvOCW o.dɗVrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kti7a`i7a` n_j>VUOz.wp]3Urespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kti7a`i7a` n.6Mr_΋V*Y7Bsrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kti7a`i7a` n%1l䂃| Аkrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kti7a`i7a` nĢeCW]F_*srespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kti7a`i7a` nU)تux=Mo!9brespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kti7a`i7a` nan_y?c"_zrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kti7a`i7a` nOSdnJ[& sP܅srespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kti7a`i7a` n(1EUHV`'5$rrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kti7a`i7a` n*Lxv`Puz~,krespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kti7a`i7a` n9>o|j 0ig Yrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kti7a`i7a` nj7;Mo)H$Yrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kti7a`i7a` nIz^=v#1Yم`respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kti7pΛi7pΛ n${md^/ ٱ&Urespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kti7pΛi7pΛ n<ި GS*9k0Nrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kti7pΛi7pΛ noz)Vrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kti7pΛi7pΛ nL ;J arespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kti7pΛi7pΛ n:,p9NSrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kti7pΛi7pΛ nm۽C(*]vVarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kti7pΛi7pΛ n\ ϘrOhj|<ҚKYrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kti7pΛi7pΛ n`vŲOO],Orespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kti7pΛi7pΛ nf]M?t8(Mrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kti7pΛi7pΛ n1A$Ac#5Nrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kti7pΛi7pΛ nK*DZ& ,)Rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kti7pΛi7pΛ n 9*+q $RؾUrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kti7pΛi7pΛ nF)YJv2!_wF>Rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kti7pΛi7pΛ nW¦Ǧ@("Z_PTrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kti7pΛi7pΛ n;e聆krespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kti7pΛi7pΛ nTU|gB{1ۑd]g\\c]Apkrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kti7pΛi7pΛ n M[x_ܫ`Vrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kti7pΛi7pΛ n>t?ٱ-ɮªarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kti7pΛi7pΛ nf0-&.HP#9]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kti7pΛi7pΛ n_Yz񚛦b#Wrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kti7pΛi7pΛ n xN4DHiGntZGSrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kti7i7 nYPozaVQ̜)_respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kti7i7 nMt J_]޳H(trespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kti7i7 n aCDw%A}!:4Xrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kti7i7 nc) )Iӽ=o=UzLYrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kti7i7 n "T~+?M]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kti7i7 n i0X'k˲g[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kti7i7 njׄ ĕJ|im< `respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kti7i7 n(y$gz(zW78[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kti7i7 nhz: E ˜s ș_respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kti7i7 nᇚ5*jV|Ywn\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kti7i7 n[pSU㶭5[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kti7i7 n3bqJ Qt"Zrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kti7i7 nX +V@GQGhAbrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndLocks.kti7i7 n8Nt-tg)espect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kti7i7 nuRc|Pc#Q5_respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kti7i7 n%d/c8**n]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kti7i7 nXG6J;MΐYZr ,Xbrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kti7i7 n=9vn$D, Z]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kti7i7 n4w~ 6&ƕarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kti7i7 n R+`Xx0zC^respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kti7i7 n (ȳo_wch+TM]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kti7i7 n [r°ZؤC]n?erespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kti7i7 n ~ZZ8:s+irespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kti7i7 nD͖Ǥk\el&}b`irespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kti7i7 n7ծ@Tyrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kti7i7 nqOmޝ8﮴vGƢarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kti7i7 nn3L/K< %7qrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kti7i7 nclA8vG&c93lrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kti7i7 n$^7~Ռ aMjrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kti7i7 nbVH؇v2ʑjrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kti7i7 nTtLńi jmɲzrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kti7i7 nJd,Ź_}Yorespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kti7i7 n%W`\i.;߫Rlrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kti7i7 n~rdu -ñ{Ószrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kti7Si7S n ɮ^8.pkrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kti7Si7S nQ@렽 oC8.Serespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kti7Si7S nWCmV0Ao:crespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kti7Si7S nQW","S+=rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kti7Si7S n ŜT\{+Rxudkrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kti7Si7S n!󈻄ԙj.l<^_=krespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kti7Si7S n"m%фPOV< drespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kti7Si7S n#}:0P3t/k<~ ėIUrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kti7Si7S n?6lQx*3;4>$4Lirespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kti7Si7S n@ڙBQsTo#Vrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kti7Si7S nAJh3"n=?N`respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kti7Ki7K nC`0^, S*zZHXrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kti7Ki7K nDy UmW&FB^orespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kti7Ki7K nFWԜգd\^respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kti7Ki7K nGZnb8w`{;P"vpZrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kti7Ki7K nH:,*D-&RH]grespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kti7Ki7K nI =r$MMl Q]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kti7Ki7K nJ&(iDX8Q0\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kti7Ki7K nK䃔i7_C Aѧ[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kti7Ki7K nM[aY)ˈ^gOQVrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kti7Ki7K nN ,++LpÛH\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kti7Ki7K nO$ɍb#D=Trespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kti7Ki7K nP Mg'20 DSOrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LruMap.kti7Ki7K nV^B ==N=RdRrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kti7Ki7K nX7qG-RB |ԱZQrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kti7Ki7K nZ\xraBȪ6LSkrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kti7Ki7K n\:`q.5rrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kti7Ki7K n^fo{H%C!79<`Urespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kti7Ki7K n_5c6^q=LƦMQrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kti7Ki7K nepln$9!@R F vKrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kti7Ki7K nfDc>n'|(t*x]xRrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kti7Ki7K ng 3 aޱuQVrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kti7Ki7K ni g{ ʹGœCIjrrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kti7Ki7K nj̛ɦd 3ޤ;BWqrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kti7׆i7׆ nl/'lj;6LWurespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kti7׆i7׆ nn>$vBbCaI)s2d]rrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kti7׆i7׆ npDh1%:<\Xmrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kti7׆i7׆ nr[6[k>Э<crespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kti7׆i7׆ nt,u)\h[[6Xrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kti7׆i7׆ nvd24iyBA|drespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kti7׆i7׆ nw;ģ&M pwbarespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kti7׆i7׆ ny ,P6xߝMi#b2 Yrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kti7׆i7׆ n{]]Tw%qugRrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kti7׆i7׆ n|֒D" J)DZP9SU\Srespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kti7׆i7׆ n}q ew,_e#Yrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kti7׆i7׆ n~ (h.aL yyS:Q@p respect-lib-ihttp-core/README.mdi7۞6i7۞6 nCDKmq{PEd'respect-lib-ihttp-core/build.gradle.ktsi7۞6i7۞6 nZ9\respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kti7۞6i7۞6 nAX+¯9M,]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kti7۞6i7۞6 nœ3>7)Wh8Zrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kti7۞6i7۞6 n?-+J)W-Q R]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kti7۞6i7۞6 n=b+psDiarespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kti7۞6i7۞6 nA4ȏz^-7mǮcrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kti7۞6i7۞6 n Cfz͂g$ˁ_respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kti7۞6i7۞6 n9EL z.k M}[respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kti7۞6i7۞6 n( 'o]j?xL7\hrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kti7۞6i7۞6 n_&D(NƾT]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kti7qi7q nE2!j :p[$Zrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kti7qi7q n%^ғZ`A 3+iFkfrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kti7qi7q nS=ĕ (8ozprespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kti7qi7q nM&s9frespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kti7qi7q n$ ԱoZ8@C \respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kti7qi7q nYW^ \54cwFe*`respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kti7qi7q n>-p $\<%j+z`v\respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kti7qi7q ns0[an3d]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kti7qi7q n {`Lv<~ )EľqUrespect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kti7qi7q n2.m‚S RԵWrespect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kti7qi7q nB*18LyqzK}&respect-lib-ihttp-iostreams/.gitignorei7qi7q nZ% -blzmm%respect-lib-ihttp-iostreams/README.mdi7qi7q na5Y {I7^,respect-lib-ihttp-iostreams/build.gradle.ktsi7qi7q n恿\\#SAMarespect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kti7qi7q nHAZ9f`:/{7'erespect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kti7qi7q nB*18LyqzK}&respect-lib-ihttp-nanohttpd/.gitignorei7qi7q n5JU6 rlmXƪLZ,respect-lib-ihttp-nanohttpd/build.gradle.ktsi7"i7" n 7䊓š@aG\lrespect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kti7"i7" nz:&KObrespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kti8 di8 d n\#c$rw*krespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kti8 di8 d n %:9~ww/"zI0\respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kti8 di8 d nr4sH'0zG 88[respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kti8 di8 d n_;>40OC*respect-lib-primarykeygen/build.gradle.ktsi8 di8 d n  9X竭}jrespect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kti8 di8 d n'].+-+ԉ+K&zFҼ_arespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kti8 di8 d n(2圙D,DZifrespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kti8 di8 d n*,x@͞Bdγ Jrl}arespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kti8 di8 d n1> O f0Ҽ>C3brespect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kti8!i8! n8bނR\!2gx\k krespect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kti8!i8! n:59c(-G$]kv!respect-lib-serializers/README.mdi8!i8! n; FZ)@ ,\=K(respect-lib-serializers/build.gradle.ktsi8!i8! nCI@ 6Y_irespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kti8!i8! nDӮס K;}5ܘw6/grespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kti8!i8! nE ]ٳp|Rn'?brespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kti8!i8! nF|Xfk"U υtrespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kti8!i8! nG"rx^RE6]A_VNlcrespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kti8!i8! nHr[u{zղgrespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kti8!i8! nIi:v'M8Dϙ?Zrespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kti8!i8! nJ[C&ZNo1/brespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kti8!i8! nL#X`E23 o#respect-lib-shared-se/README.mdi8!i8! nM`_;63*5^ &respect-lib-shared-se/build.gradle.ktsi8!i8! nW",TSfd\l֔2respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kti8!i8! nXͱF^WY(PԤrespect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kti8'\i8'\ nZ͠ 0ĕs}#respect-lib-shared/build.gradle.ktsi8'\i8'\ n^*H+=XQܢ35respect-lib-shared/src/androidMain/assets/aaguid.jsoni8'\i8'\ nbn(Tj׆BhI^oKrespect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kti8'\i8'\ ng_^-Ea G.urespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kti8'\i8'\ nijCb,6¤fd Gqrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/applanguage/LocaleSettingDelegateAndroid.kti8'\i8'\ njZYMvT~iw# snrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/applanguage/SetLanguageUseCaseAndroid.kti8'\i8'\ nl?jM{gV)<*F"wrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kti87+i87+ nnXeѨ>T:dzn9.is2o^rrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kti87+i87+ ns=I2%s 2!dPsrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kti87+i87+ nuS3ArfElU jirrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kti87+i87+ nwh `A u}\v&nrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kti87+i87+ ny J#rK1jrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kti87+i87+ n|#v!%cw c7[!respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kti87+i87+ n~zQ>:frespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kti87+i87+ nvECJu{# Uvrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kti87+i87+ nAVED*-&elrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kti87+i87+ nq_ N;7<".#gurespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kti87+i87+ nH>s5p(߼)1l%mrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kti87+i87+ nl 2 IIϲ'grespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kti87+i87+ n^Ԝ$Smrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kti87+i87+ nxE v-,torespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kti87+i87+ nV$ԂWCS%ȀvqIsjrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kti87+i87+ n_[6'p76p;rKhrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kti87+i87+ nz#u+PlS2jrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kti87+i87+ nOMU<=ЯcL1Qjrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kti87+i87+ nL4UI *p^Bkrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kti87+i87+ n Ty?p}WM{ wrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kti87+i87+ nԙٿY4p7U~respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kti87+i87+ n׻_!^)FH'~respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kti87+i87+ nYɪlEPK' ;+L2erespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kti87+i87+ n^ra4AK(?ߺI9*cdrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kti87+i87+ nMPRBJ66·;drespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kti87+i87+ n{>NQ+|Xrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kti8Fmi8Fm n֧ʡ-ޙ0H!'MURrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kti8Fmi8Fm nGH!M3G}'`%i`Krespect-lib-shared/src/androidMain/resources/directories/default.propertiesi8Fmi8Fm n(˼yjnUrespect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xmli8Fmi8Fm n@EAyq.nHrespect-lib-shared/src/commonMain/composeResources/drawable/copycode.pngi8U i8U n(yT{(Jwu> 4;),Erespect-lib-shared/src/commonMain/composeResources/drawable/empty.pngi8U i8U ng_3WCbQBKrespect-lib-shared/src/commonMain/composeResources/drawable/fingerprint.pngi8U i8U n!$J-Nnaz]tXrespect-lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xmli8U i8U n #?k09+ c@0Hrespect-lib-shared/src/commonMain/composeResources/values-hi/strings.xmli8U i8U n{cF8cʌqdI+Hrespect-lib-shared/src/commonMain/composeResources/values-ne/strings.xmli8U i8U nug6=xUٸUT|Erespect-lib-shared/src/commonMain/composeResources/values/strings.xmli8U i8U n3zȾCQȚz7$\}/Crespect-lib-shared/src/commonMain/kotlin/world/respect/Constants.kti8U i8U nFjL)-5؂hBrespect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kti8U i8U nf뚰 c0N!t FBrespect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kti8U i8U nqq.מq\C[b#hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kti8U i8U nmq!Oab~v kycrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kti8U i8U nCB2huz˧|\respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kti8dGi8dG n"SC4GYIG^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kti8dGi8dG n0:jxw63r5JFerespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kti8dGi8dG n*q\dS ˛smrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kti8dGi8dG nBT;q~aC:]b^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kti8dGi8dG nC0|: grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kti8dGi8dG nJȥd &oE)6lcrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kti8dGi8dG n]v9:&K)=SL?respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kti8dGi8dG n4 h.Vrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kti8dGi8dG n#Bq7 584+mClrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kti8dGi8dG n:2TbSK rrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kti8dGi8dG n]՛i̎D2TNq)respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kti8dGi8dG n^G֓t2C1respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kti8dGi8dG n DE;f;jVi{respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kti8dGi8dG n`*B;?f-1tjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kti8dGi8dG n?;dnxoHS|lrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kti8dGi8dG n%@g"e'Ĉ^krespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kti8dGi8dG nԆ' ㋢|qrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kti8dGi8dG nF7om!mooLjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kti8dGi8dG nX! S6ͯg`prespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kti8dGi8dG n)`Gz; q/!qrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kti8dGi8dG n⛲CK)wZSwrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kti8dGi8dG ng:xfaxQX7Qsrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kti8dGi8dG nynrjRsrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kti8dGi8dG n7 ~"ǚvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kti8dGi8dG nVsrO1GG|respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kti8dGi8dG n wBc|eu 5yz[yrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kti8dGi8dG ny6H/TώtFոPmrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kti8dGi8dG n[M23S5Alrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kti8dGi8dG n vX"tyrrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kti8dGi8dG nGFƳlrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kti8t4i8t4 nUJr= XQ$xrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kti8t4i8t4 n =OĢGj;|respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kti8t4i8t4 n߄, 鈓D,}auܠgrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kti8t4i8t4 n.9LjdU’ Mdrrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kti8t4i8t4 nαJP!Jxn )A.xrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kti8t4i8t4 nnZĕqr A, rcl>>}respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kti8t4i8t4 n|?:'-9<gYrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kti8t4i8t4 npDŵ)ޱZ1.yrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kti8t4i8t4 ny \Ju&ګxrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kti8t4i8t4 nїf]ﮘd vCc{Turespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kti8t4i8t4 n^F@N_R[frespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/applanguage/SetLanguageUseCase.kti8t4i8t4 nc9|C qiur+jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/applanguage/SupportedLanguageNames.kti8t4i8t4 neT9׾%k:qC lrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/applanguage/SupportedLanguagesConfig.kti8t4i8t4 n2Br~I2):cIfrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kti8t4i8t4 n|%:2{[&'LQkrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kti8t4i8t4 nΙ^BghhLAfrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kti8t4i8t4 n<d-* Q4jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kti8t4i8t4 n/ye\Ot/T,hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kti8t4i8t4 nieko2ןTnG[h&hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kti8t4i8t4 n׸]CUCicrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kti8t4i8t4 nOl^}~xjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kti8vi8v n8QMr>xN?erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kti8vi8v n @,;K8@[0KJfrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kti8vi8v nhc^=d`.19탡tbrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kti8vi8v n  rb0´brespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kti8vi8v n u)F53K{frespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kti8vi8v n  s{=8[fNvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kti8vi8v n$g,ܸ Wzrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kti8vi8v nRx9(㖒%1@"a6vrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kti8vi8v nHնl3%VJ "g~respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kti8vi8v nJ!H?ÿ_?Qrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kti8vi8v nB!Ht5 ؊?wrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kti8vi8v n29; 4\=ar>>nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kti8vi8v n6~2W`35Vdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kti8vi8v nZl<9a qrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kti8vi8v n]譢^Mc40etgrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kti8vi8v nO1H⽀ńxn`respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kti8vi8v n 8']Zxdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kti8vi8v n!-EE 6grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kti8vi8v n" Ţ[L0D;jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kti8vi8v n#S4< 0Ylrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kti8i8 n&H[e[Wgrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kti8i8 n(065p!lrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kti8i8 n) Y;=+,BNl*/trespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kti8i8 n*Ĵ2Zkrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kti8i8 n+>OELLD~zorespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kti8i8 n,ib~.#n=+na:mrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kti8i8 n-"=r}Nh6grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kti8i8 n/z!sQ+Tg mqrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kti8i8 n1 rތ[ImDv}%k&*ʊ,hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kti8i8 n?;D%P=+frespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kti8i8 n@D͍6?g պQhrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kti8i8 nB2ݙ:7Fcrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kti82i82 nTSЁq]'|NYb8(Urespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kti82i82 nUk]-/,TTrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kti82i82 nVZ6&{쭜Rrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kti82i82 nW>2t̑Iu6ξRrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kti82i82 nX= ʈ@nVaڥ[jUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kti82i82 nY8.|zN6fa0P9 [respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kti82i82 nZ>\D(20 @) arespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kti82i82 n[lvٕǟdA-ƆXtLrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kti82i82 n]Zt`Wѐ֪k*?Urespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kti82i82 n^el8w?$s^brespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kti82i82 n_rt/GDCPhRVrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kti82i82 n`CCoo1 [ѡԼUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kti82i82 naeIx^g݃0hʃ ]respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kti82i82 nbXKrC(x?x'C4Q`respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kti82i82 nc2v3h/<+arespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kti82i82 nd gKL{Pb Ѽ[vgrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kti82i82 ne\g`Җm4 /_respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kti82i82 ngnp@ }bQrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kti82i82 ni#{-CMd 4˝@%SXrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kti82i82 nj<U>8BRtWrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kti82i82 nk=WgRAU v;6Trespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kti82i82 nl6)j2aQAEUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kti82i82 nm@p 0nb1&ž*Srespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kti82i82 nnlq CY%`S-8qY\respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kti82i82 noc׳c)i)~[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kti82i82 npYKm{/"lI[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kti82i82 nqM^ν3W8GvA<Urespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kti82i82 nrdepFOrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kti82i82 nv⎜'X0@^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kti82i82 nw[S̀@f.5rWfrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kti8=mi8=m nx~r5ua a{5"drespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kti8=mi8=m nz:fGRò?WVA(crespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kti8=mi8=m n|gI?\zT{]:;*NWrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kti8=mi8=m n}L腌Dxijjs6_respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kti8=mi8=m n~6oRYI=zFR gSrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kti8=mi8=m n$s 5yUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kti8=mi8=m n hYb&(Kp\respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kti8=mi8=m n f7b>]respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kti8=mi8=m nnbZl49[:MC^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kti8=mi8=m nz jK n[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kti8=mi8=m nnwd"$nM-X<*Xrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kti8=mi8=m nZgޘ^VͨZכkPT7[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kti8=mi8=m nYg7)/qQ6MSrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kti8=mi8=m nL!M5W#$}@P]n[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kti8=mi8=m nlN1u.-=n* Nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kti8=mi8=m n##l$YϙpMi[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kti8=mi8=m nj+h<92 srespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kti8=mi8=m nO`:3-ڑ'֗]nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kti8=mi8=m n22.=.D|grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kti8=mi8=m n_[u: ْYqXdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kti8=mi8=m nINjЛj CAkrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kti8=mi8=m nu9x{N+u-1Ddrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kti8=mi8=m nTlJ@qbrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kti8=mi8=m nL>.Γ7]ac)e#erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/DisplayString.kti8=mi8=m n Lt1)O.١+Ulrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kti8=mi8=m n~9!f4FU0Xbrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kti8=mi8=m n=ˇ~]SD Tfrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kti8=mi8=m nɅ\?+6]respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kti8=mi8=m n~"\ǸWG?SMjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kti8=mi8=m n) tL 0G~`nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kti8i8 n\>zK-Le*`)jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kti8i8 n u@en}T5AɽZlrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kti8i8 n}'x, 0NV| mrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kti8i8 n ~T R.|㗺r%Q erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kti8i8 n '@z 2vrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kti8i8 n+$_<:)orrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kti8i8 n kVi!V]irz\srrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kti8i8 n7P7n}o"'lrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kti8i8 n nf-[gR$hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kti8i8 nqŵ^ BKkhrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kti8i8 n CrHT5| vrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kti8i8 n&03;B/ e?1respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kti8i8 n])[S:8wrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kti8i8 nG4%?-v|urespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kti8i8 n(zx o?ηd#=|respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kti8i8 nm箚89HY~2respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kti8i8 n\!NS/&n#,urrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kti8i8 n;oDϹA@ mrrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kti8i8 n&5;blamrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kti8i8 n˖~{'YgG1zrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kti8i8 nl;d%Mcvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kti8i8 n28CmMxrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kti8i8 n"TW!-P!?{vrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kti8i8 n ֌D>2m@ߓ<~respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kti8i8 n4пv?Oz(7`Mzrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kti8i8 n2< P*I9=trespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kti8i8 nٹwU)?}respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kti8i8 n$5|L-ֺ,?(jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kti8i8 n`hj)"hswrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kti8i8 n&iZT>>=respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kti8i8 n)/~7OQ^0mrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kti8i8 n(AAR* X dsrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kti8i8 n "\"jWC=qrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kti8i8 nqΨaƙ;ඪxArespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kti8i8 n B24&t : {#respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kti8i8 n 9b{Dc( nJirespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kti8i8 niW*ĺd4ͻﶼPxrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kti8i8 njl^)65&Yrrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kti8FXi8FX ngu&V*(i|nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kti8FXi8FX n@^揲 \Uo#sjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kti8FXi8FX n(8FLs}_uU&K޶}trespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kti8FXi8FX n&Jd$09""z3Ǣjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kti8FXi8FX n8/i vtvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kti8FXi8FX n퉙 XFy:WΘ~rrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kti8FXi8FX n /q>&X)arHjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kti8FXi8FX n+FӢ:grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kti8FXi8FX n$|-cYixXKs-respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kti8FXi8FX nM GQ7&g"arespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kti8FXi8FX nx.%򎫊nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kti8FXi8FX n8yL!b` cMjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kti8FXi8FX nAK*)m}<_ajvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kti8FXi8FX n Q\H˙iAkWwzrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kti8FXi8FX n hۗʆH\njurespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kti8i8 n  3-{[vrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kti8i8 n 3@;䆵ézT42jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kti8i8 nbˈz/NM=& srrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kti8i8 nã &h#RÍ`vzrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kti8i8 niXɟz7塾Orirespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kti8i8 n mA[=A(j V-|respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kti8i8 nDžIwBH}|respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kti8i8 n)8$ "葩srespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kti8i8 n 3jcT=!lNWerespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kti8i8 n }GS]Erespect-lib-shared/src/commonMain/resources/about-credits-common.htmli8i8 n,}ygp/83pJrespect-lib-shared/src/commonMain/resources/directories/default.propertiesi8i8 n"ګlLc :d)9@respect-lib-shared/src/commonTest/resources/invalid-catalog.jsoni8i8 n#BvhPǕe)d{w~=respect-lib-shared/src/commonTest/resources/opds-io-home.jsoni8i8 n$@ߓˉ](iv#T@=Arespect-lib-shared/src/commonTest/resources/respect-manifest.jsoni8i8 n%`1rd9"Q5?respect-lib-shared/src/commonTest/resources/sample-catalog.jsoni8i8 n&ȸ-vn\uʥb \j R`ɻޏirespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kti9 i9 n:oh/A\ kZsT-$rrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysDbImpl.kti9 i9 n;+yļȈ]5c]nmrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseJvm.kti9 i9 n<3h-yfKFMOurespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/RevokePersonPasskeyUseCaseDbImpl.kti9 i9 n=eaY%] D\ܛIsrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/VerifySignInWithPasskeyUseCase.kti9 i9 n?=*etRTA.nrqY|respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCaseDbImpl.kti9 i9 nA`:|MnBJMgrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconsUseCaseImpl.kti9 i9 nD^"\QWݦn*Horespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/AbstractJsonSchemaValidator.kti9 i9 nEѾnC##˥E~erespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/OpdsFeedValidator.kti9 i9 nFB$yeCOz&lrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/OpdsPublicationValidator.kti9 i9 nG bwzo {(J%r|krespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateLinkUseCaseImpl.kti9 i9 nH+B"sC$]yYrrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kti9 i9 nIiSok\}*>|fˎhrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidationMessageExt.kti9 i9 nKTW.oϪhk'qKfrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/phonenumber/AsYouTypeFormatterJvm.kti9 i9 nL_Է lK9Bq.O`jrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCaseJvm.kti9 i9 nMu;e`&erespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorJvm.kti9 i9 nN_ N9;_respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberJvm.kti9 i9 nO&/ <]&;}UKrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/ListExt.kti9i9 n{l$D4.o.9< Prespect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/RandomString.kti9i9 n9>G}jT{!Mrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/StringExt.kti9i9 n  3%=JmCLPrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/ThrowableExt.kti9i9 nȫW0: Jrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/UrlExt.kti9i9 ni$"_d~J?͞Wrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/ConcurrentSafeList.kti9i9 ncp2]ϺJ+ (\respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/PutDebugCrashCustomData.kti9i9 nпo׵%ebظjrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.kti9i9 n1Y69bZM"9arespect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ForbiddenException.kti9i9 n]x2ػnzG@Vrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/time/LocalDateExt.kti9i9 n16Go65lowl Hzexdrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/time/LocalDateInCurrentTimeZone.kti9i9 nv;/w=mbRMu_^ aOWrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/time/TimeConstants.kti9i9 nO.(D<άm֒l7xVrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/time/TimeInMillis.kti9i9 n"@Tuː?|w[Yrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/time/UtcStartOfToday.kti9i9 n`@.n$FN D:Irespect-lib-util/src/jvmMain/kotlin/world/respect/libutil/FindFreePort.kti9i9 n.rCI4M߀M̪]Xrespect-lib-util/src/jvmMain/kotlin/world/respect/libutil/util/ConcurrentSafeList.jvm.kti9i9 na P I []respect-lib-util/src/jvmMain/kotlin/world/respect/libutil/util/PutDebugCrashCustomData.jvm.kti9i9 ny/*4, y4úWrespect-lib-util/src/jvmMain/kotlin/world/respect/libutil/util/time/TimeInMillis.jvm.kti9i9 n OF(CcQWz UOrespect-lib-util/src/jvmTest/kotlin/world/respect/libutil/ext/UrlResolveTest.kti9i9 nc&!;NOL#respect-lib-xxhash/build.gradle.ktsi9ai9a ns;F7֓5|owNrespect-lib-xxhash/src/commonMain/kotlin/world/respect/libxxhash/XXHasher64.kti9ai9a nl2R*']!&ЃUrespect-lib-xxhash/src/commonMain/kotlin/world/respect/libxxhash/XXHasher64Factory.kti9ai9a n?N1IR)t_Ne &kRrespect-lib-xxhash/src/commonMain/kotlin/world/respect/libxxhash/XXStringHasher.kti9ai9a n}AN0{Ǹd|~_respect-lib-xxhash/src/commonMain/kotlin/world/respect/libxxhash/jvmimpl/XXHasher64CommonJvm.kti9ai9a nt1Ҕg\]50Ïfrespect-lib-xxhash/src/commonMain/kotlin/world/respect/libxxhash/jvmimpl/XXHasher64FactoryCommonJvm.kti9ai9a nS%ڨIِ R1Fgrespect-lib-xxhash/src/commonMain/kotlin/world/respect/libxxhash/jvmimpl/XXStringHasherCommonJvmImpl.kti9ai9a n/KbLD A Dbrespect-server/.gitignorei9ai9a nL?m[8Ɨwrespect-server/README.mdi9ai9a n  ΅Q He5'{.rNrespect-server/build.gradle.ktsi9ai9a n +I>~7Crespect-server/src/main/kotlin/world/respect/server/AppConfigExt.kti9ai9a n%$l]Plz*e:Brespect-server/src/main/kotlin/world/respect/server/Application.kti9ai9a n9䐪D89S,Grespect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kti9ai9a n$>;O=RCrespect-server/src/main/kotlin/world/respect/server/SchoolConfig.kti9ai9a n?lO{$kt=SߎPrespect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kti9ai9a nx&jt]:Drespect-server/src/main/kotlin/world/respect/server/ServerAppMain.kti9ai9a n:Zך^)Grespect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kti9ai9a n⛲CK)wZS_respect-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kti9ai9a n!50*rYpOUe<Yrespect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kti9Ti9T n!vkh%cPo怉Rjrespect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kti9Ti9T n"D.CJ}߱3^respect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCase.kti9Ti9T n$ YpM ueQF1Mrespect-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kti9Ti9T n&:onPubjC{|oGrespect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kti9Ti9T n'-{>l2v)F |Yrespect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kti9Ti9T n(?q_respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kti9Ti9T n+,|[l$FNK\respect-server/src/main/kotlin/world/respect/server/routes/school/respect/AssignmentRoute.kti9Ti9T n3_5:Z}9讹{Wrespect-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kti9Ti9T n4#x; A>5$E\respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kti9Ti9T n5[wrGH\:!>%2^respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kti9Ti9T n6hywg8L j;9\respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kti9Ti9T n7 ߰F2)zL)pLXrespect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kti9Ti9T n8)ak ?R9ܤi_respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kti9Ti9T n9صu1^`respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kti9Ti9T n:"D |Ϫ4MXYwXrespect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kti9Ti9T n;(MdxXQT, T^respect-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kti9Ti9T n<d [ҙV"\RFr, [respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kti9Ti9T n=x;۵lqDne\respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kti9Ti9T n>~}< 1L$+eugrespect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kti9Ti9T n?5|΢y7=y| Vl[odrespect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kti9Ti9T nArCan%0k&^respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kti9Ti9T nD;O}szOuRrespect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kti9Ti9T nES)  W|Urespect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kti9i9 nFo@Ij0pjVrespect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kti9i9 nGxْߛÄFSrespect-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kti9i9 nHi)ge8pwy\Mrespect-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kti9i9 nJ  ߽'ub }e2respect-server/src/main/resources/application.confi9i9 nKwp" nm(>-respect-server/src/main/resources/logback.xmli9i9 nM\D va޸6respect-server/src/main/resources/openapi/openapi.yamli9i9 nOO@KzhJ'Ig8)respect-server/well-known/assetlinks.jsoni9i9 nQ2ֿa{M8:G!respect-test-end-to-end/README.mdi9i9 nS(m 8}rʵ/]respect-test-end-to-end/test-description/001_001_invite_using_invite_code_test_description.mdi9i9 nT aTl]eC;zOTrespect-test-end-to-end/test-description/001_002_add_user_direct_test_description.mdi9i9 nU ?#I;w,d?\respect-test-end-to-end/test-description/001_003_login_using_school_link_test_description.mdi9i9 nV29m7rC|eG70c{Orespect-test-end-to-end/test-description/002_browse_lessons_test_description.mdi9i9 nWL$Jų<@Bqkrespect-test-end-to-end/test-description/003_teacher_user_assigns_assignment_to_a_class_test_description.mdi9i9 nXwDj`iG- Zrespect-test-end-to-end/test-description/006_user_signup_using_passkey_test_description.mdi9i9 nY݄I?-}ͫsGbru`settings.gradle.ktsi9i9 nZW>KǙ,j#E+POJ0write-jenkins-build-info.shTREEiB1377 27 {iIְc#m)l73.fleet1 0 G;ܼ,yʙHe)Tgradle3 1 }WlKr|cokaDwrapper2 0 oꙭۆzWy5Zo.github3 1 M0A94t|ISSUE_TEMPLATE3 0 Ruj Ar[]?q.maestro43 3 %5T/MxDflows22 2  23sFAJscripts3 0 rcFRxG#2szsubflows13 0 [4 ^8R Ǡ(&flow-passkey11 2 s361Uo\Ywscripts3 0 At J\m!subflows7 0 GlwqVb܃Mu3PWzvideo-downloader9 1 ,@ڌ`nvX~aFϓcypress4 3 NFK7Xa(M2main1 1 :KamOQ,6java1 1 k;+uT0k@world1 1 IACVSw`N=fۺrespect1 1 9YY%zm8clitools1 0 "Ʋl~ G"V2`o\%kotlin42 1 h>4Lѹ]ؒ,.1world42 1 pi&Erespect42 1 qij@eserver42 5 gdE*넞'g%$util5 1 D=DGzDoext5 0 r& domain3 1 Wm}K=Ap U9school3 1 KY֋dW6!Xadd3 0 1xpdxhroutes23 4 2Ԕ%nw_P+哳kpasskey3 0 kSytnK9ѐjusername1 0 B,#{LY L!haccount3 1 d}>YGCinvite3 1  G>XD#""/(username1 0 ' X-< Va _{3logging1 0 u`@;x_ucresources3 1 n>V^ş\NS*ropenapi1 0 zㅷ4=5<#<ſwell-known1 0 sfŋΐ6>respect-lib-test3 1 `a W?Ȧ»lsrc1 1 k!w7%|xLdǂjvmMain1 1 ꕐ#OcťL0@kotlin1 1 5ƙ-"ج\ world1 1 m}hl$ 0respect1 1 U9~3Ly#+alib1 1 hJr5J~ץSuriYtest1 1 i^~6vclientservertest1 0 3B\ZW_OOrespect-lib-util24 1 fHT251oTsrc23 4 {/bB|ũYAѣ$vjvmMain4 1 ]!}\dkotlin4 1 pݨ|U:CuRLBgworld4 1 k D#@q(Xrespect4 1 a>N@pz_libutil4 1 KlU@{iI t>„Nutil3 1 ]cض5+0LŶfDCŴm,kotlin1 1 \ZT9UMworld1 1 oy 0L}tpʏrespect1 1 # ݯ=Nl"Yblibutil1 1 ֿ;*qyq&=+iPWext1 0 wR.Ao5;bcommonMain15 1 no.O^o0V-kotlin15 1 L!|w(world15 1 Yk ;S;world3 1 Beiwd I2respect3 1 ;re[xȲ;U ^s#,libutil3 1 )p 6k-)util3 1 ^|GĽ-+Τtime1 0 mY B;FUrespect-datalayer158 1 -TW|;`6src154 2 1a8(?commonMain153 1 yޓ<Sաkotlin153 1 鉖妁!V-world153 1 Uwrespect153 1 z :zL5paging12 0 2kVaB& uRparams2 0 U@}fJs˫pullsync1 0 '$˵LI~respect6 1 "jWͪmodel5 1 T0/n?3_Jinvite2 0 sa| 47J&X2oneroster18 2 {IzZT+Simodel17 0 3{iGꢐW! composites1 0 Xj쯛n^1Z"#exceptions2 0 je?c|7`&YRؚ94O dustadmobile107 1 *mV܃rulibcache107 16 n 7;Ϸdb26 3 /aZnf b\sdao9 0 K-!3y)entities11 0 ̂,P[CAnCcomposites1 0 BkŠ&t:an io6 0 A$8.w'3md53 0 )53RbnҼdate1 0 :''ϩ'LAutil4 0 6oOܭfػXbase641 0 !yT}mbroLokhttp6 0 \R^P@;f mheaders6 0 0ɒ盫cCwկH logging2 0 l.Y]H0cfCpartial2 0 '§ {VD~response6 0 Wa_"$\]integrity1 0 ٫#*ӧdownloader9 0 H~MY :٠Kdistributed11 2 WqE> /I'!(@http1 0 ٓj}IartGFTmodel6 0 cۯf`~cachecontrol9 0 u3{t7sconnectivitymonitor1 0 ȵ!& 4[>q|androidMain14 1 hl8tH#Zq kotlin13 1 V1RmZŒ&0mcom13 1 OOѻ, ustadmobile13 1 - ~bV libcache13 6 xuJ3Qr) md52 0 oA6h,sdkTAbase641 0 Ԗp?9El] webview1 0 [˴%uw4#3\downloader5 0 .xlMzZx"+pdistributed2 0 0Ya9Iv%C+݈connectivitymonitor1 0 v$&Jw.@schemas1 1 kjqu jԼFcom.ustadmobile.libcache.db.UstadCacheDb1 0 n,h&Λrespect-lib-shared370 1 WW.zSe$Q~Nqsrc369 5 S:IMC"ulVjvmMain33 2 [BnVZ$xUkotlin30 1 E99Jzbworld30 1 ^¨paKLaS>ˬ:QeH|kotlin235 1 ʨt X world235 1 BGΤATrespect235 1 \-ؘLKt ӟ{shared232 7 $%7.ډɣ-ǠEext8 0 fHn"Lx>}util29 3 tU']B%>di3 0 Ө]T ~ext12 0 (\ء^!d$exception1 0 g &fFCbdomain107 27 ~}JԺeeopds1 1 s9Jh:Nvalidator1 0 3/h"鋵j< report12 4 ؇mRr{j|ext1 0 Stֆ>,u6imodel1 0 !*]"^query4 0 :醼èfפyZ8Zaformatter6 0 fu~h\t1 Asschool4 0 H" hV> ,׽ugBaccount42 11 xȀ9#7rJ9!@ child2 0  muN@,LLinvite9 0 G1Zv%]5$signup1 0 k߶e|lu5B passkey9 0 tS >J^8_username4 2 /F.;yWQfilterusername1 0 ӷ`wbqk϶validateusername1 0 LZvT92w,wwGmodel2 0 /T@c}%0vpihbiometric1 0 *]L{4:3FNclipboard1 0 ^>d>Ըj :@Alaunchapp1 0 D,bLiQM!nsharelink3 0 cSGW{[/validator6 0 j,VVUQpcreatelink1 0 ;ݖ!&/PIΦbnavigation6 4 Bjex Fdeeplink3 0 SHYCF4+37;ˉCc>ħ֚deferreddeeplink1 0 )If54U {bݺ"`onaccountcreated1 0 ʿ !x\Z:onboarding1 0 a,ESy4eəWV@applanguage3 0 OTaŒ@Z!6ncreateclass1 0 ?먯r6Y#Ngetfavicons1 0 px؉h|I'getwarnings1 0 ξj7݂(WljOpermissions1 0 ihpr)J)phonenumber6 0 9U JqDfuqDgetdeviceinfo2 0 eC!#窛 +ۨϸvalidateemail1 0 Yu_9$Ufappversioninfo1 0 |?׆|aI۶usagereporting2 0 ]B0+mR?urltonavcommand1 0 w;RNU*hburespectappmanifest1 1 XukUրkA%@model1 0 04}0qU|V Zdirectory1 0 Ńh_!ig resources1 0 D 2pviewmodel77 16 Ǎ}%WPm y?=capp13 1 ;AzKR, W=sappstate13 0 gUCtEapps4 4 .d7צWZ';/Klist1 0 ]ܭ\ >~I6aV^detail1 0 -vS4 >/launcher1 0 N]}-/?C~?enterlink1 0 Ћ6w 9clazz3 3 m+g#skeedit1 0 yoƏf&|*Aw%}list1 0 5NASlU0+mnPdetail1 0 MH^ǎ!#{ {person11 10 toMZ]^edit1 0 ߩЈYlݯE"/list1 0 f^DB e(l !detail1 0 K{7emqrcode1 0 ţNѡ+uD=kcopycode1 0 ]z\(u[4Qpasskeylist1 0 vx,}gR*~inviteperson1 0 6^MEƔ## manageaccount1 0 :q_h҅ vhZL{;changepassword1 0 Ҝu6eTF͕ɈQ@setusernameandpassword2 0 =" 0ۗʊ}Mreport9 5 ;Kn2h>o5ОLedit1 0 _/Zʉ!Tբ6 i+list2 0 Ox-ѼªJ detail1 0 j}L`DΑ$~Q6I.signup2 0 RL7I~lprofile1 0 ~ $5ڳ;!I(getstarted1 0 F[]lC% 7$accountlist1 0 }1{8yotheroption1 0 ||;;߇&bacceptinvite1 0 ^ G_=Zchowpasskeywork1 0 J@=Y<֒hXXenterinvitecode1 0 Oz5SL`/otheroptionsignup1 0 ")Lr#vpeTDtermsandcondition1 0 7 vhᛒT!f$fwaitingforapproval1 0 w;M.7q$enterpasswordsignup1 0 {o:u73FWNvonboarding1 0 ?{&ZEZ\scanqrcode1 0 ~H;_֦7glearningunit3 2 ]tf;y Ftd 7list1 0 9(R﫵 㬅p/.ndetail1 0 &MOu g4~Yrrespectaccount1 1 )52/{>2list1 0 > Xٷacknowledgement1 0 ּ^zg3X^cOɭschooldirectory3 2 \7BޠJ{Wedit1 0 ߰9si\Z-H=B^Llist2 0 32ۥCC8[ġ navigation9 0 v$A/?*g,wresources2 1 *J]38F.Ѯdirectories1 0 ~67\x~uVt9composeResources8 4 `QQaJPvalues1 0 -/bCw4drawable5 0 2_-zO^@ek8values-hi1 0 4! XeBlWU2values-ne1 0 v|b`_!޾pc+commonTest7 1 a6D(B" resources7 0 E~pshared34 2 Mlj[~2vb_9util5 1  8ext1 0 XMPEI%[domain29 14 hnDW[V{Wschool2 0 +Hhdz_Һ]eaccount1 1 b{1X:y_Vg/passkey1 0 Pڝ#H>CsIߙstorage3 0 5=>ˍN\C'ܭ.biometric4 0 AT@Yj;xclipboard1 0  }Hc(launchapp1 0 5_D9wU`< ;navigation2 2 hy.1$GN.deeplink1 0 v>7$wGR"xbUjusagereporting2 0 1NwHH5Vresources1 1 }q VR directories1 0 \Z"?@gJZ{L\Rؿrespect-lib-xxhash7 1 N-rsYhKsrc6 1 }cAѵdgIy JcommonMain6 1 AB? a![c1kotlin6 1 %>z~ 4I7Dworld6 1 \.PpoHrespect6 1 ϓٙ+7Ced"Ȭlibxxhash6 1 ŃD Ҿ*Hclazz4 3 GH~zd+edit1 0 ى1#5dvAb. list1 0 ?%[`detail2 0 IYE\Qb*;~Yperson11 10 wZMP8qZ8edit1 0 FLb=Wccopycode1 0 F>Tk/'=UwpasskeyList1 0 U,@dl啿VJinviteperson1 0 X9Qnϓc&2>manageaccount1 0 SX96R_~=uڋchangepassword1 0 Q䉟84n'$setusernameandpassword2 0 `[ >report9 6 QC@"˜edit1 0 _iRp_)list2 0 uՂߪ}ːӨ8"graph1 0 `MA,D[ddetail1 0 Qk(B| ͖indicator3 3 g7TtRp."edit1 0 M*xxi?e%detail1 0 >AT+*vca]filteredit1 0 j5<~/a8[:settings1 0 &_:%JPʖ:m]assignment3 3 SpZ wv9]*`edit1 0 1@s3y^n$!list1 0 Ƶ,U=Z detail1 0 i(ޛ)d=ٱh93curriculum2 1 \s/!P mapping2 2 6טD .YvCvot'edit1 0 3/t9OG}g[tlist1 0 cNɤG]$9xgqenrollment2 2 [U8pan7edit1 0 <='/>`olist1 0 7^08{:2V>manageuser14 13 N9=h Jo6 Ologin1 0 LJP9!signup1 0 y8mIXf s`ԅgetstarted1 0 oMY#m(BQ%,accountlist2 0 Vk[cTb=`Votheroption1 0 LR3hkQ09Wacceptinvite1 0 )*IW_createaccount1 0 |sGG#!{ōp_howpasskeywork1 0 i7~c}^Ǫfenterinvitecode1 0 :5΄־`s1otheroptionsignup1 0 cƴpU d{termsandcondition1 0 >䏔nxC]yZVwaitingforapproval1 0 b: {?׳ښBZenterpasswordsignup1 0 ΂ΛnMX"onboarding1 0 >I:^<>Eóscanqrcode1 0 `pZFcr"AjAb)g¨jvmTest5 2 HdD5ݪp+ U +kotlin4 1 5zΨ{K<2%H9world4 1 _@Ho'F҅_respect4 1 pBX'PMW/}ycdatalayer4 1 h$$i M}db4 2 !k."uO`opds1 1 ZLkKlneadapters1 0 C8 0iJCYschool3 1 E&' @1&UwDZdomain1 0 T%2<$mw_\Vresources1 1 4Mt(WAU@&XE]world1 1 ~f7䀵|Q5respect1 1 ;k6+Wi-datalayer1 1 r6rtti6kdb1 1 cD^vaxL{opds1 1 ϰ6z px1C,o.adapters1 0 O]ϴ BmUVr(commonMain138 1 L瘋K`kotlin138 1 )mjܚ@ ٯQworld138 1 *}/i 婴y@respect138 1 P[&xCvaQdatalayer138 1 xN)kg:!db138 6 on Oopds23 3 HpR=3<*?ɿ/daos6 0 Gh62|+$qadapters7 0 ҽ3rJܥentities7 0 bFlF> school73 6 pT*\K gr/Aext1 0 ^eg|5Q `Ε+$BDdaos18 0 :85o|@P(P{domain3 0 3R X_adapters14 0 }K2$Ji.]entities22 0 #m --_7f':writequeue1 0 ƃ" WYG`xshared13 4 /4; mV2sL5ext3 0 Xey;#ytdaos1 0 ZP9tZQeyJJadapters3 0 -r]AFR< entities3 0 GԍUB[rUo"Hscompatibleapps6 3 vHY =|lmedaos2 0 X8 nHlqcW?"adapters1 0 #]>Lzumentities2 0 XdX j5䤴xschooldirectory13 4 t n˱Qi)ext1 0 %ok' %daos4 0 vih$h"uHadapters2 0 wE{j @0tC@\xentities4 0 Z#c`>?networkvalidation3 2 \%`c!K72daos1 0 ,hK ]V[w2[&entities1 0 +U4/|schemas15 3 1@/.Xi=v\wworld.respect.datalayer.db.RespectAppDatabase2 0 fx{_}L\world.respect.datalayer.db.RespectRealmDatabase2 0 P%mfѲyworld.respect.datalayer.db.RespectSchoolDatabase11 0 3wt&SJɣ$respect-lib-shared-se4 1 `SǦ9gSi-,src2 1 ڳݶ 2==commonMain2 1 )f `'d}ikotlin2 1 T:(,z$world2 1 CE{6txIp3>respect2 1 _;FF}ʼnGx_sharedse2 1 p, {}/pM1Udomain2 1 Ҟ^#,KaB"j׍account2 1 >U|0 gauthenticatepassword2 0 /`kKnc"33respect-datalayer-http24 1 eV1In1 src21 1 >,fod^ȧ8<#commonMain21 1 ?~ɧ9fz \˦kotlin21 1 3@oUworld21 1 K]h$ ǬArespect21 1 8_J \- ŏnYdatalayer21 1 >gy^whttp21 7 dEG>݃*7,>1VOext3 0 {TRo S]lHjʴopds1 0 P78lri?7KYschool11 0 IBvisshared1 1 ^Z.S?4h90paging1 0 h(O=)ʂE!Pheaders1 1 )Rk^.<\F:"directives1 0 {,Z!qK compatibleapps1 0 EX4&<#0:ustadmobile1 1 X;}g;By(ihttp1 1 #dYVy@,sJiext1 0 3OR)nge?$GL jvmMain1 1 mQuA(䯭# 3;vc;headers13 1 %̯'ڑGCG䂳directives1 0 ysn! 1TM Eꆯrequest6 0 [Pkotlin1 1 MEg:潰fKKqcom1 1 =P`Vu6ustadmobile1 1 HY wv~ihttp1 1 '-[=ݫ@jext1 0 c^lvI ށrespect-lib-opds-model20 1 dILβHHsrc18 1 ;7a+commonMain18 1 (. ^ Lm8Jkotlin18 1 'Ee.PsBIm`world18 1 *z>h73;respect18 1 ?,#'GKC`2lib18 1 $ RHIm>)ցopds18 1 d+6krqv& model18 0 #!}D' [Crespect-lib-serializers10 1 w9h]cMEsrc8 1 nHfWYJ >! (commonMain8 1 -3W{sC-_Qkotlin8 1 C<^h-ZAworld8 1 ~g#`87Z雴respect8 1 ͉Z@B䟳7˴_~lib8 1 躴ԕ&^R~DQ~serializers8 0 v%8N¢%O!|respect-test-end-to-end7 1 sr^ű)!6test-description6 0 n5%yR Wrespect-lib-ihttp-okhttp11 1 5ƀմpqi7bsrc7 1 ox5x v7QmcommonMain7 1 ٴakuhiw72?kotlin6 1 q1{]I8}com6 1 %;n4x*ɍustadmobile6 1 =V@}lbJG7\i ihttp6 1 ב[H%3mDokhttp6 3 iǟqe6_Q)headers2 0 L)9:o Z request2 0 D)YLresponse2 0 I20]":=jfarespect-lib-primarykeygen7 1 ؗʡ񔍈.dg isrc6 4 kܭ2L_ՄjvmMain1 1 ] w,U%,5*Ikotlin1 1 ׼->[jGhzkkworld1 1 2v x8u2urespect1 1 H>DAȉK#M9/,_jvmTest1 1 ; xKC[?[kotlin1 1 n8J _oKpworld1 1 cvMprespect1 1 ͠V\-w_Tn-])lib1 1 Kmnڭ?L_]primarykeygen1 0 nYc/9u commonMain3 1 LN_ʺ"K^H{lkotlin3 1 ԛnAE9|4xmworld3 1 uGq)UAHrespect3 1 ׇpH5j'-<~Tlib3 1 #bNZ" primarykeygen3 1 V{r5vMlext1 0 í&~M$^3WandroidMain1 1 ߶nt7GFD•gkotlin1 1 Sߏ2world1 1 q*W ?MFԄrespect1 1 E7nc_'u3zd>alib1 1 ~7g!1v< H:primarykeygen1 0 NV?sv}respect-lib-ihttp-iostreams5 1 ߣAY8bGsrc2 1 >VnS,Xg tvcommonMain2 1 ]IPA`%=`kotlin2 1 h{MhEDO;)eg䏵com2 1 Q,Pʾ]9ustadmobile2 1 Z 3#+afžfUihttp2 1 ܦ7ҸC z2N#uiostreams2 0 OHr^&m6respect-lib-ihttp-nanohttpd4 1 X)1 l_ڷ%8src2 1 L3v 둄qcommonMain2 1 R ce? kotlin2 1 B0Ee! }com2 1 L0 yc΄FOustadmobile2 1 VٽI*t95ihttp2 1 QF7a}å2E nanohttpd2 0 !n($ȋӪH 45]S>respect-datalayer-repository40 1 9rm|`*YNsrc37 3 UPih™g~ZIjvmTest6 2 `BS9wMf9kotlin3 1 ?m$l?k*['tuuworld3 1 6I-#L respect3 1 [޶${ X `udatalayer3 1 |+ڙ^x-8repository3 2 .[R|-gYHopds1 0 񗸿)nf8Fn5T /school1 0 xʇ5@'A.6Çresources3 1 OѺ=QAzpworld2 1 NE0{*}respect2 1 }[6 datalayer2 1 _xpa/M g;repository2 1 mriքJ'ڮn-9opds2 0 @R0qBJ~kcommonMain24 1 i^a1by;Ytj ]cHgkqkotlin7 1 5qk~L03F T%&[respect7 1 w\ML_$datalayer7 1 Kr -w2z?̚mJb`repository7 1 *1z~T7Sschool7 3 a}*.<% worker2 0 [ZԺtC6A )MRpullsync2 0 ͜NdMHMYRL6writequeue2 0 BFGڝbZeeT-Iys NUk~5