DIRChMx;hMx; smIL%ʹh ,.fleet/receipt.jsonhMx;hMx; sOY 軡2f^L~L8 .gitignoreh%h% i AzRUgkeu ^iARCHITECTURE.mdhMx;hMx; s ]R?rCRLICENSEhy: hy: k@ oZ{d+iW VB README.mdhMy hMy  s 2h!bwbuild.gradle.ktshMy hMy  7QXA(Y$ L猧9composeApp/src/desktopMain/resources/img/respect_logo.pnghMy hMy  5^@yA|R-6composeApp/src/desktopMain/resources/img/spix_logo.pnghMy hMy  s #qn#y>2o?gradle.propertiesh%h%  ղ; |V)Jqgradle/libs.versions.tomlhMy hMy  ,5!}|EC %!gradle/wrapper/gradle-wrapper.jarhMy hMy  Gv1z^"`:w$ i(gradle/wrapper/gradle-wrapper.propertiesh|x5.Bh|x5.B i ":mkkZ&BGtgradlewhMy hMy  s 8!4\'{[*n gradlew.bathMy hMy  V!ȫmT= Erespect-app-compose/README.mdh%h% bó|* <]|2$respect-app-compose/build.gradle.ktshMy hMy  BIDd*M'r&respect-app-compose/proguard-rules.proh%h%  f,íRڪ& q+7respect-app-compose/src/androidMain/AndroidManifest.xmlhMy_-hMy_- vTuԽ _#YOrespect-app-compose/src/androidMain/kotlin/world/respect/AbstractAppActivity.kthMy_-hMy_- (R1R h2!>9vIGrespect-app-compose/src/androidMain/kotlin/world/respect/AppActivity.kthjhj :Z}F38}-TIrespect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kthMy_-hMy_- tf )rZ߉bHrespect-app-compose/src/androidMain/kotlin/world/respect/MainActivity.kthMy_-hMy_- t)pH]ĺfj[Frespect-app-compose/src/androidMain/kotlin/world/respect/RespectApp.kthMy_-hMy_-  bq<$0mp-59Krespect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kthMy_-hMy_- ~vlhH ZSrespect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kthMy_-hMy_- EZ2ǀn5H"awkrespect-app-compose/src/androidMain/kotlin/world/respect/app/components/RespectImageSelectButton.android.kthMy_-hMy_- ? kWwv~eHmrespect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kth%h% 1 cDeNikJrphrespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseImpl.kth%h% 2 `va;h-ܒw3Krespect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xmlhMy_-hMy_- 4n>eY+!zFٯ`Brespect-app-compose/src/androidMain/res/drawable/respect_logo.webphMy_-hMy_- x}3OYr2q=?respect-app-compose/src/androidMain/res/drawable/spix_logo.webphMy_-hMy_- lVm^y)iW^hDrespect-app-compose/src/androidMain/res/layout/activity_web_view.xmlhMy_-hMy_- mO0jQ?ȶĂպ=respect-app-compose/src/androidMain/res/menu/menu_webview.xmlhMy_-hMy_-  Rf( h{Orespect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xmlhMy_-hMy_- aUUa=,֑FIrespect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.pnghMy_-hMy_-  respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kthMy+fhMy+f  ltP^ 5P 8respect-app-compose/src/commonMain/kotlin/theme/Theme.kthMy+fhMy+f ̼9\eui/ʞD>respect-app-compose/src/commonMain/kotlin/world/respect/App.kthh yf#/"c&MFrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kthh r9_m ťIrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kthMy+fhMy+f l}`JsgS7Jrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kth%h%  0Y bjS&èoEo`tMrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kthMy+fhMy+f  ٟG{ۇN88_K'FTrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kthMy+fhMy+f  >G ߄^TaxY:z iLrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kthMy+fhMy+f  K7K]=Urespect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kthMy:hMy:  aNYyԚCRaiF?brespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectImageSelectButton.kthMy:hMy: \&4K"(cj.:J_respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kth%h% 9Bd-n\t\2]]respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kthMy:hMy: Eu=WP. L?^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kthMy:hMy:  kjK6$?2;grespect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kthMy:hMy: ZI4e1DRD!uUgrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/webview/UstadWebViewNavigator.kthMy:hMy: EGPKk2/LGWrespect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kthMy:hMy: ݻ6LS/'Nrespect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kthMy:hMy: $ w%ToZqvxJ1F7irespect-app-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kthMy:hMy: N/\1ͧV`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kthMy:hMy: P EY4&gB!xbrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kthMy:hMy: R0RCۈ^_3crespect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kthMy:hMy: T-l<^by*+Ŝm] h[respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kthMy:hMy: V=}2%uv#q90 srespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kth^h^  -q9 RifWaռxrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/joinclazzwithcode/JoinClazzWithCodeScreen.kth^h^ >yWr9 n6`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kth^h^ @ tc5x( Z Aγ抹mrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kth^h^ DY4]kGt@Q_Grespect-app-compose/src/desktopMain/resources/sample-feed.jsonhMyJ%hMyJ% B*18LyqzK}respect-cli/.gitignorehMyJ%hMyJ%  p]ǎ 4M?+urespect-cli/build.gradle.ktshMyJ%hMyJ% '=b{M{S9 %<Z>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kthMyYhhMyYh )B*18LyqzK}respect-credentials/.gitignoreh^h^ *{trrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kth[h[ soRA >S|Dzrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kth[h[ sMKbopPBnu>Hprespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kth[h[ s+@ 8?Hm@ Dvrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kth[h[ s 禆x(H:b.Erespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kth[h[ sAmX@ȇz5態mbrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kth[h[ s $[C~W)ҧ9rnrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kth[h[ s fXG6!sƭI nrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kth[h[ s]!qIl9K ]respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kth[h[ s{B"[EVx]A.erespect-credentials/src/jvmTest/kotlin/world/respect/credentials/EncodeDecodeUserHandleUseCaseTest.kthMyYhhMyYh .r0o#Fj`|0respect-credentials/src/main/AndroidManifest.xmlhh BxT6Ivᾬ%respect-datalayer-db/build.gradle.ktsh[h[ sX"OA}xƤ/c"8Qrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.jsonhh s~o-sYeY$Srespect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/1.jsonh[h[ O6 Q|PlFm_respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kthh evp-glz"[respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kthh ew$YG썾}<.iarespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kthh c<Bq6t.ji1]respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDatabase.kthh R͔h'`s վK9qrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/CompatibleAppDataSourceDb.kthMyhMhMyhM Tp_e>^/)EM6urespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/adapters/CompatbileAppAdapter.kthMyhMhMyhM Vב}.\&.\ v7trespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/daos/CompatibleAppAddJoinDao.kthMyhMhMyhM WD(sgkftLQK,ZQsrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/daos/CompatibleAppEntityDao.kthMyhMhMyhM YǭW3 lm.êQurespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/entities/CompatibleAppAddJoin.kthMyhMhMyhM Z ꔀ h,`@ctrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/entities/CompatibleAppEntity.kthh \bn j(\ l U^respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsDataSourceDb.kthMyhMhMyhM ]Y'xW\respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsParentType.kthMyhMhMyhM ^QhTdy@Q`respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/OpdsTypeConverters.kthMyhMhMyhM `,$N:/GS9grespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFacetAdapter.kthMyhMhMyhM aKk=VzXWFfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFeedAdapter.kthMyhMhMyhM b쒦$gw-9#%9Ktrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsFeedMetadataEntityAdapter.kthMyhMhMyhM ct<^@y̔}dgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsGroupAdapter.kthMyhMhMyhM dwӴuVqw[fO,srespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/OpdsPublicationEntityAdapter.kthMyhMhMyhM e",)h Dorespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/ReadiumLinkEntityAdapter.kthMyhMhMyhM f h:=T"Ҙ%l:psrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/adapters/ReadiumSubjectEntityAdapters.kthMyhMhMyhM hKFBOxdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/OpdsFeedEntityDao.kthMyhMhMyhM iftLȆhHlrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/OpdsFeedMetadataEntityDao.kthMyhMhMyhM jxtR4KnjUP6erespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/OpdsGroupEntityDao.kthMyhMhMyhM kN˔Н/CSzkrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/OpdsPublicationEntityDao.kthMyhMhMyhM l1> "濵ԦVgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/ReadiumLinkEntityDao.kthMyhMhMyhM n2NN Ck/,ݭYxsfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFacetEntity.kthMyhMhMyhM oԊu^'㰸OdWerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedEntity.kthMyhMhMyhM p*ǽAR&m (I~mrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedMetadataEntity.kthMyhMhMyhM qs%== :32frespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsGroupEntity.kthMyhMhMyhM r;Ԡ_qOm ZLlrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsPublicationEntity.kthMywhMyw s ư{uYqhwihrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/ReadiumLinkEntity.kthMywhMyw t? j*1Iذwpxz=+/krespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/ReadiumSubjectEntity.kthh s r,6oq)Y? Barespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/PersonDataSourceDb.kthh wZV~whbrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/RealmTypeConverters.kthh sdŷ|`cgu7hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/adapters/AuthTokenAdapter.kthh sQŒ=D/m|erespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/adapters/PersonAdapter.kthh sPog/fO>f˯7frespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/AuthTokenEntityDao.kthh sot2B(զmacrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonEntityDao.kthh sWA\"J ݈d|ҾDkrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonPasswordEntityDao.kthh w;֮j{pD~hx?~l(~grespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/daos/PersonRoleEntityDao.kthh s1?,fvB?~&{[grespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/AuthTokenEntity.kthh s}Ra}9ޯdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/PersonEntity.kthh sNf}B5S0lrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/PersonPasswordEntity.kthh wr7a FԐRhrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realm/entities/PersonRoleEntity.kthh sA۬A2JDŽrrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/RealmDirectoryDataSourceDb.kthh sFw8G +sNڤ JDmrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/adapters/RealmAdapter.kthh s] a}ՐQסqrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/daos/RealmConfigEntityDao.kthh s|nX䏭R߽n@atrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/daos/RealmDirectoryEntityDao.kthh sC5VGM]$krespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/daos/RealmEntityDao.kthh s SGV;S4krrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/entities/RealmConfigEntity.kthh s%ҙȓ(zo0Murespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/entities/RealmDirectoryEntity.kthh sl. ΍(˔^LU6lrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/entities/RealmEntity.kthh s`ONؚg^h{i*ikrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/realmdirectory/ext/RespectRealmExt.kthMywhMyw v+,L+g/4U`respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kthMywhMyw wzP32O~94JU^respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ValidationInfo.kthMywhMyw y^JNOOVfsgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kthMywhMyw z].@k E6 uZnrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kthMywhMyw | M͸C,vK.k]5<erespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kthh ~ `C:;?~ufrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kthMywhMyw hRF)Ys\ fWdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kthMywhMyw p^6 NSi9*vEb[respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kthh rkSXT> ifIIftrespect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kthMywhMyw 0^9a%Sڂbrespect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.jsonhMywhMyw عCi]@Jab'respect-datalayer-http/build.gradle.ktshh Df jKbFcKC4erespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kthMywhMyw  _$9e* _?wrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/compatibleapps/CompatibleAppDataSourceHttp.kthMy.hMy.  ?=˰_]WWJ4drespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsDataSourceHttp.kthMy.hMy.  'o+#xG2)~:X-respect-datalayer-repository/build.gradle.ktsh h tTaJ<ylwrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kth h eyX `ej79oXyrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kthMy.hMy.  -HhKp' D1ɬ>Irespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/compatibleapps/CompatibleAppDataSourceRepository.kthMy.hMy. |u޸{˝H>vrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsDataSourceRepository.kthh ssU#P4rBm`jxyrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/realm/PersonDataSourceRepository.kth h  t]*SYV$U xrespect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepositoryTest.kth h Gtg! -ݠj:Nrespect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kthMy.hMy. vO<=%j,do>respect-datalayer-repository/src/jvmTest/resources/logback.xmlhMy.hMy. Ş5b_ݹƯEb;erespect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.jsonhMy.hMy. 0^9a%Sڂirespect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.jsonhMy.hMy. B*18LyqzK}respect-datalayer/.gitignorehMy.hMy. ]C:SNeҷ.horespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/CompatibleAppsDataSourceLocal.kthMyphMyp  f3CpXLbOY$mjrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kthMyphMyp &Xid`XSSS;mWrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DataLoadStateExt.kthMyphMyp  X[p@FQzK ǔNi OTrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kthMyphMyp PE@~ڌҞT9j =Urespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kthMyphMyp _x`KLsXrdBvrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkDataSourceValidationHelper.kthMyphMyp g--c]!*ۓ48jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kthMyphMyp UӠ K-ۛi,`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/OneRosterDataSource.kthMyphMyp D Ūuemzprespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/OneRosterRosterDataSource.kthMyphMyp  @hٹelvppw' *jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/model/OneRosterBase.kthMyphMyp  W;(O,}a-mtrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/model/OneRosterBaseStatusEnum.kthMyphMyp  qřVsķȁ6krespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/model/OneRosterClass.kthMyphMyp  "W|ʏ1~Yatrrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/model/OneRosterClassGUIDRef.kthMyphMyp  s1^T ҈:prespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/model/OneRosterEnrollment.kthMyphMyp h>:c|1mrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/model/OneRosterGUIDRef.kthMyphMyp xe,&`prespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/model/OneRosterGenderEnum.kthMyphMyp Ѐ/җ1WA-prespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/model/OneRosterOrgGUIDRef.kthMyphMyp qxVS[zT[urespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/model/OneRosterResourceGUIDRef.kthMyphMyp Dז ^Pf-֫jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/model/OneRosterRole.kthMyphMyp ąln:|Q>$nrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/model/OneRosterRoleEnum.kthMyphMyp &ޏ[}߱n18ّ<{qrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/model/OneRosterRoleEnumExt.kthMyphMyp KZ3xq0܍qȐrrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/model/OneRosterRoleTypeEnum.kthMyphMyp gvj.'"Djrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/model/OneRosterUser.kthMyphMyp UK@#yIaBqrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/model/OneRosterUserGUIDRef.kthMyphMyp j2 ?ۄ^lrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/model/OneRosterUserId.kthMyphMyp M"}+#gDѶfAqrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/rostering/model/OneRosterUserProfile.kthMyphMyp M6+4$<6_֟3Vrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/OpdsDataSource.kthMyphMyp sK~An\̃Nĥ]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsPublication.kthMy3hMy3 ( yHy/% &r+jXrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsSeries.kthMy3hMy3 )E0Nj@Nffrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumContributorObject.kthMy3hMy3 *GIƨ%۳ʗ~}Yrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumLink.kthMy3hMy3 + )K|Y [crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumLinkProperties.kthMy3hMy3 ,N^,藗.=:аflrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumLinkPropertiesEncrypted.kthMy3hMy3 - InR l>]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumMetadata.kthMy3hMy3 ._\VT@ ]\respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumSubject.kthh sre#©80@Yrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/PersonDataSource.kth h s\J Y J>cE^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/PersonDataSourceLocal.kth h tqo$N)boq][.Xrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/AuthToken.kthh tc&_n_X6AxUrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/Person.kthh wG'R}#8ɉM6Yrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realm/model/PersonRole.kth h tFǏt#$/}]jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realmdirectory/RealmDirectoryDataSource.kth h tDg@AVRma $Borespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/realmdirectory/RealmDirectoryDataSourceLocal.kthMy3hMy3 0>Р` 6$5a`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kth h 2`lS^;Xarespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kth h 3^aq2* CmP1,']respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectRealm.kth h e}ADrm S frespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectRealmDirectory.kth h 5OH{aUfdr23irespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kthMy3hMy3 6x,k#3٣ tEqrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectPendingInviteState.kthMy3hMy3 79tqR rZ3rrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteRequest.kth h : Uҽ6,V b)prespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/InstantISO8601Serializer.kthMy3hMy3 ; lm+-O,Bŏkrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/LocalDateOrDateTime.kthMy3hMy3 <#P 5DH\#CpO}respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/SingleItemToListTransformerSerializer.kthMy3hMy3 =4r]+E9%Qj >lrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/StringListSerializer.kthMy3hMy3 >CmƛP=f/tprespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/StringOrObjectSerializer.kthMy3hMy3 ?x?Թeɵ3ecrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/StringValue.kthMy3hMy3 @'0rN9 8]okrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/UriStringSerializer.kthMy3hMy3 BB*18LyqzK}respect-lib-cache/.gitignorehMy3hMy3 C X'i&RI@DUrespect-lib-cache/README.mdhMy3hMy3 D C;_OSre?۰'"respect-lib-cache/build.gradle.ktshMy3hMy3 G'!1Tʳ.(Gx5řoJrespect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.jsonhMymhMym N`WlzS MNVrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kthMymhMym P_j>VUOz.wp]3Urespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kthMymhMym R%1l䂃| Аkrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kthMymhMym SĢeCW]F_*srespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kthMymhMym U9>o|j 0ig Yrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kthMymhMym Vj7;Mo)H$Yrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kthMymhMym XPc8G@MK# T`respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kthMymhMym ^${md^/ ٱ&Urespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kthMymhMym _<ި GS*9k0Nrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kthMymhMym `oz)Vrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kthMymhMym aL ;J arespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kthMymhMym b:,p9NSrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kthMymhMym cm۽C(*]vVarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kthMymhMym d\ ϘrOhj|<ҚKYrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kthMymhMym e`vŲOO],Orespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kthMymhMym ff]M?t8(Mrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kthMymhMym g#%@hcSsaYNrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kthMymhMym hm嗀ۻ>Bs_Rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kthMymhMym i 9*+q $RؾUrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kthMymhMym jF)YJv2!_wF>Rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kthMymhMym lW¦Ǧ@("Z_PTrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kthMy7hMy7 n;e聆krespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kthMy7hMy7 oTU|gB{1ۑdt?ٱ-ɮªarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kthMy7hMy7 {f0-&.HP#9]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kthMy7hMy7 | 7mZ _>U J.cSrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kthMy7hMy7 }YPozaVQ̜)_respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kthMy7hMy7 Mt J_]޳H(trespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kthMy7hMy7  aCDw%A}!:4Xrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kthMy7hMy7  i0X'k˲g[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kthMy7hMy7 jׄ ĕJ|im< `respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kthMy7hMy7 (y$gz(zW78[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kthMy7hMy7 ᇚ5*jV|Ywn\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kthMy7hMy7 ku x󙪻[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kthMy7hMy7 3bqJ Qt"Zrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kthMy7hMy7 X +V@GQGhAbrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndLocks.kthMy7hMy7 %d/c8**n]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kthMy7hMy7 XG6J;MΐYZr ,Xbrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kthMy7hMy7 =9vn$D, Z]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kthMy7hMy7 R+`Xx0zC^respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kthMy7hMy7 PG}"pC )'[O]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kthMy7hMy7 ~ZZ8:s+irespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kthMy7hMy7 D͖Ǥk\el&}b`irespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kthMy7hMy7 7ծ@Tyrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kthMy7hMy7 qOmޝ8﮴vGƢarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kthMy7hMy7 n3L/K< %7qrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kthMy7hMy7 clA8vG&c93lrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kthMyyhMyy $^7~Ռ aMjrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kthMyyhMyy bVH؇v2ʑjrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kthMyyhMyy TtLńi jmɲzrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kthMyyhMyy Jd,Ź_}Yorespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kthMyyhMyy %W`\i.;߫Rlrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kthMyyhMyy Ef* ԰ATXrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kthMyyhMyy yR|z߁;Obrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kthMyyhMyy ZTqm-6B:(}W:LV]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kthMyyhMyy $@ Pl@xZrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kthMyyhMyy WYK ̶ OHcZrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kthMyyhMyy ɮ$4Lirespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kthMyyhMyy I:R(sboT`]5`respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kthMyyhMyy `0^, S*zZHXrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kthMyyhMyy y UmW&FB^orespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kthMyyhMyy WԜգd\^respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kthMyyhMyy Znb8w`{;P"vpZrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kthMyyhMyy :,*D-&RH]grespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kthMyyhMyy  =r$MMl Q]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kthMyyhMyy &(iDX8Q0\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kthMyhMy 䃔i7_C Aѧ[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kthMyhMy [aY)ˈ^gOQVrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kthMyhMy  ,++LpÛH\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kthMyhMy $ɍb#D=Trespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kthMyhMy  Mg'20 DSOrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LruMap.kthMyhMy ՙ3 kh٣SRrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kthMyhMy 7qG-RB |ԱZQrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kthMyhMy fo{H%C!79<`Urespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kthMyhMy 5c6^q=LƦMQrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kthMyhMy pln$9!@R F vKrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kthMyhMy AV|#eVRrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kthMyhMy  3 aޱuQVrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kthMyhMy  g{ ʹGœCIjrrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kthMyhMy ̛ɦd 3ޤ;BWqrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kthMyhMy -Gy+\י4}*Zurespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kthMyhMy >$vBbCaI)s2d]rrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kthMyhMy Dh1%:<\Xmrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kthMyhMy ,u)\h[[6Xrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kthMyhMy FWUpќZiarespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kthMyhMy  ,P6xߝMi#b2 Yrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kthMyShMyS ]]Tw%qugRrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kthMyShMyS ֒D" J)DZP9SU\Srespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kthMyShMyS q ew,_e#Yrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kthMyShMyS  (h.aL yyS:Q@p respect-lib-ihttp-core/README.mdhMyShMyS CDKmq{PEd'respect-lib-ihttp-core/build.gradle.ktshMy@hMy@ w-4OmSrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kthMy@hMy@  o;v~yث:o_respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kthMy@hMy@  ` 2*ɽv/]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kthMy@hMy@ ɺhw_l*!ax)]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kthMy@hMy@ #h"(QC#-Yrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kthMy@hMy@ TP+WxaT"%Z`>Z9\respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kthMy@hMy@ AX+¯9M,]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kthMy@hMy@ œ3>7)Wh8Zrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kthMy@hMy@ ?-+J)W-Q R]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kthMy@hMy@ =b+psDiarespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kthMy@hMy@ A4ȏz^-7mǮcrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kthMy@hMy@  Cfz͂g$ˁ_respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kthMy@hMy@ 9EL z.k M}[respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kthMy@hMy@ ( 'o]j?xL7\hrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kthMy@hMy@ _&D(NƾT]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kthMy@hMy@ E2!j :p[$Zrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kthMy@hMy@ %^ғZ`A 3+iFkfrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kthMy@hMy@ S=ĕ (8ozprespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kthMy@hMy@ M&s9frespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kthMy@hMy@  $ ԱoZ8@C \respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kthMy@hMy@ "YW^ \54cwFe*`respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kthMy@hMy@ #>-p $\<%j+z`v\respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kthMy@hMy@ $s0[an3d]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kthMy@hMy@ + {`Lv<~ )EľqUrespect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kthMyhMy 22.m‚S RԵWrespect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kthMyhMy 4B*18LyqzK}&respect-lib-ihttp-iostreams/.gitignorehMyhMy 5Z% -blzmm%respect-lib-ihttp-iostreams/README.mdhMyhMy 6a5Y {I7^,respect-lib-ihttp-iostreams/build.gradle.ktshMyhMy >恿\\#SAMarespect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kthMyhMy ?HAZ9f`:/{7'erespect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kthMyhMy AB*18LyqzK}&respect-lib-ihttp-nanohttpd/.gitignorehMyhMy B5JU6 rlmXƪLZ,respect-lib-ihttp-nanohttpd/build.gradle.ktshMyhMy J 7䊓š@aG\lrespect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kthMyhMy KzM!c'!=rrespect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kthMyhMy aƯIDC zT% mrespect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kthMyhMy c_;>40OC*respect-lib-primarykeygen/build.gradle.ktshMyhMy k 9X竭}jrespect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kthMyhMy r].+-+ԉ+K&zFҼ_arespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kthMyhMy s2圙D,DZifrespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kthMyhMy u,x@͞Bdγ Jrl}arespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kthMyhMy |> O f0Ҽ>C3brespect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kthMyhMy bނR\!2gx\k krespect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kth h  Jb,!n#respect-lib-shared/build.gradle.ktshMyhMy n(Tj׆BhI^oKrespect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kthMy/:hMy/:  bbD4K>Yȕjrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kth h tUZ?*T|Ѭmrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/realm/MakeRealmPathDirUseCaseAndroid.kthMy/:hMy/: OMU<=ЯcL1Qjrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kthMy/:hMy/: L4UI *p^Bkrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kthMy/:hMy/:  Ty?p}WM{ wrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kth"Dh"D e~{>NQ+|Xrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kth"Dh"D es.K#Jj[respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/TimeInMillis.android.kthMy/:hMy/: ֧ʡ-ޙ0H!'MURrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kthMy/:hMy/: (˼yjnUrespect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xmlhh _gR'Jpj gErespect-lib-shared/src/commonMain/composeResources/values/strings.xmlhMy/:hMy/: 3zȾCQȚz7$\}/Crespect-lib-shared/src/commonMain/kotlin/world/respect/Constants.kthMy/:hMy/: FjL)-5؂hBrespect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kthMy/:hMy/: f뚰 c0N!t FBrespect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kthMy/:hMy/: 0(5!Ww˹z)0Ahrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/datasource/RespectAppDataSourceProvider.kthMy/:hMy/: })Zp7kY{ Zcxrdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/datasource/SingleDataSourceProvider.kth"Dh"D o@i6\[hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kth"Dh"D e3 T%f<~KPDSdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/AuthenticatedUserPrincipalId.kth"Dh"D emq!Oab~v kycrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kth"Dh"D eA oմS$I\respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kth"Dh"D eck/Ťo۴აфbrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/ForbiddenException.kth"Dh"D iuv p嵥s/^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kth"Dh"D eGG#6Sgrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountAndPerson.kthh pA#|#RfFerespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kthh c=ĚmKOſPMhmcrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kth"Dh"D t) IYns82{,respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/createinviteredeemrequest/RespectRedeemInviteRequestUseCase.kth"Dh"D t Sl<6OOrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithUsernameAndPasswordUseCase.kth"Dh"D t onn""(M(respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithUsernameAndPasswordUseCaseClient.kthMy/:hMy/: ؿg_j{respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kthMy/:hMy/: %@g"e'Ĉ^krespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kthMy/:hMy/: a.NDZMR\r` wrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kth"Dh"D t 9 ݩۂnrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/SetPasswordUseCase.kth"Dh"D t߄, 鈓D,}auܠgrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kth"Dh"D t2r*)!7cWpF;drespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupUseCase.kth"Dh"D t'#c ._s=yrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kthMy>IshMy>Is 8QMr>xN?erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kthMy>IshMy>Is *Ѿe\~brespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kthMy>IshMy>Is  rb0´brespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kthMy>IshMy>Is u)F53K{frespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kth"Dh"D D-^s1Userespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/mock/MockGetInviteInfoUseCase.kthMy>IshMy>Is * ;\e5M_*".v*qrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/mock/MockSubmitRedeemInviteRequestUseCase.kthMy>IshMy>Is 6~2W`35Vdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kth"Dh"D tsRZtL.&OOZqeerespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/realm/MakeRealmPathDirUseCase.kth"Dh"D tw).omd젘^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/realm/RespectRealmPath.kthMy>IshMy>Is U^J7J'lrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kthMy>IshMy>Is 2IshMy>Is S]Q^ ٚ-/3.orespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kthMy>IshMy>Is 2HH4AnSdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kthMy>IshMy>Is _;^j|gX`respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kthMy>IshMy>Is V$Ơ`2oQ8reUyqrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kthMy>IshMy>Is Owf?qqؾAVSerespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kthMy>IshMy>Is 0~ms v%CUX[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kthMy>IshMy>Is V$h_27^[brespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kthMy>IshMy>Is .Fîs>ݙ:7Fcrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kth"Dh"D #v/to]AUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kthh gن{ϨnT󁚵)YVrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kthh c>B'$0K{ULF7a?Urespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kthh c?dpl$ }PMA]respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kthh c@2v3h/<+arespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kthh XUbW=Y]~+grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kthMy>IshMy>Is np@ }bQrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kthMy>IshMy>Is #{-CMd 4˝@%SXrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kth"Dh"D GRMKt+0etīAATrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kth"Dh"D ƿ`lH 72qOnOrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kth"Dh"D eIChKM+CB*m&ɁRrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/TimeInMillis.kth6ygh6yg  ^ * s BAo_xDH04W-crespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kth"Dh"D t SW%t`킻5^Srespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonExt.kthh wa'L (P

R6mrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/setpassword/SetPasswordUseDbImpl.kthd}hd} t*HxA6FhlB '|respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCaseDbImpl.kthMy\hMy\ p `:|MnBJMgrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconsUseCaseImpl.kthMy\hMy\ p^"\QWݦn*Horespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/AbstractJsonSchemaValidator.kthMy\hMy\ p&ۀ[pF@H J1erespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/OpdsFeedValidator.kthMy\hMy\ pH ׊**_ݖ+lrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/OpdsPublicationValidator.kthMy\hMy\ p t1K<WHkrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateLinkUseCaseImpl.kthMyl hMyl p+8e[d"c$]wMrrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kthMyl hMyl piSok\}*>|fˎhrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidationMessageExt.kthMyl hMyl pAIc?mu}respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/respectappmanifest/validator/RespectAppManifestValidator.kthMyl hMyl pPe pLHa\!g brespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/validator/DiscardOutputStream.kthMyl hMyl p2n.1Sճ^respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/validator/HttpResponseExt.kthMyl hMyl p$} hfv/ Vprespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/validator/ValidateHttpResponseForUrlUseCase.kthh t,s;mהG5n!R?ϝPrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/util/StringExt.jvm.kthh t-s.K#JjSrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/util/TimeInMillis.jvm.kthMyl hMyl p"XQ3{ FwTi7Nz[respect-lib-shared/src/jvmMain/resources/world/respect/domain/validator/README-licenses.txthMy{RZhMy{RZ p#~7% rfnZUUrespect-lib-shared/src/jvmMain/resources/world/respect/domain/validator/licenses.jsonhMy{RZhMy{RZ p(khaHɵs+{*4kLrespect-lib-shared/src/jvmTest/kotlin/world/respect/OpdsSerializationTest.kthMy{RZhMy{RZ p+<`~QBv!u.JZrespect-lib-shared/src/jvmTest/kotlin/world/respect/domain/validator/HttpLinkHeaderTest.kthMy{RZhMy{RZ p,Nؔx^>eZ9)_respect-lib-shared/src/jvmTest/kotlin/world/respect/domain/validator/TestValidationScenarios.kth16h16 t1APFm2+lrespect-lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/account/AuthWithPasswordIntegrationTest.kthMy{RZhMy{RZ p.ГζviWI<}q^:63#zrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/script.jshMyhMy p? پElBflW{zrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/video.mp4hMyhMy p@Ş5b_ݹƯEb;jrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/index.jsonhMyhMy pBD(vz*sf¦nrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/app.htmlhMyhMy pC K}}hL4K+Nvrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/appmanifest.jsonhMyhMy pE/WAw4_9xrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/grade1/grade1.jsonhMyhMy pG]M ƥiDx@Ag4Crespect-server/src/main/kotlin/world/respect/server/AppConfigExt.kthh t7 ֢6`qY*sK<~Brespect-server/src/main/kotlin/world/respect/server/Application.kthh t8 ^X7IyGrespect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kthh t9l7E˘DLDrespect-server/src/main/kotlin/world/respect/server/ServerAppMain.kthh t:2A1j.ߛ0ubGrespect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kthh t=Ɂ=!HGЬq:`respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kth16h16 tA L͹<$e8Wrespect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddRealmUseCase.kthh tBֺ6ONݱirespect-server/src/main/kotlin/world/respect/server/domain/realm/add/AddServerManagedDirectoryCallback.kthh tD+_rBKj8Grespect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kthh tEe?wao1\)*@Xrespect-server/src/main/kotlin/world/respect/server/routes/RespectRealmDirectoryRoute.kthh tFQM4g{ HSrespect-server/src/main/kotlin/world/respect/server/routes/RespectRealmJsonRoute.kthh tI .ʝ1sJRrespect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kthh e*MS 1 rD &2respect-server/src/main/resources/application.confhMy߳hMy߳ p>ׁhŘh qI7-respect-server/src/main/resources/logback.xmlhMy߳hMy߳ pgWuTA~ Ѥ!respect-test-end-to-end/README.mdhh eZ z?} _F tX]Nrespect-test-end-to-end/android-maestro/e2e-tests/001_browse_lessons_test.yamlhMy!hMy! pYRKxFE8?uyQOrespect-test-end-to-end/test-description/001_browse_lessons_test_description.mdhMy!hMy! sXOjTETZEUsettings.gradle.ktsTREEFw681 21 iC5 + k.fleet1 0 G;ܼ,yʙHe)Tgradle3 1 ^Tf\m;t ?sMwrapper2 0 oꙭۆzWy5ZocomposeApp2 1 %w8Ud osrc2 1 J] k07Nܕ9desktopMain2 1 +,6ZJcxHgLresources2 1 4:hF#t@$8 ҁGimg2 0 'df$(respect-cli3 1 2wpp*src1 1 . I]hmain1 1 p<s$ java1 1 r.!clI˷world1 1 fG֮CX)arespect1 1 4qc]*TA|xclitools1 0 )u؏N፫^respect-server16 1 ٥ћ>9 ffdsrc14 1 QFm߲main14 2 x9bkotlin12 1 졪/GD/Ц!/sworld12 1 EϲB cl#ꌋ?Xrespect12 1 HkK\zV }server12 4 ֘1)ymguutil1 1 `+ASˁ ext1 0 5'QYͬ5domain2 1 i+uf jrlrealm2 1 '* v?w#g-sZ&add2 0 y͸bloVoroutes3 0 oLth1account1 1 *cX6闱(invite1 0 KҁM\fZhresources2 0 Э}]?=?8w\^EJ respect-lib-util9 1 y:Ifensrc8 3 qXPkWP+1" :jvmMain1 1 q5DQkotlin1 1 He]ZRDۨț1tworld1 1 {)% ârespect1 1 cO25Q0aAMUR/*wlibutil1 0 ZښJ*" ,ZjvmTest1 1 HS5T!kotlin1 1 ݻw !SEL>\util1 1 FS%fV fPathrowable1 0 _IgX#uQ)qLrespect-datalayer79 1 Bvlvss>c}Mjsrc76 2 IbYZvcommonMain75 1 Y\Ņ^eI!fkotlin75 1 EI( I4 !world75 1 Ç/aLA97/~respect75 1 HIN, >_datalayer75 9 KAÂ0/%lIbext3 0 ٘f)0<@+'J Aopds19 1  ױYQƵsmodel17 0 UVtGcF2\d*2realm5 1  :7J`model3 0 f.2._X(nshared7 1 ^5!b؝ &+/serialization7 0 oMVVB1'respect7 1 HNۯӣנ@UQmodel6 1 ˢϼs # X-invite3 0 #E! :TNQUoneroster19 1 \ष`C\ ;?rostering18 1 $$h^~Omodel17 0 *H;LB!q|;compatibleapps3 1 ](`3ys"vv model1 0 #iM5) @headers6 0 0ɒ盫cCwկH logging2 0 l.Y]H0cfCpartial2 0 '§ {VD~response6 0 Wa_"$\]integrity1 0 ٫#*ӧdistributed11 2 WqE> /I'!(@http1 0 ٓj}IartGFTmodel6 0 cۯf`~cachecontrol9 0 u3{t7sandroidMain7 1 Om mQ ъkotlin7 1 9q܅-?LɍԌ,ycom7 1 .o#+ ,W!ustadmobile7 1 g "Ƽnmlibcache7 4 N;~YfggXImd52 0 oA6h,sdkTAbase641 0 Ԗp?9El] webview1 0 ]eb\distributed2 0 0Ya9Iv%C+݈schemas1 1 (O_|\R.[!d com.ustadmobile.libcache.db.UstadCacheDb1 0 R 4ZnM`K8I respect-lib-shared178 1 WQ_h&!src177 5 mmq[NO4•aSbjvmMain20 2 x\P 7 kotlin18 1 R,/nmJSLOworld18 1 =0Hw N|/iRlrespect18 1 |0tB{UUshared17 3 }/Ti ȣdi1 0 G E +[^ futil2 0 -FڥcQ"a `domain14 5 {'1|@A.lLopds6 1 'M$0y{Xvalidator6 0 "=l:;rAUaccount3 3 7ڃ68ٱsetpassword1 0 j)fB‹oVvalidateauth1 0 OqZIhۦx};:authwithpassword1 0 *Gz31TL<validator3 0 `MR,~hh"getfavicons1 0 ~1+*bgi!rrespectappmanifest1 1 pbTGN_,ZX:validator1 0 t^>vȉresources2 1 k,';˶,/aʦworld2 1 ZHe)*i a⛁respect2 1 —jHEtdomain2 1 %FUyyr\validator2 0 8Ox[1RjvmTest42 2 yUf9c=dZ;xyWkotlin6 1 '*C%`?F_ǵܩworld6 1 bV> 2A:respect6 3 G[41p#bw˥domain2 1 N{c0V_/ Qvalidator2 0 P{ﱡ!~JhAshared1 1 k]ϼ]WF](0cdomain1 1 ﰃ‰XP&Saccount1 0 I'(_*itestutil2 0 o%bŔ]a]resources36 1 ǑꯔyNE7fʡworld36 1 U­!TG2^YlbLrespect36 1 }(mQiXE']Nvalidator36 4 ;N؏t,(̥Ycase_valid10 1 r݅E5OTograde17 1 Ut򃀉NmYJlesson0016 0 -p6<``S/rHcase_no_resources_in_manifest10 1 ҆ ^g}*COgrade17 1 Nr h2i󐫸r2lesson0016 0 YG;ildcase_manifest_not_discoverable10 1 ?\)pK;|;grade17 1 O{ x 'lesson0016 0 G)›aJ1çRmcase_manifest_resources_do_not_exist6 1 "1ycfL*hgrade13 1 < -IDMElesson0012 0 Ws^*:uQLԬdcommonMain99 3 pQtsM kotlin96 1 P0jbf%Ss2Xsworld96 1 ׋fDNWUSUinvite3 0 *Xْ#TԷ signup2 0 h,:@T2# setpassword1 0 ŝk6sQ+wvalidateauth1 0 bVyke̼gettokenanduser2 0 MD.؞,( %createinviteredeemrequest1 0 ^01lQ#/J@storage3 0 q}`})C6ۙB-licenses2 1 _@k/>w,wwGmodel2 0 /T@c}%0vpihlaunchapp1 0 պ<6L՞pvalidator6 0 aAܺq7 getfavicons1 0 px؉h|I'respectappmanifest1 1 XukUրkA%@model1 0 04}0qU|V Zdirectory1 0 udWHkj^ܞKresources1 0 D 2pviewmodel37 9 `@J'v&app11 1 -K ;2?kS^׭appstate11 0 H+ Im[o_6apps4 4 SP>yT3ŵlist1 0 >CKܒ}V+detail1 0 |hBE=Klauncher1 0 8DdR4cvH)Menterlink1 0 5(iz9S ]mVclazz1 0 vnG)1,report1 0 yӴOTӽnYpmanageuser14 13 =2r$Go#ldlogin1 0 Y4FUxksignup1 0 |/\$~K@mx䡗profile2 0 L9pN?cu%getstarted1 0 $W{K,޲gO$?`accountlist1 0 *EA!ꣁזotheroption1 0 +aԱƦ3)z(respectaccount1 1 )52/{>2list1 0 > Xٷacknowledgement1 0 x8- ԋn&bEV@datasource2 0 ׇM= M7navigation6 0 '#q;H^fcresources1 0 jNĚoK{composeResources2 2 yL W܅2?1/4values1 0 `Eo! /-gתdrawable1 0 _{ #vsn?commonTest7 1 a6D(B" resources7 0 E^S'WZKrespect9 1 t#m!:R}6Jshared8 2 ,$2=D̚util3 1 K @[MBS7ext1 0 XMPEI%[domain5 3 FMwMQ;Orealm1 0 n]] }Qό?storage3 0 5=>ˍN\C'ܭ.launchapp1 0 1*2AVtd sfWVrespect-lib-xxhash3 1 $@sksrc2 1 /%f:|m;7+commonMain2 1 ct0FK`+kotlin2 1 SwD~noAworld2 1 ˙Jb"URﻆrespect2 1 N?h؁͝ilibxxhash2 1 Fq1&S@`5jvmimpl1 0 [֎*g~e|respect-app-compose89 1 @6z7E-v$4_ִ2 2+confirmation1 0 %?PoL ؄_*hcreateaccount1 0 upxDf,phowpasskeywork1 0 i7~c}^Ǫfjoinclazzwithcode1 0 `3+*]?O}Jotheroptionsignup1 0 aɃfCtermsandcondition1 0 $UV V+*+Bwaitingforapproval1 0 d U!1퇬enterpasswordsignup1 0 }3`@&Qc!"!assignments1 0 ?uYaMlearningunit2 2 KIwS;Rzlist1 0 `}.h+zYdetail1 0 V?燞LtJFacknowledgement1 0 {canB=effects1 0 z)BrZviewmodel1 0 !߻(3wcomponents7 1 n`}ZH,7swebview1 0 d 3A(ڶSimages1 0 ) E-G}™\navigation1 0 xT躛ɁWl ipasskey2 0 01fj!?0:androidMain33 2 O/ =_"(sHres20 14 -8DOœcxml1 0 A;gcQPrqmenu1 0 ,#@}l]ŀܚlayout1 0 !Q7|]a]pS?values3 0 {*@AwP3drawable5 0 V H ¬p3>pvalues-v231 0 cǹ'@;Wsmipmap-hdpi1 0 Z4q񳫪x{ ͝mipmap-mdpi1 0 TՈRχfռ9{drawable-v241 0 UȤ.F~`omipmap-xhdpi1 0 t#geQ6Ovalues-night1 0 1I8H]"ecmipmap-xxhdpi1 0 Kaf?@A̞sGmipmap-xxxhdpi1 0 H53RҐW$mipmap-anydpi-v261 0 P=Q$Aw9okotlin12 1 yNoY$Z{?:world12 1 ? b{#{ˤkrespect12 3 4)voʍ{(Asapp3 2 bPԭ+[>capp1 0 eV tn{§components2 1 FI;_#oewebview1 0 `GOD \#"Zimages1 0  t;cQF0rs>credentials2 1 ҥ6TY)c A>2passkey2 0 LZm\lsZ.desktopMain5 2 m#l1Opkotlin4 1 =90 H{v`9world4 1 Ox8_ ;$9krespect4 2 9pf:xʨ dH@$0A6e&src63 2 cy:c/FA@0'jvmTest2 2  ~މ6A׺rHkotlin1 1 |E$5i(S;#dworld1 1 N{qVyG9respect1 1 GdyE960ɜxQ.datalayer1 1 N{% z`wqidb1 1 tj(rA隀topds1 1 ZG8/Ic! 3adapters1 0 D 癹G]:,1resources1 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(commonMain61 1 ci\#xkotlin61 1 >BCҐg׮zZړworld61 1 ",,\#MSrespect61 1 `#S J&+7U datalayer61 1 ls-LnÛdb61 5 1P^GPDopds22 3 ]áNxdaos5 0 )t0/X%@'Ɵ&adapters7 0 Fde.W9*Jentities7 0 bFlF> realm12 3 [:L >2(9&daos4 0 pԯ8ـxRL (adapters2 0 c%bV/DNrwentities4 0 8Y}ֈGp3ȤMshared8 4 gQ3>̧ՎbH}ext2 0 02!`<ߚslDX/daos1 0 ;޶ғKJFv` adapters2 0 RUyѺN5 }:-entities1 0 kh<`"]~$compatibleapps6 3 dAM?o*g/6daos2 0 vt]ݡoHcyNjsqadapters1 0 #]>Lzumentities2 0 XdX j5䤴xrealmdirectory9 4 Yg[֮L0Eext1 0 <:'s#ľdaos3 0  BԴ&vNՖx(adapters1 0 N wQSʪentities3 0 {ݚTJ9.k rschemas2 2 b:d6vq!N ~world.respect.datalayer.db.RespectAppDatabase1 0 a}HT*4w^+world.respect.datalayer.db.RespectRealmDatabase1 0 ԓZ"\Frespect-datalayer-http4 1 ˓ep#0:ustadmobile1 1 X;}g;By(ihttp1 1 #dYVy@,sJiext1 0 3OR)nge?$GL jvmMain1 1 mQuA(䯭#94e1ۨm鬳^Austadmobile26 1 ?1IV_X%Bihttp26 4 SZou.Cext4 0 yHi4Io/0]cs>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-test-end-to-end3 2 `eUG]zxO+G )Θandroid-maestro1 1 #5gOw骸<\NOe2e-tests1 0 N蒧P}WIRtest-description1 0 4Ka@o }Ugrespect-lib-ihttp-okhttp11 1 p?d]+/src7 1 ?WvۄԈė/,|qcommonMain7 1 \{1;aɲp4!eykotlin6 1 Q{/MŐ ]`:com6 1 %m~FL~2kErZustadmobile6 1 8b@d#ihttp6 1 m<5]Ш 0T8okhttp6 3 *;]Q< @6headers2 0 L)9:o Z request2 0 D)YLresponse2 0 ֊C@4NZtt1< respect-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-repository11 1 BGesiH`(Cmsrc10 2 DxpO&3'9{~>/jvmTest5 2 gliZe{;zkotlin2 1 _`9wJBBժŬzq3world2 1 Y^ĻRwoo5frespect2 1 nak_ datalayer2 1 dM%Bw}C urepository2 1 ZpWJX]qopds1 0 w+ح*w~Nj}`Rresources3 1 OѺ=QAzpworld2 1 NE0{*}respect2 1 }[6 datalayer2 1 _xpa/M g;repository2 1 mriքJ'ڮn-9opds2 0 @R0qBJ~kcommonMain5 1 t%1N f*.i Akotlin5 1 C Kuaog|world5 1 k-KX5\['ȡ,respect5 1 }G+Ǐ&yn X]datalayer5 1 ϟȶ$ E>" repository5 3 OP2 Eu"_opds1 0 1@*v%realm1 0 m5ר<\ Zcompatibleapps1 0 Aeo5 dRAPhßO,G#\