DIRCh3:h3: /smIL%ʹh ,.fleet/receipt.jsonhFchFc bCw jөQ .gitignoreh:&h:& f VHn OޕARCHITECTURE.mdh' fh' f |5E%\qㅷDESIGN_GUIDELINES.mdh3:h3:  ]R?rCRLICENSEhe Vhe V g *&1hO(ٞ:Vsur README.mdh3:h3: 2h!bwbuild.gradle.ktsh3:-h3:- /y7QXA(Y$ L猧9composeApp/src/desktopMain/resources/img/respect_logo.pngh3:-h3:- /z5^@yA|R-6composeApp/src/desktopMain/resources/img/spix_logo.pngh3:-h3:- #qn#y>2o?gradle.propertieshe Xhe X {'i3RɁ:O?ngradle/libs.versions.tomlh3:-h3:- /~,5!}|EC %!gradle/wrapper/gradle-wrapper.jarh3:-h3:- /Gv1z^"`:w$ i(gradle/wrapper/gradle-wrapper.propertieshcd5hcd5 ":mkkZ&BGtgradlewh3:-h3:-  8!4\'{[*n gradlew.bath3:-h3:- /V!ȫmT= Erespect-app-compose/README.mdhÅ ;uhÅ ;u  T{S %iS'5|H$respect-app-compose/build.gradle.ktshÅ ;uhÅ ;u /ȍy.o{HS>[R&respect-app-compose/proguard-rules.proh' h'  | i},V AZ7respect-app-compose/src/androidMain/AndroidManifest.xmlh3:-h3:- /vTuԽ _#YOrespect-app-compose/src/androidMain/kotlin/world/respect/AbstractAppActivity.kth3:-h3:- /(R1R h2!>9vIGrespect-app-compose/src/androidMain/kotlin/world/respect/AppActivity.kthe Xhe X  WHӄ?Irespect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kth3:-h3:- /tf )rZ߉bHrespect-app-compose/src/androidMain/kotlin/world/respect/MainActivity.kthÅ ;uhÅ ;u /~ lQ6^Frespect-app-compose/src/androidMain/kotlin/world/respect/RespectApp.kth3:ph3:p / bq<$0mp-59Krespect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kth3:ph3:p /~vlhH ZSrespect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kth3:ph3:p /EZ2ǀn5H"awkrespect-app-compose/src/androidMain/kotlin/world/respect/app/components/RespectImageSelectButton.android.kth3:ph3:p /? kWwv~eHmrespect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kthe Xhe X b |=Ddge=N_respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kth' h'  } Z|ܠJPrHX|hrespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseImpl.kth' h'  > u{ջN#phrespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseImpl.kthe}he} `#4HpwZE_n grespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kth3:ph3:p /[ӭ5q׻6U=5Wrespect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kth3:ph3:p /+F*Kfb Orespect-app-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xmlh3:ph3:p / dk0.DŽ;|TFrespect-app-compose/src/androidMain/res/drawable/baseline_close_24.xmlh3:ph3:p / Z:m[L%Q˔u@respect-app-compose/src/androidMain/res/drawable/ic_launcher.xmlh3:ph3:p />va;h-ܒw3Krespect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xmlh3:ph3:p /4n>eY+!zFٯ`Brespect-app-compose/src/androidMain/res/drawable/respect_logo.webph3:ph3:p /x}3OYr2q=?respect-app-compose/src/androidMain/res/drawable/spix_logo.webph3:ph3:p /lVm^y)iW^hDrespect-app-compose/src/androidMain/res/layout/activity_web_view.xmlh3:ph3:p /mO0jQ?ȶĂպ=respect-app-compose/src/androidMain/res/menu/menu_webview.xmlh3:ph3:p / Rf( h{Orespect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xmlh3:ph3:p /aUUa=,֑FIrespect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.pngh3:ph3:p / respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kth3:[h3:[ / ltP^ 5P 8respect-app-compose/src/commonMain/kotlin/theme/Theme.kth3:[h3:[ /̼9\eui/ʞD>respect-app-compose/src/commonMain/kotlin/world/respect/App.kthe Vhe V /!+g-gpضX>Frespect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kthÅ ;uhÅ ;u /f'sQ�w)eIrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kth3:[h3:[ /l}`JsgS7Jrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kthe Vhe V  I i(&6N2fMrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kth3:[h3:[ /ٟG{ۇN88_K'FTrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kth3:[h3:[ />G ߄^TaxY:z iLrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kthe Vhe V /h!m5jJ̚%&Urespect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kthe Dhe D /AF0H2+]tMZ怯brespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kthÅ ;uhÅ ;u /A詘஢kBsNG8Zrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kthe Dhe D /DQz7m.^NZ.brespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kth3:[h3:[ / aNYyԚCRaiF?brespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectImageSelectButton.kthÅ ;uhÅ ;u 0s_,`W >Zrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kth3:[h3:[ /\&4K"(cj.:J_respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kthÅ ;uhÅ ;u 0u0nG xPCY?zZ-\respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kthe Dhe D /AWBjQIb ߿Z]respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kthe Dhe D 0ϙ'B%fitq ^B ^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kthe Dhe D 0^X W7j!  s[respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kthe Dhe D 06(I~qoNP&Jgrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kth3:[h3:[ /Eu=WP. L?^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kthe Xhe X / J>ɓ'N0fR˝grespect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kth3:h3: /ZI4e1DRD!uUgrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/webview/UstadWebViewNavigator.kth3:h3: /EGPKk2/LGWrespect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kth3:h3: /ݻ6LS/'Nrespect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kthe Dhe D 0%-F"ME%gSrespect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/ModifierExt.kth3:h3: / w%ToZqvxJ1F7irespect-app-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kth3:h3: //\1ͧV`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kth3:h3: / EY4&gB!xbrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kth3:h3: /0RCۈ^_3crespect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kth3:h3: /-l<^by*+Ŝm] h[respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kth3:h3: /=}u^respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kthe Dhe D 0 :hZ8Re/s R^respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kth3:h3: /9ʇyn|w wprespect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kthe Dhe D /(#Va*Mjlrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kth:&h:&  2go-S<ȩ.2jrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kth' h'  0C hp,y܅$Llrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kthe h*he h* / |b9/Uգnrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/confirmation/ConfirmationScreen.kth' h'   0#&H  4Ghzs4!prespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kth \h \ > uHF2 FZ|respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kth ÚTh ÚT yOp7??A jrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kth \h \ >2%uv#q90 srespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kth6h6 ! -q9 RifWaռxrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/joinclazzwithcode/JoinClazzWithCodeScreen.kthmhm  >yWr9 n6`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kth3VQh3VQ # tc5x( Z Aγ抹mrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kth' h'  >1 ٚq#.'F-hV}yrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kthe h*he h* /~wF IT}brespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kth3;6h3;6 /3mW7ۈb69Lxrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kth3;6h3;6 / o&VZzrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kth' h'  c8%BRk#fdrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kth:&h:&  EendgI1ءY`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kthe Dhe D fsi.*i!Yk:i`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kthÅ }hÅ } `>{ KRN$l_Xjdrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kthe he 0[O͇(N.U}U6~Y`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kthÅ }hÅ } `.{)>TqDyllrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kthÅ }hÅ } `(-r@,1{^respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kthe he 0%i@w "hqrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kthe he 0 >/]rN_ֲ{]O+mrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kthe he 0 i4_*p_WE<|mrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kthÅ }hÅ } ` ]_jis0v `respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kthÅ }hÅ } `"WUHԺhrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kth3;6h3;6 0 (ܘo@ respect-app-compose/src/desktopMain/resources/sample-feed.jsonh3;6h3;6 0B*18LyqzK}respect-cli/.gitignoreh3;6h3;6 0p]ǎ 4M?+urespect-cli/build.gradle.ktsh3;6h3;6 0=b{M{S9 %<Z>respect-cli/src/main/java/world/respect/clitools/RespectCLI.kth3;6h3;6 0 B*18LyqzK}respect-credentials/.gitignoreh:_h:_ ~$bG]oW*K(c$respect-credentials/build.gradle.ktsh3;6h3;6 0"H4Ayף gm4K &respect-credentials/proguard-rules.proh' h'   $Ww; c{׾8U†crespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kth' h'   %߉3ǬW1{crespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kthe h*he h* 0B'RԮ\]vY#=!)n4hirespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectRedeemInviteRequest.kthe}he} `XJ6Xȵbrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kthd2hd2  '76e]f,Z~respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kthd2hd2  (ⶢ` ڞw2{respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kthd2hd2  )'rځ5)8 orespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kthd2hd2  *j;OI Ft H|"Fwrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kthd2hd2  +9W)#zOv5r31OY-srespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kthd2hd2  ,Of6AXsκcrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kthd2hd2 /CRH06O8?s41{respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kthd2hd2 /P1"a?F Cvrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kthd2hd2 /_ '~/<,}>trrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kthd2hd2 /oRA >S|Dzrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kthd2hd2 /MKbopPBnu>Hprespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kthd2hd2 /+@ 8?Hm@ Dvrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kth' %h' %  WuQC/U respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kth' %h' % 0(Rs&T|(9i^respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kth:ģh:ģ 0) $[C~W)ҧ9rnrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kthd3 7hd3 7 0* fXG6!sƭI nrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kthd3 7hd3 7 0/]!qIl9K ]respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kthe he 0PE|fJzYN߁?38brespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/toGuardianRole.kth:ģh:ģ \'{B"[EVx]A.erespect-credentials/src/jvmTest/kotlin/world/respect/credentials/EncodeDecodeUserHandleUseCaseTest.kth3;y h3;y 0%r0o#Fj`|0respect-credentials/src/main/AndroidManifest.xmlhÅ }hÅ } `j(>i;F6?[brespect-datalayer-db/README.mdhÅ }hÅ } 0@lH@cMH%respect-datalayer-db/build.gradle.ktshe h*he h* 0NnW; ;Lg@H/Qrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.jsonhe he 0;uP,T~v0~a-Srespect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/1.jsonhe he 0%Cx?OSrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectRealmDatabase/2.jsonhe h*he h* 0G՟E\XpŇ'jYTrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.jsonhe h*he h* 0MNGb lyz4#_respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kthe h*he h* :NHdϲY 87[respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kthÅ hÅ `⛲CK)wZSarespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kthe h*he h* 0 p=:›p\ 9%:^respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kthe h*he h* 1 RDC5YJ!ż[respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kthÅ hÅ 0P\i4&F7rqrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/CompatibleAppDataSourceDb.kth3;Gh3;G 0Rp_e>^/)EM6urespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/adapters/CompatbileAppAdapter.kth3;Gh3;G 0Tב}.\&.\ v7trespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/daos/CompatibleAppAddJoinDao.kthÅ hÅ 0URlQ`>1I၎Tsrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/daos/CompatibleAppEntityDao.kth3;Gh3;G 0WǭW3 lm.êQurespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/entities/CompatibleAppAddJoin.kth3;Gh3;G 0X ꔀ h,`@ctrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/compatibleapps/entities/CompatibleAppEntity.kthÅ hÅ ` iHoD&$ Rg%u՝ALrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kthÅ hÅ `y "濵ԦVgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/daos/ReadiumLinkEntityDao.kth3;Gh3;G 0l2NN Ck/,ݭYxsfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFacetEntity.kth3;Gh3;G 0mԊu^'㰸OdWerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedEntity.kth3;Gh3;G 0n*ǽAR&m (I~mrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsFeedMetadataEntity.kth3;Gh3;G 0os%== :32frespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsGroupEntity.kth3;Gh3;G 0p;Ԡ_qOm ZLlrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/OpdsPublicationEntity.kth h  e?M8s%#5)jrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/PersonPasskeyEntity.kth3;Gh3;G 0q ư{uYqhwihrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/ReadiumLinkEntity.kth3;Gh3;G 0r? j*1Iذwpxz=+/krespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/opds/entities/ReadiumSubjectEntity.kthe h*he h* 1b]z ][zl}qarespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kthe h*he h* 2Hٔ<)?nwM۫uWfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kthÅ hÅ ` YXN>v{erespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kthe h*he h* 2ޒ"~-Z{p%5vXbrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kthe wm.he wm. 2 ʕ=)!Il c³(brespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kthe wm.he wm. 2 mJ/ ;pX>D drespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kth:_h:_ bee , mllirespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kthe wm.he wm. 2{fabe0lerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kthe wm.he wm. 3|!SYpg)n8|jrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kthe wm.he wm. 3} ?1A%fA.&g.I."Zfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kthÅ #hÅ # `$oN=EB8%afrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kthe wm.he wm. `@D9xt4'(~nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kth:_h:_ b&(Us;# ξǕVGgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kthe wm.he wm. ` LU!_wk% //5crespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kthe wm.he wm. ` AK0.hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kthÅ #hÅ # `[ppP5pPҔVOgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kthe wm.he wm. 3~5hL\'qNE!`drespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kth:_h:_ bYђzU9cϩOlrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kthe wm.he wm. `W%Vi4c_Mqrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kth:_h:_ b=fQDf hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kthÅ #hÅ # `>%Xo4qUG_^:vdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kthe wm.he wm. ` ݁;)Ilrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kth:_h:_ bui9@]ɋ{hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kthe he  `554#ZDdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kthe wm.he wm. oKzQB5߱:Zirespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kthÅ #hÅ # `9?JJV.T6hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kthe wm.he wm. `_s}:q krerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kthe wm.he wm. `HR0' zƝb,)nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kth:_h:_ bOs]Q#lK{E pk`irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kthÅ #hÅ # `$lu8)-BiQerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kthe wm.he wm. oM/[8d58~G-L 1O.mrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kthe wm.he wm. qSji?-KQ`?nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kthe ihe i 0w ?_٬TOyN7lBTgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kthÅ #hÅ # 0xk#ègso^3EN3nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kthe ihe i K+CVYєQerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kthe ihe i q>[> ifIIftrespect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kth3;-h3;- 00^9a%Sڂbrespect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.jsonhÅ #hÅ # `/,U_@Dv!U respect-datalayer-http/README.mdhÅ #hÅ # 0O絶o" o'respect-datalayer-http/build.gradle.ktshe ihe i 0'jYgIv^erespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kthe ihe i ` m2&DW A #Larespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kthÅ #hÅ # 0 YOۣVfs.Gwrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/compatibleapps/CompatibleAppDataSourceHttp.kthe ihe i `O!}5c4mհyYsyerespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kthe ihe i `Uȗ"k̛~PV3hmrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kthe ihe i `>+] `Ukrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kthÅ #hÅ # `/VfS6܀Zorespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kthÅ #hÅ # 064 !Xߴ4o[]drespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/opds/OpdsDataSourceHttp.kthe ihe i q?f* ]\ _Cgrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.kthe ihe i qZlK |Gސ!lrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kthe ihe i `-Ta s0^4QWnhrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kthe ihe i `$In 9{#VAlrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kthe ihe i ;Aql)Ƈc)_EFzrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryDataSourceHttp.kthe ihe i q (W3'f!<ۙӕlrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kthÅ +D]hÅ +D] `f>kڥߏtBvrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kthÅ +D]hÅ +D] `sjűG3s.wKZ&respect-datalayer-repository/README.mdhe ihe i  ^"u>ub=j<-respect-datalayer-repository/build.gradle.ktshe he by<Ʊ?<\rerespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kthe he bM9;FpU/respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kthe he G>vzܤ2D;wrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kthÅ +D]hÅ +D] `⛲CK)wZSyrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kthe he V 5q4i K%Msrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kth3;=?h3;=? 0 -HhKp' D1ɬ>Irespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/compatibleapps/CompatibleAppDataSourceRepository.kth3;=?h3;=? 0|u޸{˝H>vrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsDataSourceRepository.kthe he b qP2yrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kthe he b ?/=.mt a~respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kthe he bZw^L Z,Uzrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kthÅ +D]hÅ +D] t/>P!kSzrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kthe he b|,GMq$6Kʍrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kthe he <٫@ IѺ(p]respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryDataSourceRepository.kthe he qx=ȽR3Drespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kthÅ +D]hÅ +D] `'`禺7658#respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kthÅ +D]hÅ +D] `P9-&b írespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceMediatorStore.kthÅ +D]hÅ +D] ` h*PŲ?ȿٹ؈$Drespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource.kth h 0 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.kthe he `*p|dX/9lT]x@ņR|respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kthb xhb x vO<=%j,do>respect-datalayer-repository/src/jvmTest/resources/logback.xmlh3;=?h3;=? 0Ş5b_ݹƯEb;erespect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.jsonh3;=?h3;=? 00^9a%Sڂirespect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.jsonh3;=?h3;=? 0B*18LyqzK}respect-datalayer/.gitignoreh %h % =̹5I=xGV$ߺrIrespect-datalayer/README.mdhÅ :hÅ : 0Lc+ןT{{ "respect-datalayer/build.gradle.ktsh3;=?h3;=? 0yha̮O Ԉ[vEs5respect-datalayer/src/androidMain/AndroidManifest.xmlh;h; bB MܣW72Trespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kthÅ :hÅ : `TݦZ<>Y6_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kthÅ :hÅ : `ۉEhoUF[O%qSrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLayerHeaders.kthe 3he 3 `VÐ+moRrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLayerParams.kthÅ :hÅ : 0j Ncʤ%JhǼ>J `! mUԑTz0Srespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kthǼ>JhǼ>J `0טּ}PäOf Xrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kthe 3he 3 qm_T=ًs:0DQ0?Rrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kth3;Lh3;L 0v}*WDN1Rsjrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/CompatibleAppsDataSource.kth3;Lh3;L 0@C#)ps:>ҷ.horespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/CompatibleAppsDataSourceLocal.kth3;Lh3;L 0 f3CpXLbOY$mjrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kthÅ :hÅ : 0x/Lm$u$SӎG! Wrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DataLoadStateExt.kthÅ :hÅ : `F,qWz|}$KY:[ Trespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kthÅ :hÅ : Lp%Jrm}u%e(Trespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kthÅ :hÅ : 0w>'1dBC^8 Urespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kthe 3he 3 `ZH7NJsd>!w!Y|\respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kthe 3he 3 qAKp._lf^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kthÅ :hÅ : a''MyL*n3<srespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kthÅ :hÅ : a@qyЧaޤNwrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kthÅ :hÅ : 0?+%>~r?pE>¦jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kthe he  tUcoocxQЋphrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kthe @he @ y6p{x)*vۜ)w`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kthe @he @ ynÌ>R)K(jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kthe @he @ yfӬ?_r\X2arespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kthe @he @ yK!^-,fhrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kthe @he @ yi_Q -cW3Tfrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kthe @he @ y^(fK`B<ظCr;Wcrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kthe @he @ ywŘ͋V6Ehfrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kthe @he @ yk$(f[x@]ƿv+frespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kthe @he @ yڥ]mϼG=fP]Gkrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kthe @he @ yp\p,QH`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kthe @he @ yn̒Mb2Cddrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kthe @he @ y_we^`*grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kthe @he @ y:w'UEYIohrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kthe @he @ y]->93L]\QD*-`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kthe @he @ yK-A=S}>8MOcPpgrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kthe @he @ yv8 ~8z[brespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kthe @he @ yCV.Je$K|8z^grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kth3;Lh3;L 0M6+4$<6_֟3Vrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/OpdsDataSource.kthÅ :hÅ : 0jN{rsI7[respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/OpdsDataSourceLocal.kth3;[4h3;[4 01 }z˳/^ AnUrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/LangMap.kth3;[4h3;[4 0oa"#rjAXrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/LangMapExt.kth3;[4h3;[4 0I/je/m٬:i!]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsAcquisition.kth3;[4h3;[4 0x.FVB~Ej*uX[respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsBelongsTo.kth3;[4h3;[4 0MFTKASBE3HqgZ Wrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsFacet.kth3;[4h3;[4 09+$S14RA34Vrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsFeed.kth3;[4h3;[4 002B#:+J'L^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsFeedMetadata.kth3;[4h3;[4 0cz#TlWrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsGroup.kth3;[4h3;[4 0P![uTK_ Wrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsPrice.kth3;[4h3;[4 0׀,>n\̃Nĥ]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsPublication.kth3;[4h3;[4 0 yHy/% &r+jXrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/OpdsSeries.kth3;[4h3;[4 1E0Nj@Nffrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumContributorObject.kth3;[4h3;[4 1GIƨ%۳ʗ~}Yrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumLink.kth3;[4h3;[4 1 )K|Y [crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumLinkProperties.kth3;[4h3;[4 1N^,藗.=:аflrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumLinkPropertiesEncrypted.kth3;[4h3;[4 1 InR l>]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumMetadata.kth3;[4h3;[4 1_\VT@ ]\respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/opds/model/ReadiumSubject.kth;h; 1SiBͨg\JhǼ>J TGIZ ,eq˶crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kthÅ :hÅ : yO GdTH]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kthe 3he 3 b G/''j̒rW Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kthÅ IhÅ I t((iܡ䧞_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kthÅ IhÅ I :])9hV/oO&8Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kthÅ IhÅ I ;7u?1^0ZR_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kthÅ IhÅ I =$Zt`p[)Qearespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kth;Fh;F t{ltӍЦE\:Yrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kthe 3he 3 bh4ϫOL}TUrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kthe 3he 3 bb<հTc{ʳä=Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kthe 3he 3 bhi+Yz]tdbbrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kthÅ IhÅ I AQ݆mLBxזb{Yrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Indicator.kthe 3he 3 bk5~LT*fTq_nO&Vrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kthe 3he 3 bxԿCz'Y/>`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kthÅ IhÅ I t.45o'I9$=Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kthÅ IhÅ I Bx?e҆Y5^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kthe 3he 3 b [bᕌ.`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kthÅ IhÅ I CePW⾭%RVrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kthÅ IhÅ I DXS^2. W9~W2Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kthÅ IhÅ I t#?f:!NqXrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kthÅ IhÅ I aDGpe$yۓ[respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kthe vhe v qQd^iNm~crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kthe vhe v qw-bt=lxA20Su)\respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kthe vhe v q)g%@O;Y_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kthÅ IhÅ I a rCq 䢴" jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kthÅ IhÅ I a cʥjr<drespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kthÅ IhÅ I a qJ![Ԏh?-rrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kthÅ IhÅ I a @|7&FGhޓbrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kthÅ IhÅ I a w#Y(!?ul;]A,crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kthÅ IhÅ I a4)̾yɜX8xCM^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kthÅ Y hÅ Y a_!14oߖ%"xu`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kthÅ Y hÅ Y a]8;8V]&"Ldrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kth4Dh4D 1 Uҽ6,V b)prespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/InstantISO8601Serializer.kth3;[4h3;[4 1 lm+-O,Bŏkrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/LocalDateOrDateTime.kth3;[4h3;[4 1#P 5DH\#CpO}respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/SingleItemToListTransformerSerializer.kth3;[4h3;[4 14r]+E9%Qj >lrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/StringListSerializer.kth3;[4h3;[4 1CmƛP=f/tprespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/StringOrObjectSerializer.kth3;[4h3;[4 1x?Թeɵ3ecrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/StringValue.kth3;[4h3;[4 1'0rN9 8]okrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/serialization/UriStringSerializer.kth3;[4h3;[4 1B*18LyqzK}respect-lib-cache/.gitignoreh3;[4h3;[4 1 X'i&RI@DUrespect-lib-cache/README.mdh3;[4h3;[4 1 C;_OSre?۰'"respect-lib-cache/build.gradle.ktsh3;koh3;ko 1'!1Tʳ.(Gx5řoJrespect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.jsonh;Fh;F 1%O+#m$->dVrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kth3;koh3;ko 1'_j>VUOz.wp]3Urespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kth3;koh3;ko 1)%1l䂃| Аkrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kth3;koh3;ko 1*ĢeCW]F_*srespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kth3;koh3;ko 1,9>o|j 0ig Yrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kth3;koh3;ko 1-j7;Mo)H$Yrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kth3;koh3;ko 1/Pc8G@MK# T`respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kth3;koh3;ko 15${md^/ ٱ&Urespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kth3;koh3;ko 16<ި GS*9k0Nrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kth3;koh3;ko 17oz)Vrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kth3;koh3;ko 18L ;J arespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kth3;koh3;ko 19:,p9NSrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kth3;koh3;ko 1:m۽C(*]vVarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kth3;koh3;ko 1;\ ϘrOhj|<ҚKYrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kth3;koh3;ko 1<`vŲOO],Orespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kth3;koh3;ko 1=f]M?t8(Mrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kth3;koh3;ko 1>#%@hcSsaYNrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kth3;koh3;ko 1?m嗀ۻ>Bs_Rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kth3;zHh3;zH 1@ 9*+q $RؾUrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kth3;zHh3;zH 1AF)YJv2!_wF>Rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kth3;zHh3;zH 1CW¦Ǧ@("Z_PTrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kth3;zHh3;zH 1E;e聆krespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kth3;zHh3;zH 1FTU|gB{1ۑdt?ٱ-ɮªarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kth3;zHh3;zH 1Rf0-&.HP#9]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kth3;zHh3;zH 1S 7mZ _>U J.cSrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kth3;zHh3;zH 1TYPozaVQ̜)_respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kth3;zHh3;zH 1VMt J_]޳H(trespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kth3;zHh3;zH 1X aCDw%A}!:4Xrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kth3;zHh3;zH 1Y i0X'k˲g[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kth3;zHh3;zH 1Zjׄ ĕJ|im< `respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kth3;zHh3;zH 1[(y$gz(zW78[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kth3;zHh3;zH 1\ᇚ5*jV|Ywn\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kth3;zHh3;zH 1]ku x󙪻[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kth3;zHh3;zH 1_3bqJ Qt"Zrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kth3;zHh3;zH 1`X +V@GQGhAbrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndLocks.kth3;zHh3;zH 1a%d/c8**n]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kth3;zHh3;zH 1bXG6J;MΐYZr ,Xbrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kth3;zHh3;zH 1c=9vn$D, Z]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kth3;zHh3;zH 1dR+`Xx0zC^respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kth3;zHh3;zH 1ePG}"pC )'[O]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kth3;zHh3;zH 1g~ZZ8:s+irespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kth3;zHh3;zH 1hD͖Ǥk\el&}b`irespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kth3;h3; 1i7ծ@Tyrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kth3;h3; 1jqOmޝ8﮴vGƢarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kth3;h3; 1ln3L/K< %7qrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kth3;h3; 1nclA8vG&c93lrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kth3;h3; 1o$^7~Ռ aMjrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kth3;h3; 1pbVH؇v2ʑjrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kth3;h3; 1qTtLńi jmɲzrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kth3;h3; 1rJd,Ź_}Yorespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kth3;h3; 1s%W`\i.;߫Rlrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kth3;h3; 1uEf* ԰ATXrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kth3;h3; 1vyR|z߁;Obrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kth3;h3; 1wZTqm-6B:(}W:LV]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kth3;h3; 1x$@ Pl@xZrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kth3;h3; 1zWYK ̶ OHcZrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kth3;h3; 1{ɮ$4Lirespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kth3;h3; 1I:R(sboT`]5`respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kth3;!h3;! 1`0^, S*zZHXrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kth3;!h3;! 1y UmW&FB^orespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kth3;!h3;! 1WԜգd\^respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kth3;!h3;! 1Znb8w`{;P"vpZrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kth3;!h3;! 1:,*D-&RH]grespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kth3;!h3;! 1 =r$MMl Q]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kth3;!h3;! 1&(iDX8Q0\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kth3;!h3;! 1䃔i7_C Aѧ[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kth3;!h3;! 1[aY)ˈ^gOQVrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kth3;!h3;! 1 ,++LpÛH\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kth3;!h3;! 1$ɍb#D=Trespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kth3;!h3;! 1 Mg'20 DSOrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LruMap.kth3;!h3;! 1ՙ3 kh٣SRrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kth3;!h3;! 17qG-RB |ԱZQrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kth3;!h3;! 1fo{H%C!79<`Urespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kth3;!h3;! 15c6^q=LƦMQrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kth3;!h3;! 1pln$9!@R F vKrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kth3;!h3;! 1AV|#eVRrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kth3;!h3;! 1 3 aޱuQVrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kth3;!h3;! 1 g{ ʹGœCIjrrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kth3;!h3;! 1̛ɦd 3ޤ;BWqrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kth3;!h3;! 1-Gy+\י4}*Zurespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kth3;!h3;! 1>$vBbCaI)s2d]rrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kth4 E\h4 E\ 1Dh1%:<\Xmrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kth4 E\h4 E\ 1,u)\h[[6Xrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kth4 E\h4 E\ 1FWUpќZiarespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kth4 E\h4 E\ 1 ,P6xߝMi#b2 Yrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kth4 E\h4 E\ 1]]Tw%qugRrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kth4 E\h4 E\ 1֒D" J)DZP9SU\Srespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kth4 E\h4 E\ 1q ew,_e#Yrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kth4 E\h4 E\ 1 (h.aL yyS:Q@p respect-lib-ihttp-core/README.mdh4h4 1CDKmq{PEd'respect-lib-ihttp-core/build.gradle.ktsh4h4 1w-4OmSrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kth4h4 1o;v~yث:o_respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kth4h4 1` 2*ɽv/]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kth4h4 1ɺhw_l*!ax)]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kth4h4 1#h"(QC#-Yrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kth4h4 1TP+WxaT"%Z`>Z9\respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kth4h4 1AX+¯9M,]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kth4h4 1œ3>7)Wh8Zrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kth4h4 1?-+J)W-Q R]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kth4h4 1=b+psDiarespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kth4h4 1A4ȏz^-7mǮcrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kth4h4 1 Cfz͂g$ˁ_respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kth4h4 19EL z.k M}[respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kth4h4 1( 'o]j?xL7\hrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kth4h4 1_&D(NƾT]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kth4h4 1E2!j :p[$Zrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kth4h4 1%^ғZ`A 3+iFkfrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kth4h4 1S=ĕ (8ozprespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kth4+h4+ 1M&s9frespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kth4+h4+ 1$ ԱoZ8@C \respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kth4+h4+ 1YW^ \54cwFe*`respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kth4+h4+ 1>-p $\<%j+z`v\respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kth4+h4+ 1s0[an3d]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kth4+h4+ 2 {`Lv<~ )EľqUrespect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kth4+h4+ 2 2.m‚S RԵWrespect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kth4+h4+ 2 B*18LyqzK}&respect-lib-ihttp-iostreams/.gitignoreh4+h4+ 2 Z% -blzmm%respect-lib-ihttp-iostreams/README.mdh4+h4+ 2a5Y {I7^,respect-lib-ihttp-iostreams/build.gradle.ktsh4+h4+ 2恿\\#SAMarespect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kth4+h4+ 2HAZ9f`:/{7'erespect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kth4+h4+ 2B*18LyqzK}&respect-lib-ihttp-nanohttpd/.gitignoreh4+h4+ 25JU6 rlmXƪLZ,respect-lib-ihttp-nanohttpd/build.gradle.ktsh4+h4+ 2" 7䊓š@aG\lrespect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kth4+h4+ 2#zM!c'!=rrespect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kth4; h4;  29ƯIDC zT% mrespect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kth4; h4;  2;_;>40OC*respect-lib-primarykeygen/build.gradle.ktsh4; h4;  2C 9X竭}jrespect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kth4; h4;  2J].+-+ԉ+K&zFҼ_arespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kthb ܳhb ܳ 2圙D,DZifrespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kth4; h4;  2M,x@͞Bdγ Jrl}arespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kth4JNIh4JNI 2T> O f0Ҽ>C3brespect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kth4JNIh4JNI 2[bނR\!2gx\k krespect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kthe vhe v 00 y6 4Aq_)*k#respect-lib-shared/build.gradle.ktsh4JNIh4JNI 2cn(Tj׆BhI^oKrespect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kthe vhe v c=I2%s 2!dPsrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kth;Fh;F 2g J#rK1jrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kth;Fh;F txE v-,torespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kth4JNIh4JNI 2iOMU<=ЯcL1Qjrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kth4JNIh4JNI 2jL4UI *p^Bkrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kth4JNIh4JNI 2k Ty?p}WM{ wrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kthb ܳhb ܳ {>NQ+|Xrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kth4JNIh4JNI 2n֧ʡ-ޙ0H!'MURrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kthe @he @ y,}ygp/83pKrespect-lib-shared/src/androidMain/resources/directories/default.propertiesh4JNIh4JNI 2r(˼yjnUrespect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xmlhe vhe v $At]ʛ1Pl%Nl(Erespect-lib-shared/src/commonMain/composeResources/values/strings.xmlh4JNIh4JNI 2x3zȾCQȚz7$\}/Crespect-lib-shared/src/commonMain/kotlin/world/respect/Constants.kth4JNIh4JNI 2yFjL)-5؂hBrespect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kth4JNIh4JNI 2zf뚰 c0N!t FBrespect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kth;Fh;F 2qq.מq\C[b#hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kthe @he @ `Gb0 FΟdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/OneRosterPrimaryKeyGenerator.kth4Dh4D cmq!Oab~v kycrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kth;Fh;F bCB2huz˧|\respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kthÅ Y hÅ Y 2Z)pq*Ƅ^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kth;Fh;F bu̯`6~r1grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountAndPerson.kthe vhe v 2!@H5k 4CߧNv erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kthe vhe v q*q\dS ˛smrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kthÅ Y hÅ Y aJȥd &oE)6lcrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kthe vhe v >hl ?QlOf Frespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/createinviteredeemrequest/RespectRedeemInviteRequestUseCase.kth4Dh4D ySl<6OOrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithUsernameAndPasswordUseCase.kth;Fh;F tz90x/8|ڹrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithUsernameAndPasswordUseCaseClient.kth4Yh4Y 2ؿg_j{respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kth4Yh4Y 2%@g"e'Ĉ^krespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kth %h % ?θyLHQNQdqrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kthe vhe v q;(Bh`qhz&v6 ujrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kthe vhe v q#a?ۏPZ)w[i-^prespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kthe vhe v 2⛲CK)wZSwrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kthÅ Y hÅ Y y٨$GZ(%oԿ-nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/SetPasswordUseCase.kth:ģh:ģ \9߄, 鈓D,}auܠgrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kth:ģh:ģ \:2r*)!7cWpF;drespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupUseCase.kthÅ Y hÅ Y ypDŵ)ޱZ1.yrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kthe vhe v c|%:2{[&'LQkrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kth4Yh4Y 28QMr>xN?erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kth;Fh;F 2hc^=d`.19탡tbrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kth4Yh4Y 2 rb0´brespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kth4Yh4Y 2u)F53K{frespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kth4Yh4Y 26~2W`35Vdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kthÅ Y hÅ Y NH[e[Wgrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kthÅ Y hÅ Y P065p!lrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kthÅ Y hÅ Y Q Y;=+,BNl*/trespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kthÅ Y hÅ Y RĴ2Zkrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kthÅ Y hÅ Y S>OELLD~zorespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kthÅ Y hÅ Y Tib~.#n=+na:mrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kthÅ Y hÅ Y U"=r}Nh6grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kthÅ Y hÅ Y Wz!sQ+Tg mqrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kthÅ Y hÅ Y Y rތ[Iݙ:7Fcrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kthÅ hMFhÅ hMF ak]-/,TTrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kthÅ hMFhÅ hMF a= ʈ@nVaڥ[jUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kthÅ hMFhÅ hMF alvٕǟdA-ƆXtLrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kthe vhe v %,Qw~ΟU:#?),ٜUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kthÅ hMFhÅ hMF 2cx0$TVrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kthv~hv~ cB'$0K{ULF7a?Urespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kthv~hv~ cdpl$ }PMA]respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kthv~hv~ c2v3h/<+arespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kth' 5-:h' 5-: 2mdPJ'́7p}>grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kth4hh4h 2np@ }bQrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kth4hh4h 2#{-CMd 4˝@%SXrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kthe Myhe My `<U>8BRtWrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kthe Myhe My =WgRAU v;6Trespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kth' 5-:h' 5-: d6)j2aQAEUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kthe Myhe My `M^ν3W8GvA<Urespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kthe Myhe My `]respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kth;# h;# tnbZl49[:MC^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kthÅ hMFhÅ hMF tY"\"”gX4p]]>[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kthv~hv~ yYg7)/qQ6MSrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kthv~hv~ yL!M5W#$}@P]n[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kthÅ hMFhÅ hMF 2U`CM!uL}\[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kth' 5-:h' 5-: HG+/em؟NQsrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kthe Myhe My 2q=[&?dPxA\O~Znrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kth4hh4h 2-PJ[k|U{aց+grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kth4hh4h 2_[u: ْYqXdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kth4hh4h 2INjЛj CAkrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kth4hh4h 2k\\܋rA fTdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kth' 5-:h' 5-: 2 4(q}2>Hrɒhrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kth;# h;# U'j`l6xrzY*zrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kthe Myhe My oFI(q Bc^1vrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kthe øThe øT cqǷL6kJ\Vvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kthe øThe øT 2k,BW- #pxrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/confirmation/ConfirmationViewModel.kthe øThe øT uC|RGa˿\"l\respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kthe øThe øT mY1T=Kк2^WPtrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kth' 5-:h' 5-: ~ ٹwU)?}respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kthe øThe øT & fq;Y1uTўIrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/joinclazzwithcode/JoinClazzWithCodeViewModel.kthe øThe øT yrݖU4!jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kthVwYhVwY ( 79$bTߛutwrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kthe øThe øT t}lDD*\^ CF"respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kth4xh4x 27zv5 ^j%#irespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/ProfileType.kth 㿽h 㿽 m3ܒADhZ1Hmrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kthe øThe øT (cxn$VUsrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kthe øThe øT ,k{<respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kthVwYhVwY 22=xB jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kth;# h;# b HE>5bH ׏Dnrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kthe øThe øT a4=5+pIY Eo6Gjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kthÅ hMFhÅ hMF a BXL?jЀЌ"u_~jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kth' Doth' Dot 2M GQ7&g"arespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kthÅ hMFhÅ hMF aȩ/4ˠUf#nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kthÅ hMFhÅ hMF a8"GZ cA]a8x|jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kthÅ hMFhÅ hMF a!AK*)m}<_ajvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kthÅ whÅ w a$ Sc9!ᨼp'6zrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kthÅ whÅ w a&7,Nöu/ Wurespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kthÅ whÅ w a( ,)Sa2|Dcvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kthÅ whÅ w a*.S:v#즻jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kthÅ whÅ w a+  2V!rrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kth4xh4x 2ã &h#RÍ`vzrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kth4xh4x 2 }GS]Erespect-lib-shared/src/commonMain/resources/about-credits-common.htmlhe )he ) A,}ygp/83pJrespect-lib-shared/src/commonMain/resources/directories/default.propertiesh4xh4x 2ګlLc :d)9@respect-lib-shared/src/commonTest/resources/invalid-catalog.jsonh4xh4x 2BvhPǕe)d{w~=respect-lib-shared/src/commonTest/resources/opds-io-home.jsonh4xh4x 2@ߓˉ](iv#T@=Arespect-lib-shared/src/commonTest/resources/respect-manifest.jsonh4xh4x 2`1rd9"Q5?respect-lib-shared/src/commonTest/resources/sample-catalog.jsonh4xh4x 2ȸ-vn\uʥb \|fˎhrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidationMessageExt.kth4W7h4W7 3AIc?mu}respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/respectappmanifest/validator/RespectAppManifestValidator.kth4W7h4W7 3 Pe pLHa\!g brespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/validator/DiscardOutputStream.kth4W7h4W7 3 2n.1Sճ^respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/validator/HttpResponseExt.kth4W7h4W7 3 $} hfv/ Vprespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/validator/ValidateHttpResponseForUrlUseCase.kthb ܳhb ܳ cs;mהG5n!R?ϝPrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/util/StringExt.jvm.kth4W7h4W7 3XQ3{ FwTi7Nz[respect-lib-shared/src/jvmMain/resources/world/respect/domain/validator/README-licenses.txth4rh4r 3~7% rfnZUUrespect-lib-shared/src/jvmMain/resources/world/respect/domain/validator/licenses.jsonh4rh4r 3khaHɵs+{*4kLrespect-lib-shared/src/jvmTest/kotlin/world/respect/OpdsSerializationTest.kthe he g?:(p)ا]s:hrespect-lib-shared/src/jvmTest/kotlin/world/respect/domain/account/invite/RedeemInviteIntegrationTest.kth4rh4r 3<`~QBv!u.JZrespect-lib-shared/src/jvmTest/kotlin/world/respect/domain/validator/HttpLinkHeaderTest.kth4rh4r 3Nؔx^>eZ9)_respect-lib-shared/src/jvmTest/kotlin/world/respect/domain/validator/TestValidationScenarios.kthe he g.aγQ"Ge)g#lrespect-lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/account/AuthWithPasswordIntegrationTest.kthÅ whÅ w _8=zx0'6Y-^_respect-lib-shared/src/jvmTest/kotlin/world/respect/shared/util/di/RespectAccountScopeIdTest.kthÅ whÅ w `sz9VF(L\erespect-lib-shared/src/jvmTest/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeIdTest.kth4rh4r 3ГζviWI<ƥiDx@Ag4Crespect-server/src/main/kotlin/world/respect/server/AppConfigExt.kthe he gɈ׊u9yz%Brespect-server/src/main/kotlin/world/respect/server/Application.kthe he gR~f\A C%Grespect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kth4eGh4eG mx&jt]:Drespect-server/src/main/kotlin/world/respect/server/ServerAppMain.kthe he g! 6;$h'}Grespect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kthe he g QL6ӢT6ܑ_`respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kthe he gH΋]#xYrespect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kthe he gvkh%cPo怉Rjrespect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kthÅ ѻhÅ ѻ t/ + (ۜ-MGrespect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kthe la&5eYrespect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kthe fwۓwrapper2 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-server25 1 ޟZbЏ:fȠVsrc22 1 ׵"{'vYe|Jmain22 2 qi@Sp;7@㲸kekotlin19 1 h\&%֝cMGv&world19 1 kuDAaٚvNerespect19 1 r677ׇEN-ak5nserver19 4 ]vsPFjl.Jutil4 1 C8X=Hh@ext4 0 '|ZgC\W"|domain2 1 7N`V .lKschool2 1 T,B<~UR~add2 0 : w Qt%Ԏqroutes7 1 ^ 0( 'Ppischool4 1 (tUd#P respect4 0 .8f CC:u]account1 1 n.47vU#invite1 0 ) dDr_Cresources3 1 7vrespect2 1 W]Z\D"afclibutil2 1 O^a4>*%]3Xp;util2 1 ΰM1"3H?Rtime1 0 mY B;FUrespect-datalayer128 1 Ԉɘe>@Esrc125 2 N'wcj$commonMain124 1 D}l U5$kotlin124 1 5!حV`!world124 1 zw0֡'u3gSrespect124 1 n+Lkq{r P [GIdatalayer124 9 gwQ;DhQJext6 0 S2,q踵Aopds19 1 ƒ܁;499Pmodel17 0 UVtGcF2\d*2school32 3 # AQomodel19 2 -ȓG,areport6 0 ÷ K1tqHXd Yscomposites1 0 r2J-B>Far]uadapters1 0 ['"hô|xy}writequeue3 0 o#Yv>ޡes >ushared21 3 mj?k9#vf}paging7 0 E|:@?'/kc6uparams1 0 W9̕.3Jserialization7 0 oMVVB1'respect6 1 {P|_SvO#&~q7model5 1 5RZ8 }"nainvite2 0 $wem) @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 ea.1wq6vkotlin7 1 @R|fi2com7 1 h ᢜ߇Xrustadmobile7 1 kzR7X*޳:libcache7 4 H$tMVuD}md52 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-shared221 1 J?ڟǫ o src220 5 Awk}Ȗ@KHjvmMain20 2 pƝ{!<#kotlin18 1 j$֪ލ❄ˠ=world18 1 w;wC#oV"_`֨.t7respect18 1 oJVGmshared17 3 v(fGIFjjdi1 0 G E +[^ futil1 0 ?5.q;MA3domain15 5 Q)>˶5PTopds6 1 'M$0y{Xvalidator6 0 "=l:;rAUaccount4 4 ={v9U$invite1 0 Mz)ȲA3setpassword1 0 |gED5L~5XS 6validateauth1 0 `D$#?BWaauthwithpassword1 0 at3ݚF%|ۈ@ۼ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[1RjvmTest45 2 h%3ٻX,.\R3ۓkotlin9 1 Za2o,.(Cs` k world9 1 Ei-I1@lt?+ƿrespect9 3  ڧ domain3 2 Ű0ZY\zomwVEd*laccount1 1 }>DY u ѣ*s'invite1 0 ;7ώ 7qvalidator2 0 P{ﱡ!~JhAshared3 2 nڢ)?outil2 1 Cn qq5di2 0 +<}uf2n RKwZdomain1 1 WY a9k "account1 0 *GOQMMtestutil2 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ԬdcommonMain138 3 K;&}\L+7kotlin134 1 VSMu*\G{$world134 1 MK6L꽈 Mrespect134 1 ;q7K捡'ϱshared131 7 ?e7 ӓrext3 0 ‰!ȏ{WW:Sutil17 3 5”p.=>Z6di3 0 Ө]T ~ext6 0 q&΋e+Yexception1 0 b:Pu:.MTdomain52 11 ]SI 2``opds1 1 s9Jh:Nvalidator1 0 3/h"鋵j< report12 4 ؇mRr{j|ext1 0 Stֆ>,u6imodel1 0 !*]"^query4 0 :醼èfפyZ8Zaformatter6 0 fu~h\t1 Asschool3 0 Sq/Pӱ[?nwaccount20 6 rAUj8 2}7q*invite6 0 e84$w,wwGmodel2 0 /T@c}%0vpihclipboard1 0 ^>d>Ըj :@Alaunchapp1 0 D,bLiQM!nvalidator6 0 aAܺq7 getfavicons1 0 px؉h|I'respectappmanifest1 1 XukUրkA%@model1 0 04}0qU|V Zdirectory1 0 Ńh_!ig resources1 0 D 2pviewmodel51 10 qzB;napp11 1 XTy|\Q~qMappstate11 0 6~pAx~d^-capps4 4 mvV}2 L`!4alist1 0 ]ܭ\ >~I6aV^detail1 0 r9d>6@glauncher1 0 p^c؊yCٵenterlink1 0 gkZoAclazz4 4 |q1'lCFt찚^edit1 0 MNY&b idlist1 0 ٔQ6ݠ]ެSIMdetail1 0 WYy9Ehfmaddperson1 0 e="ID$HWprofile2 0 QНAtTPcHgetstarted1 0 ] .:I2list1 0 > Xٷacknowledgement1 0 x8- ԋn&bEV@navigation6 0 SV$)vjb?l resources2 1 *J]38F.Ѯdirectories1 0 ~67\x~uVt9composeResources2 2 н)XyF` DHvalues1 0 R̵cHdqK|Odrawable1 0 _{ #vsn?commonTest7 1 a6D(B" resources7 0 EˍN\C'ܭ.clipboard1 0  }Hc(launchapp1 0 5_D9wU`< ;resources1 1 =Xv 0HJl\directories1 0 ~67\x~uVt9respect-lib-xxhash7 1 N-rsYhKsrc6 1 }cAѵdgIy JcommonMain6 1 AB? a![c1kotlin6 1 %>z~ 4I7Dworld6 1 \.PpoHrespect6 1 ϓٙ+7Ced"Ȭlibxxhash6 1 ŃD Ҿ*ext2 0 o5{4ܭ^view38 8 HŁFapps4 4 S߈a۞ ܁$wlist1 0 R~Õƺ~@@detail1 0 ܕoE( tlauncher1 0 C+KQ  ݶ 6denterlink1 0 ";IZO*xoaG8clazz4 4 ~~&U:27Y.zedit1 0 SHv~4%list1 0 9<ਘw*~Odetail1 0 XK7ebt8[^addperson1 0 Ntjb zl&]person3 3 NsyVD:$mcedit1 0 % \iym6list1 0 #xfB(S٧ 'Jpdetail1 0 %_m:1report9 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[:manageuser14 13 oaSҳu̒N~7I,login1 0  G.@@$signup1 0 tJa&bvU3getstarted1 0 arpbTU6>accountlist2 0 !5B[M,j1F' հlotheroption1 0 >ִ2 2+confirmation1 0 "~?-;𞽆FDcreateaccount1 0 ˱wy{ztBhowpasskeywork1 0 i7~c}^Ǫfjoinclazzwithcode1 0 `3+*]?O}Jotheroptionsignup1 0 u)jYN8~3termsandcondition1 0 $UV V+*+Bwaitingforapproval1 0 d U!1퇬enterpasswordsignup1 0 }3`@&Qc!"!assignments1 0 ?uYaMlearningunit2 2 x:V@xuaFlist1 0 Q3ȝExs2 FG{detail1 0 V?燞LtJFacknowledgement1 0 {canB=effects1 0 z)BrZviewmodel1 0 !߻(3wcomponents15 1 f{֞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$Aw9okotlin14 1 PxM[x+nX9world14 1 i%^zyQK-respect14 4 Y\ijsi]Ӿapp3 2 bPԭ+[>capp1 0 eV tn{§components2 1 FI;_#oewebview1 0 `GOD \#"Zimages1 0  t;cQF0rs>callback1 0 -Ʌ KE\ʌ2ecredentials22 1 X%WdCLQs?tOpasskey22 3 {Ne]util2 0 LE=<4s$o;Imodel12 0 jG:JHh%w*request4 0 7|SpڎH5Tv>n|respect-datalayer-db104 2 Y(1~gYsrc98 2 Q̯Q,G 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(commonMain96 1 :CQ;<:Ȱkotlin96 1 K{^L@world96 1 ǧE`0-respect96 1 8YvMoqNf^|datalayer96 1 3xc Wmh db96 6 ߻m dXopds24 3 zXN/4bbQdaos6 0 ?72HC4Fadapters7 0 Fde.W9*Jentities8 0 1]2Zschool34 4 B΁5guyUj"ijPdaos10 0 9_q badapters6 0 8Fz(D@lr~entities11 0 8BG>_=0=jwritequeue1 0 ƃ" WYG`xshared12 4 ~ҎzYU#b1ext3 0 Xey;#ytdaos1 0 ZP9tZQeyJJadapters3 0 hXBEmI!35oentities3 0 GԍUB[rUo"Hscompatibleapps6 3 vHY =|lmedaos2 0 X8 nHlqcW?"adapters1 0 #]>Lzumentities2 0 XdX j5䤴xschooldirectory12 4 D'mj 51:%qAMݠVext1 0 %ok' %daos4 0 zX[tN]Rq]uadapters1 0 /XaĮ m}iq]entities4 0 dl{'jFs"networkvalidation3 2 `.Z9[񷏉daos1 0 ,hK ]V[w2[&entities1 0 %Lu"gT9#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-end11 2 ƺ KQ j8Q{Wandroid-maestro8 1 WB4?]common2 0 Hx`] Yv# Ktest-description2 0 6qmaudrespect-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-repository25 1 sf|"+#src23 3 F4oQ!-]jvmTest6 2 g&pwF.kIkotlin3 1 ̡$,܈&:Dworld3 1 ZFOT2R|$@respect3 1 5-5()Gdatalayer3 1 V6qG9еSbg60repository3 2 yᕰdmkj@ͼ opds1 0 w+ح*w~Nj}`Rschool1 0 u!)ALkotlin2 1 29|pN0/9world2 1 90o h܏?ӜgVXrespect2 1 ^'A9k8!datalayer2 1 72ה=ڦvWrepository2 1 J+> 8L=z ӂ@Ҕschool2 1 i\A H]٭򰾈zngwritequeue2 0 =o{\X!k_qFzjc