:java.io Serializableȭ:java/lang/Object java.lang AutoCloseablel?茋java/lang/Object java.lang Exception@  java/lang/Throwable java.langObjects6 java.lang ThrowableSOjava/lang/Objectjava/io/Serializable8world.respect.shared.domain.account.authenticatepassword$AuthenticatePasswordUseCase.Response}@9-8world.respect.shared.domain.account.authenticatepassword$AuthenticatePasswordUseCase.Response,          20B0J 0HJ 020HJ 0 2 0HJ  0HJ 0HR0  _Lworld/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase$Response;authenticatedPerson-Lworld/respect/datalayer/school/model/Person;<init>0(Lworld/respect/datalayer/school/model/Person;)VgetAuthenticatedPerson/()Lworld/respect/datalayer/school/model/Person; component1copyequalsotherhashCodetoString"org.openeel.app:respect-lib-shared5Landroidx/compose/runtime/internal/StabilityInferred; parametersr[java/lang/Object8world.respect.shared.domain.account.authenticatepasswordAuthenticatePasswordUseCaseV,c8world.respect.shared.domain.account.authenticatepasswordAuthenticatePasswordUseCaseC     f20:J020HB VLworld/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase;invoke_Lworld/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase$Response; credential=Lworld/respect/credentials/passkey/RespectPasswordCredential;q(Lworld/respect/credentials/passkey/RespectPasswordCredential;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;Response"org.openeel.app:respect-lib-shared9Wjava/lang/Object8world.respect.shared.domain.account.authenticatepassword#AuthenticateQrBadgeUseCase.Response;ʰ8world.respect.shared.domain.account.authenticatepassword#AuthenticateQrBadgeUseCase.Response,          20B0J 0HJ 020HJ 0 2 0HJ  0HJ 0HR0  ^Lworld/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase$Response;authenticatedPerson-Lworld/respect/datalayer/school/model/Person;<init>0(Lworld/respect/datalayer/school/model/Person;)VgetAuthenticatedPerson/()Lworld/respect/datalayer/school/model/Person; component1copyequalsotherhashCodetoString"org.openeel.app:respect-lib-shared5Landroidx/compose/runtime/internal/StabilityInferred; parameterscYjava/lang/Object8world.respect.shared.domain.account.authenticatepasswordAuthenticateQrBadgeUseCase/z+E8world.respect.shared.domain.account.authenticatepasswordAuthenticateQrBadgeUseCaseC     f20:J020HB ULworld/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase;invoke^Lworld/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase$Response; credential<Lworld/respect/credentials/passkey/RespectQRBadgeCredential;p(Lworld/respect/credentials/passkey/RespectQRBadgeCredential;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;Response"org.openeel.app:respect-lib-shared>4 ܂6java/lang/Object3world.respect.shared.domain.account.gettokenanduser5GetTokenAndUserProfileWithCredentialUseCase.Companionmy3world.respect.shared.domain.account.gettokenanduser5GetTokenAndUserProfileWithCredentialUseCase.CompanionM     20B R0XT R0XT kLworld/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase$Companion;<init>()V LOGTAG_AUTHPARAM_NAME_USERNAME"org.openeel.app:respect-lib-shared [A LOGTAG_AUTH "PARAM_NAME_USERNAME)+5:java/lang/Object LOGTAG_AUTHPARAM_NAME_USERNAME3world.respect.shared.domain.account.gettokenanduser+GetTokenAndUserProfileWithCredentialUseCase ,`3world.respect.shared.domain.account.gettokenanduser+GetTokenAndUserProfileWithCredentialUseCaseW      f 20: J"0202 0HB  aLworld/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase;invoke2Lworld/respect/shared/domain/account/AuthResponse; credential5Lworld/respect/credentials/passkey/RespectCredential; deviceInfo1Lworld/respect/datalayer/school/model/DeviceInfo;(Lworld/respect/credentials/passkey/RespectCredential;Lworld/respect/datalayer/school/model/DeviceInfo;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; Companion"org.openeel.app:respect-lib-shared(fJ6#˟ LOGTAG_AUTH "PARAM_NAME_USERNAME)+5:java/lang/Object Companion/world.respect.shared.domain.account.setpassword&EncryptPersonPasswordUseCase.Companion^ڟm$=/world.respect.shared.domain.account.setpassword&EncryptPersonPasswordUseCase.Companion;     20B R0XT XLworld/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase$Companion;<init>()VDEFAULT_SALT_LEN"org.openeel.app:respect-lib-shared*$DEFAULT_SALT_LENxC3TF"java/lang/ObjectDEFAULT_SALT_LEN/world.respect.shared.domain.account.setpassword$EncryptPersonPasswordUseCase.Requestf:/world.respect.shared.domain.account.setpassword$EncryptPersonPasswordUseCase.Request(          20B!000J  0HJ  0HJ 0HJ'0202020HJ020HJ 0HJ 0HR0  R0   R0    VLworld/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase$Request; personGuidpasswordsalt<init>9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V getPersonGuid()Ljava/lang/String; getPasswordgetSalt component1 component2 component3copyequalsotherhashCodetoString"org.openeel.app:respect-lib-shared5Landroidx/compose/runtime/internal/StabilityInferred; parameters)T#pjava/lang/Object/world.respect.shared.domain.account.setpasswordEncryptPersonPasswordUseCase.ŧY/world.respect.shared.domain.account.setpasswordEncryptPersonPasswordUseCaseA     f 20:J020H NLworld/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase;invoke5Lworld/respect/datalayer/school/model/PersonPassword;requestVLworld/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase$Request;Request Companion"org.openeel.app:respect-lib-sharedMӇqDEFAULT_SALT_LENxC3TF"java/lang/Object Companionworld.respect.datalayer.dbRespectSchoolDatabase9wŇworld.respect.datalayer.dbRespectSchoolDatabaseF                                                                                    ' L20:LBJ0H&J0H&J0 H&J 0 H&J 0 H&J0H&J0H&J0H&J0H&J0H&J0H&J0H&J0H&J0H&J 0!H&J"0#H&J$0%H&J&0'H&J(0)H&J*0+H&J,0-H&J.0/H&J001H&J203H&J405H&J607H&J809H&J:0;H&J<0=H&J>0?H&J@0AH&JB0CH&JD0EH&JF0GH&JH0IH&JJ0KH&NO J 0PJ 0QJ 0RJ 0SJ 0TJ 0UJ 0VJ 0WJ 0XJ 0YJ 0ZJ 0[J 0\J 0]J 0^J 0_J 0`J 0aJ 0bJ 0cJ 0dJ 0eJ 0fJ 0gJ 0hJ 0iJ 0jJ 0kJ 0lJ 0mJ 0nJ 0oJ 0pJ 0qJ 0rJ 0sJ 0tuvw J 0xJ 0yJ 0z {w 0|M}2Lworld/respect/datalayer/db/RespectSchoolDatabase;Landroidx/room/RoomDatabase;<init>()VgetSchoolAppEntityDao;Lworld/respect/datalayer/db/school/daos/SchoolAppEntityDao;getPersonEntityDao8Lworld/respect/datalayer/db/school/daos/PersonEntityDao;getPersonPasswordEntityDao@Lworld/respect/datalayer/db/school/daos/PersonPasswordEntityDao;getPersonQrBadgeEntityDao?Lworld/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao;getPersonPasskeyEntityDaoDLworld/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao;getAuthTokenEntityDao;Lworld/respect/datalayer/db/school/daos/AuthTokenEntityDao;getPersonRoleEntityDao<Lworld/respect/datalayer/db/school/daos/PersonRoleEntityDao;getPersonRelatedPersonEntityDaoELworld/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao;getReportEntityDao8Lworld/respect/datalayer/db/school/daos/ReportEntityDao;getIndicatorEntityDao;Lworld/respect/datalayer/db/school/daos/IndicatorEntityDao;getClassEntityDao7Lworld/respect/datalayer/db/school/daos/ClassEntityDao;getClassPermissionEntityDaoALworld/respect/datalayer/db/school/daos/ClassPermissionEntityDao;getEnrollmentEntityDao<Lworld/respect/datalayer/db/school/daos/EnrollmentEntityDao;getWriteQueueItemEntityDao@Lworld/respect/datalayer/db/school/daos/WriteQueueItemEntityDao;getInviteEntityDao8Lworld/respect/datalayer/db/school/daos/InviteEntityDao;getSchoolPermissionGrantDaoALworld/respect/datalayer/db/school/daos/SchoolPermissionGrantDao;getPullSyncStatusEntityDao@Lworld/respect/datalayer/db/school/daos/PullSyncStatusEntityDao;getLangMapEntityDao9Lworld/respect/datalayer/db/shared/daos/LangMapEntityDao;getOpdsFeedEntityDao?Lworld/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao;getOpdsPublicationEntityDaoFLworld/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao;getOpdsFeedMetadataEntityDaoGLworld/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao;getReadiumLinkEntityDaoBLworld/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao;getReadiumSubjectEntityDaoELworld/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao;getOpdsGroupEntityDao@Lworld/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao;getActivityEntityDaoCLworld/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao;getActivityExtensionDaoFLworld/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao;getActivityInteractionDaoHLworld/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao;getActivityLangMapEntryDao>Lcom/ustadmobile/core/db/dao/xapi/XapiActivityLangMapEntryDao;"getStatementContextActivityJoinDaoQLworld/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao;getStatementDaoDLworld/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao;getStatementEntityJsonDaoHLworld/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao; getActorDao:Lworld/respect/datalayer/db/school/xapi/daos/XapiActorDao;getGroupMemberActorJoinDaoILworld/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao; getVerbDao9Lworld/respect/datalayer/db/school/xapi/daos/XapiVerbDao;getVerbLangMapEntryDaoELworld/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao;getXapiSessionEntityDaoBLworld/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao; Companion$org.openeel.app:respect-datalayer-dbLandroidx/room/Database;entities<Lworld/respect/datalayer/db/school/entities/SchoolAppEntity;9Lworld/respect/datalayer/db/school/entities/PersonEntity;=Lworld/respect/datalayer/db/school/entities/PersonRoleEntity;FLworld/respect/datalayer/db/school/entities/PersonRelatedPersonEntity;ALworld/respect/datalayer/db/school/entities/PersonPasswordEntity;@Lworld/respect/datalayer/db/school/entities/PersonPasskeyEntity;<Lworld/respect/datalayer/db/school/entities/AuthTokenEntity;9Lworld/respect/datalayer/db/school/entities/ReportEntity;;Lworld/respect/datalayer/db/realm/entities/IndicatorEntity;8Lworld/respect/datalayer/db/school/entities/ClassEntity;BLworld/respect/datalayer/db/school/entities/ClassPermissionEntity;=Lworld/respect/datalayer/db/school/entities/EnrollmentEntity;ALworld/respect/datalayer/db/school/entities/WriteQueueItemEntity;HLworld/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity;ALworld/respect/datalayer/db/school/entities/PullSyncStatusEntity;@Lworld/respect/datalayer/db/school/entities/PersonQrBadgeEntity;9Lworld/respect/datalayer/db/school/entities/InviteEntity;:Lworld/respect/datalayer/db/shared/entities/LangMapEntity;CLworld/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity;GLworld/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity;FLworld/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity;ALworld/respect/datalayer/db/school/opds/entities/OpdsFacetEntity;ALworld/respect/datalayer/db/school/opds/entities/OpdsGroupEntity;@Lworld/respect/datalayer/db/school/opds/entities/OpdsFeedEntity;HLworld/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity;DLworld/respect/datalayer/db/school/xapi/entities/XapiActivityEntity;MLworld/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity;OLworld/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity;JLworld/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry;ALworld/respect/datalayer/db/school/xapi/entities/XapiActorEntity;JLworld/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin;RLworld/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin;ELworld/respect/datalayer/db/school/xapi/entities/XapiStatementEntity;ILworld/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson;@Lworld/respect/datalayer/db/school/xapi/entities/XapiVerbEntity;FLworld/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry;CLworld/respect/datalayer/db/school/xapi/entities/XapiSessionEntity;versionLandroidx/room/TypeConverters;value4Lworld/respect/datalayer/db/shared/SharedConverters;8Lworld/respect/datalayer/db/school/SchoolTypeConverters;;Lworld/respect/datalayer/db/school/opds/OpdsTypeConverters;Landroidx/room/ConstructedBy;=Lworld/respect/datalayer/db/RespectSchoolDatabaseConstructor;9nandroidx/room/RoomDatabase Companion*world.respect.datalayer.db.school.adaptersAuthTokenAdapterKt?k:LS*world.respect.datalayer.db.school.adaptersAuthTokenAdapterKte"       00*02020202 0   0*0 toEntity<Lworld/respect/datalayer/db/school/entities/AuthTokenEntity;0Lworld/respect/datalayer/school/model/AuthToken;pGuid pGuidHashcode deviceInfo1Lworld/respect/datalayer/school/model/DeviceInfo;toModel$org.openeel.app:respect-datalayer-dbtoEntitytoModel*world.respect.datalayer.db.school.adaptersClassAdapterKtsv *world.respect.datalayer.db.school.adaptersClassAdapterKtK       0*0 0*00*020 toClassEntities:Lworld/respect/datalayer/db/school/adapters/ClassEntities;GLworld/respect/datalayer/db/school/entities/ClassEntityWithPermissions;toModel,Lworld/respect/datalayer/school/model/Clazz; toEntitiesuidNumberMapper)Lworld/respect/datalayer/UidNumberMapper;$org.openeel.app:respect-datalayer-dbtoClassEntitiestoModel toEntities*world.respect.datalayer.db.school.adaptersEnrollmentAdapterKtj?*world.respect.datalayer.db.school.adaptersEnrollmentAdapterKt9      0*00*020toModel1Lworld/respect/datalayer/school/model/Enrollment;=Lworld/respect/datalayer/db/school/entities/EnrollmentEntity; toEntitiesuidNumberMapper)Lworld/respect/datalayer/UidNumberMapper;$org.openeel.app:respect-datalayer-dbtoModel toEntities*world.respect.datalayer.db.school.adaptersInviteAdapterKt 366*world.respect.datalayer.db.school.adaptersInviteAdapterKt9      0*00*020toModel.Lworld/respect/datalayer/school/model/Invite2;9Lworld/respect/datalayer/db/school/entities/InviteEntity;toEntityuidNumberMapper)Lworld/respect/datalayer/UidNumberMapper;$org.openeel.app:respect-datalayer-dbtoModeltoEntity*world.respect.datalayer.db.school.adaptersPersonAdapterKt6*world.respect.datalayer.db.school.adaptersPersonAdapterKtK       0*0 0*00*020 toPersonEntities;Lworld/respect/datalayer/db/school/adapters/PersonEntities;BLworld/respect/datalayer/db/school/entities/PersonEntityWithRoles;toModel-Lworld/respect/datalayer/school/model/Person; toEntitiesuidNumberMapper)Lworld/respect/datalayer/UidNumberMapper;$org.openeel.app:respect-datalayer-dbtoPersonEntitiestoModel toEntities*world.respect.datalayer.db.school.adaptersPersonEntities0}HM*world.respect.datalayer.db.school.adaptersPersonEntitiesH6            20B-000 00  J 0HJ00HJ00HJ3020200200HJ020HJ 0HJ 0HR0   R00  R00 ;Lworld/respect/datalayer/db/school/adapters/PersonEntities; personEntity9Lworld/respect/datalayer/db/school/entities/PersonEntity;personRoleEntities=Lworld/respect/datalayer/db/school/entities/PersonRoleEntity;relatedPersonEntitiesFLworld/respect/datalayer/db/school/entities/PersonRelatedPersonEntity;<init>\(Lworld/respect/datalayer/db/school/entities/PersonEntity;Ljava/util/List;Ljava/util/List;)VgetPersonEntity;()Lworld/respect/datalayer/db/school/entities/PersonEntity;getPersonRoleEntities()Ljava/util/List;getRelatedPersonEntities component1 component2 component3copyequalsotherhashCodetoString$org.openeel.app:respect-datalayer-dbcu&java/lang/Object*world.respect.datalayer.db.school.adaptersPullSyncStatusAdapterKtsߋ{;J*world.respect.datalayer.db.school.adaptersPullSyncStatusAdapterKt9    0*020 0*0toEntityALworld/respect/datalayer/db/school/entities/PullSyncStatusEntity;5Lworld/respect/datalayer/school/model/PullSyncStatus;uidNumberMapper)Lworld/respect/datalayer/UidNumberMapper;toModel$org.openeel.app:respect-datalayer-dbtoEntitytoModel*world.respect.datalayer.db.school.adaptersSchoolAppAdapterKtj*world.respect.datalayer.db.school.adaptersSchoolAppAdapterKt9      0*00*020toModel0Lworld/respect/datalayer/school/model/SchoolApp;<Lworld/respect/datalayer/db/school/entities/SchoolAppEntity;toEntityuidNumberMapper)Lworld/respect/datalayer/UidNumberMapper;$org.openeel.app:respect-datalayer-dbtoModeltoEntity*world.respect.datalayer.db.school.adaptersSchoolPermissionGrantAdapterKt6?Ų*world.respect.datalayer.db.school.adaptersSchoolPermissionGrantAdapterKt9      0*00*020toModel<Lworld/respect/datalayer/school/model/SchoolPermissionGrant;HLworld/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity;toEntityuidNumberMapper)Lworld/respect/datalayer/UidNumberMapper;$org.openeel.app:respect-datalayer-dbtoModeltoEntity&world.respect.datalayer.db.school.daosPersonEntityDao=^&world.respect.datalayer.db.school.daosPersonEntityDaoz                            g K20:KJ$020H@b J& 0 2 0 H@b  ( J\020 20 2020 20 20 20 H@b  (J*020H@b!b  (" J*#02 0 H@b!b  ($ J*% 00&2 0 H'b!b  ('J"( 0*0)0&H'b  (+J, 00)0&20 2-0 2 0 2.0 2/0200 2 10220 23024025062706H'b!b  (8J900)20 2-0 2 0 2.0 2/0200 2 10220 23024025062706H@b  (;:J4<00)2 =0 0)H@b!b  (?>J@000A20 2-0 2 0 2.0 200 2/02 10220 23024025062706H'b!b  (;JB00*0A20 2-0 2 0 2.0 2/0200 2 10220 23024025062706H'b  (CJ*D00)2E0H@b  (F J$G0 20 H@b  (H J$I0620H@b  (J MLN8Lworld/respect/datalayer/db/school/daos/PersonEntityDao;insert personEntity9Lworld/respect/datalayer/db/school/entities/PersonEntity;m(Lworld/respect/datalayer/db/school/entities/PersonEntity;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;Landroidx/room/Insert; onConflictgetLastModifiedByGuidguidHash5(JLkotlin/coroutines/Continuation;)Ljava/lang/Object;Landroidx/room/Query;value SELECT PersonEntity.pLastModified FROM PersonEntity WHERE PersonEntity.pGuidHash = :guidHash LIMIT 1 getLastModifiedAndHasPermissionFLworld/respect/datalayer/db/school/entities/LastModifiedAndPermission;authenticatedPersonUidNum personUidNum knownRoleFlagroleAdminPermissionRequiredroleTeacherPermissionRequiredroleStudentPermissionRequiredroleParentPermissionRequired;(JJIJJJJLkotlin/coroutines/Continuation;)Ljava/lang/Object; WITH AuthenticatedPermissionPersonUids(uidNum) AS ( SELECT :authenticatedPersonUidNum AS uidNum UNION SELECT PersonRelatedPersonEntity.prpOtherPersonUidNum AS uidNum FROM PersonRelatedPersonEntity WHERE 5 IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = :authenticatedPersonUidNum) AND PersonRelatedPersonEntity.prpPersonUidNum = :authenticatedPersonUidNum) , AuthenticatedPersonClassPermissions AS ( SELECT ClassPermissionEntity.* FROM ClassPermissionEntity WHERE (ClassPermissionEntity.cpeToEnrollmentRole, ClassPermissionEntity.cpeClassUidNum) IN (SELECT EnrollmentEntity.eRole, EnrollmentEntity.eClassUidNum FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids ) AND EnrollmentEntity.eStatus = 1) ) , RequiredPermission(flag) AS ( SELECT CASE( SELECT COALESCE( (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = :personUidNum LIMIT 1), :knownRoleFlag) ) WHEN 1 THEN :roleAdminPermissionRequired WHEN 3 THEN :roleAdminPermissionRequired WHEN 4 THEN :roleTeacherPermissionRequired WHEN 2 THEN :roleStudentPermissionRequired WHEN 5 THEN :roleParentPermissionRequired ELSE 9223372036854775807 END ) SELECT :personUidNum AS uidNum, (SELECT PersonEntity.pLastModified FROM PersonEntity WHERE PersonEntity.pGuidHash = :personUidNum) AS lastModified, ( :personUidNum IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids ) OR EXISTS( SELECT 1 FROM SchoolPermissionGrantEntity WHERE SchoolPermissionGrantEntity.spgToRole IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids )) AND (SchoolPermissionGrantEntity.spgPermissions & (SELECT flag FROM RequiredPermission)) > 0) OR EXISTS( SELECT 1 FROM AuthenticatedPersonClassPermissions WHERE AuthenticatedPersonClassPermissions.cpeClassUidNum IN (SELECT EnrollmentEntity.eClassUidNum FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum = :personUidNum) AND (AuthenticatedPersonClassPermissions.cpePermissions & (SELECT flag FROM RequiredPermission)) > 0) ) AS hasPermission findByUsernameBLworld/respect/datalayer/db/school/entities/PersonEntityWithRoles;usernameF(Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;Landroidx/room/Transaction;V SELECT * FROM PersonEntity WHERE pUsername = :username findByGuidNumU SELECT * FROM PersonEntity WHERE pGuidHash = :guidHash findByGuidHashAsFlowLkotlinx/coroutines/flow/Flow;V SELECT * FROM PersonEntity WHERE pGuidHash = :guidHash findAllListDetailsAsFlowCLworld/respect/datalayer/school/model/composites/PersonListDetails; SELECT PersonEntity.pGuid AS guid, PersonEntity.pGivenName AS givenName, PersonEntity.pFamilyName AS familyName, PersonEntity.pUsername AS username FROM PersonEntity listAsFlowsinceinClazzGuidHashinClazzRoleFlaginClassOnDayInUtcMs filterByNametimeNowfilterByPersonRolefilterByPersonStatusincludeRelatedincludeDeleted$ WITH AuthenticatedPermissionPersonUids(uidNum) AS ( SELECT :authenticatedPersonUidNum AS uidNum UNION SELECT PersonRelatedPersonEntity.prpOtherPersonUidNum AS uidNum FROM PersonRelatedPersonEntity WHERE 5 IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = :authenticatedPersonUidNum) AND PersonRelatedPersonEntity.prpPersonUidNum = :authenticatedPersonUidNum) , AuthenticatedPersonClassPermissions AS ( SELECT ClassPermissionEntity.* FROM ClassPermissionEntity WHERE (ClassPermissionEntity.cpeToEnrollmentRole, ClassPermissionEntity.cpeClassUidNum) IN (SELECT EnrollmentEntity.eRole, EnrollmentEntity.eClassUidNum FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids ) AND EnrollmentEntity.eStatus = 1) ) , Persons(uidNum) AS ( SELECT PersonEntity.pGuidHash FROM PersonEntity WHERE PersonEntity.pStored > :since AND (:guidHash = 0 OR PersonEntity.pGuidHash = :guidHash) AND (:inClazzGuidHash = 0 OR EXISTS( SELECT EnrollmentEntity.eUid FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum = PersonEntity.pGuidHash AND EnrollmentEntity.eClassUidNum = :inClazzGuidHash AND (:inClazzRoleFlag = 0 OR EnrollmentEntity.eRole = :inClazzRoleFlag) AND ((:includeDeleted OR :inClassOnDayInUtcMs = 0) OR ( (:inClassOnDayInUtcMs >= COALESCE(EnrollmentEntity.eBeginDate, 0)) AND ((:inClassOnDayInUtcMs - 86399999) < COALESCE(EnrollmentEntity.eEndDate, 9223372036854775807)) AND (:timeNow <= COALESCE(EnrollmentEntity.eRemovedAt, 9223372036854775807)) AND EnrollmentEntity.eStatus = 1 )) ) ) -- Begin permission NOTE check should add permissions granted to children for parent AND ( PersonEntity.pGuidHash = :authenticatedPersonUidNum OR PersonEntity.pGuidHash IN (SELECT PersonRelatedPersonEntity.prpOtherPersonUidNum FROM PersonRelatedPersonEntity WHERE PersonRelatedPersonEntity.prpPersonUidNum = :authenticatedPersonUidNum) OR EXISTS( SELECT 1 FROM SchoolPermissionGrantEntity WHERE SchoolPermissionGrantEntity.spgToRole IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids )) AND (SchoolPermissionGrantEntity.spgPermissions & ( CASE(SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash LIMIT 1) WHEN 1 THEN 256 WHEN 3 THEN 256 WHEN 4 THEN 64 WHEN 2 THEN 4 WHEN 5 THEN 16 ELSE 9223372036854775807 END )) > 0) OR EXISTS( SELECT 1 FROM AuthenticatedPersonClassPermissions WHERE AuthenticatedPersonClassPermissions.cpeClassUidNum IN (SELECT EnrollmentEntity.eClassUidNum FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum = PersonEntity.pGuidHash) AND (AuthenticatedPersonClassPermissions.cpePermissions & ( CASE(SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash LIMIT 1) WHEN 1 THEN 256 WHEN 3 THEN 256 WHEN 4 THEN 64 WHEN 2 THEN 4 WHEN 5 THEN 16 ELSE 9223372036854775807 END )) > 0) ) AND (:filterByName IS NULL OR (PersonEntity.pGivenName || ' ' || PersonEntity.pFamilyName) LIKE ('%' || :filterByName || '%')) AND (:filterByPersonRole = 0 OR :filterByPersonRole IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash)) AND (:filterByPersonStatus = 0 OR PersonEntity.pStatus = :filterByPersonStatus) AND (:includeDeleted OR PersonEntity.pStatus != 0) ), RelatedPersons(uidNum) AS ( SELECT PersonEntity.pGuidHash FROM PersonEntity WHERE :includeRelated AND PersonEntity.pGuidHash IN( SELECT DISTINCT PersonRelatedPersonEntity.prpOtherPersonUidNum FROM PersonRelatedPersonEntity WHERE PersonRelatedPersonEntity.prpPersonUidNum IN( SELECT Persons.uidNum FROM Persons) ) AND ( PersonEntity.pGuidHash = :authenticatedPersonUidNum OR PersonEntity.pGuidHash IN (SELECT PersonRelatedPersonEntity.prpOtherPersonUidNum FROM PersonRelatedPersonEntity WHERE PersonRelatedPersonEntity.prpPersonUidNum = :authenticatedPersonUidNum) OR EXISTS( SELECT 1 FROM SchoolPermissionGrantEntity WHERE SchoolPermissionGrantEntity.spgToRole IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids )) AND (SchoolPermissionGrantEntity.spgPermissions & ( CASE(SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash LIMIT 1) WHEN 1 THEN 256 WHEN 3 THEN 256 WHEN 4 THEN 64 WHEN 2 THEN 4 WHEN 5 THEN 16 ELSE 9223372036854775807 END )) > 0) OR EXISTS( SELECT 1 FROM AuthenticatedPersonClassPermissions WHERE AuthenticatedPersonClassPermissions.cpeClassUidNum IN (SELECT EnrollmentEntity.eClassUidNum FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum = PersonEntity.pGuidHash) AND (AuthenticatedPersonClassPermissions.cpePermissions & ( CASE(SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash LIMIT 1) WHEN 1 THEN 256 WHEN 3 THEN 256 WHEN 4 THEN 64 WHEN 2 THEN 4 WHEN 5 THEN 16 ELSE 9223372036854775807 END )) > 0) ) ), AllPersons(uidNum) AS ( SELECT uidNum FROM Persons UNION SELECT uidNum FROM RelatedPersons ) SELECT PersonEntity.* FROM PersonEntity WHERE PersonEntity.pGuidHash IN ( SELECT DISTINCT uidNum FROM AllPersons) ORDER BY PersonEntity.pGivenName listQ(JJJJIJLjava/lang/String;JIIZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;$ WITH AuthenticatedPermissionPersonUids(uidNum) AS ( SELECT :authenticatedPersonUidNum AS uidNum UNION SELECT PersonRelatedPersonEntity.prpOtherPersonUidNum AS uidNum FROM PersonRelatedPersonEntity WHERE 5 IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = :authenticatedPersonUidNum) AND PersonRelatedPersonEntity.prpPersonUidNum = :authenticatedPersonUidNum) , AuthenticatedPersonClassPermissions AS ( SELECT ClassPermissionEntity.* FROM ClassPermissionEntity WHERE (ClassPermissionEntity.cpeToEnrollmentRole, ClassPermissionEntity.cpeClassUidNum) IN (SELECT EnrollmentEntity.eRole, EnrollmentEntity.eClassUidNum FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids ) AND EnrollmentEntity.eStatus = 1) ) , Persons(uidNum) AS ( SELECT PersonEntity.pGuidHash FROM PersonEntity WHERE PersonEntity.pStored > :since AND (:guidHash = 0 OR PersonEntity.pGuidHash = :guidHash) AND (:inClazzGuidHash = 0 OR EXISTS( SELECT EnrollmentEntity.eUid FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum = PersonEntity.pGuidHash AND EnrollmentEntity.eClassUidNum = :inClazzGuidHash AND (:inClazzRoleFlag = 0 OR EnrollmentEntity.eRole = :inClazzRoleFlag) AND ((:includeDeleted OR :inClassOnDayInUtcMs = 0) OR ( (:inClassOnDayInUtcMs >= COALESCE(EnrollmentEntity.eBeginDate, 0)) AND ((:inClassOnDayInUtcMs - 86399999) < COALESCE(EnrollmentEntity.eEndDate, 9223372036854775807)) AND (:timeNow <= COALESCE(EnrollmentEntity.eRemovedAt, 9223372036854775807)) AND EnrollmentEntity.eStatus = 1 )) ) ) -- Begin permission NOTE check should add permissions granted to children for parent AND ( PersonEntity.pGuidHash = :authenticatedPersonUidNum OR PersonEntity.pGuidHash IN (SELECT PersonRelatedPersonEntity.prpOtherPersonUidNum FROM PersonRelatedPersonEntity WHERE PersonRelatedPersonEntity.prpPersonUidNum = :authenticatedPersonUidNum) OR EXISTS( SELECT 1 FROM SchoolPermissionGrantEntity WHERE SchoolPermissionGrantEntity.spgToRole IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids )) AND (SchoolPermissionGrantEntity.spgPermissions & ( CASE(SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash LIMIT 1) WHEN 1 THEN 256 WHEN 3 THEN 256 WHEN 4 THEN 64 WHEN 2 THEN 4 WHEN 5 THEN 16 ELSE 9223372036854775807 END )) > 0) OR EXISTS( SELECT 1 FROM AuthenticatedPersonClassPermissions WHERE AuthenticatedPersonClassPermissions.cpeClassUidNum IN (SELECT EnrollmentEntity.eClassUidNum FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum = PersonEntity.pGuidHash) AND (AuthenticatedPersonClassPermissions.cpePermissions & ( CASE(SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash LIMIT 1) WHEN 1 THEN 256 WHEN 3 THEN 256 WHEN 4 THEN 64 WHEN 2 THEN 4 WHEN 5 THEN 16 ELSE 9223372036854775807 END )) > 0) ) AND (:filterByName IS NULL OR (PersonEntity.pGivenName || ' ' || PersonEntity.pFamilyName) LIKE ('%' || :filterByName || '%')) AND (:filterByPersonRole = 0 OR :filterByPersonRole IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash)) AND (:filterByPersonStatus = 0 OR PersonEntity.pStatus = :filterByPersonStatus) AND (:includeDeleted OR PersonEntity.pStatus != 0) ), RelatedPersons(uidNum) AS ( SELECT PersonEntity.pGuidHash FROM PersonEntity WHERE :includeRelated AND PersonEntity.pGuidHash IN( SELECT DISTINCT PersonRelatedPersonEntity.prpOtherPersonUidNum FROM PersonRelatedPersonEntity WHERE PersonRelatedPersonEntity.prpPersonUidNum IN( SELECT Persons.uidNum FROM Persons) ) AND ( PersonEntity.pGuidHash = :authenticatedPersonUidNum OR PersonEntity.pGuidHash IN (SELECT PersonRelatedPersonEntity.prpOtherPersonUidNum FROM PersonRelatedPersonEntity WHERE PersonRelatedPersonEntity.prpPersonUidNum = :authenticatedPersonUidNum) OR EXISTS( SELECT 1 FROM SchoolPermissionGrantEntity WHERE SchoolPermissionGrantEntity.spgToRole IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids )) AND (SchoolPermissionGrantEntity.spgPermissions & ( CASE(SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash LIMIT 1) WHEN 1 THEN 256 WHEN 3 THEN 256 WHEN 4 THEN 64 WHEN 2 THEN 4 WHEN 5 THEN 16 ELSE 9223372036854775807 END )) > 0) OR EXISTS( SELECT 1 FROM AuthenticatedPersonClassPermissions WHERE AuthenticatedPersonClassPermissions.cpeClassUidNum IN (SELECT EnrollmentEntity.eClassUidNum FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum = PersonEntity.pGuidHash) AND (AuthenticatedPersonClassPermissions.cpePermissions & ( CASE(SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash LIMIT 1) WHEN 1 THEN 256 WHEN 3 THEN 256 WHEN 4 THEN 64 WHEN 2 THEN 4 WHEN 5 THEN 16 ELSE 9223372036854775807 END )) > 0) ) ), AllPersons(uidNum) AS ( SELECT uidNum FROM Persons UNION SELECT uidNum FROM RelatedPersons ) SELECT PersonEntity.* FROM PersonEntity WHERE PersonEntity.pGuidHash IN ( SELECT DISTINCT uidNum FROM AllPersons) ORDER BY PersonEntity.pGivenName findByUidListuidNumsD(Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;t SELECT PersonEntity.* FROM PersonEntity WHERE PersonEntity.pGuidHash IN (:uidNums) listAsPagingSourceLandroidx/paging/PagingSource; findAllListDetailsAsPagingSource& WITH AuthenticatedPermissionPersonUids(uidNum) AS ( SELECT :authenticatedPersonUidNum AS uidNum UNION SELECT PersonRelatedPersonEntity.prpOtherPersonUidNum AS uidNum FROM PersonRelatedPersonEntity WHERE 5 IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = :authenticatedPersonUidNum) AND PersonRelatedPersonEntity.prpPersonUidNum = :authenticatedPersonUidNum) , AuthenticatedPersonClassPermissions AS ( SELECT ClassPermissionEntity.* FROM ClassPermissionEntity WHERE (ClassPermissionEntity.cpeToEnrollmentRole, ClassPermissionEntity.cpeClassUidNum) IN (SELECT EnrollmentEntity.eRole, EnrollmentEntity.eClassUidNum FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids ) AND EnrollmentEntity.eStatus = 1) ) , Persons(uidNum) AS ( SELECT PersonEntity.pGuidHash FROM PersonEntity WHERE PersonEntity.pStored > :since AND (:guidHash = 0 OR PersonEntity.pGuidHash = :guidHash) AND (:inClazzGuidHash = 0 OR EXISTS( SELECT EnrollmentEntity.eUid FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum = PersonEntity.pGuidHash AND EnrollmentEntity.eClassUidNum = :inClazzGuidHash AND (:inClazzRoleFlag = 0 OR EnrollmentEntity.eRole = :inClazzRoleFlag) AND ((:includeDeleted OR :inClassOnDayInUtcMs = 0) OR ( (:inClassOnDayInUtcMs >= COALESCE(EnrollmentEntity.eBeginDate, 0)) AND ((:inClassOnDayInUtcMs - 86399999) < COALESCE(EnrollmentEntity.eEndDate, 9223372036854775807)) AND (:timeNow <= COALESCE(EnrollmentEntity.eRemovedAt, 9223372036854775807)) AND EnrollmentEntity.eStatus = 1 )) ) ) -- Begin permission NOTE check should add permissions granted to children for parent AND ( PersonEntity.pGuidHash = :authenticatedPersonUidNum OR PersonEntity.pGuidHash IN (SELECT PersonRelatedPersonEntity.prpOtherPersonUidNum FROM PersonRelatedPersonEntity WHERE PersonRelatedPersonEntity.prpPersonUidNum = :authenticatedPersonUidNum) OR EXISTS( SELECT 1 FROM SchoolPermissionGrantEntity WHERE SchoolPermissionGrantEntity.spgToRole IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids )) AND (SchoolPermissionGrantEntity.spgPermissions & ( CASE(SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash LIMIT 1) WHEN 1 THEN 256 WHEN 3 THEN 256 WHEN 4 THEN 64 WHEN 2 THEN 4 WHEN 5 THEN 16 ELSE 9223372036854775807 END )) > 0) OR EXISTS( SELECT 1 FROM AuthenticatedPersonClassPermissions WHERE AuthenticatedPersonClassPermissions.cpeClassUidNum IN (SELECT EnrollmentEntity.eClassUidNum FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum = PersonEntity.pGuidHash) AND (AuthenticatedPersonClassPermissions.cpePermissions & ( CASE(SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash LIMIT 1) WHEN 1 THEN 256 WHEN 3 THEN 256 WHEN 4 THEN 64 WHEN 2 THEN 4 WHEN 5 THEN 16 ELSE 9223372036854775807 END )) > 0) ) AND (:filterByName IS NULL OR (PersonEntity.pGivenName || ' ' || PersonEntity.pFamilyName) LIKE ('%' || :filterByName || '%')) AND (:filterByPersonRole = 0 OR :filterByPersonRole IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash)) AND (:filterByPersonStatus = 0 OR PersonEntity.pStatus = :filterByPersonStatus) AND (:includeDeleted OR PersonEntity.pStatus != 0) ), RelatedPersons(uidNum) AS ( SELECT PersonEntity.pGuidHash FROM PersonEntity WHERE :includeRelated AND PersonEntity.pGuidHash IN( SELECT DISTINCT PersonRelatedPersonEntity.prpOtherPersonUidNum FROM PersonRelatedPersonEntity WHERE PersonRelatedPersonEntity.prpPersonUidNum IN( SELECT Persons.uidNum FROM Persons) ) AND ( PersonEntity.pGuidHash = :authenticatedPersonUidNum OR PersonEntity.pGuidHash IN (SELECT PersonRelatedPersonEntity.prpOtherPersonUidNum FROM PersonRelatedPersonEntity WHERE PersonRelatedPersonEntity.prpPersonUidNum = :authenticatedPersonUidNum) OR EXISTS( SELECT 1 FROM SchoolPermissionGrantEntity WHERE SchoolPermissionGrantEntity.spgToRole IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids )) AND (SchoolPermissionGrantEntity.spgPermissions & ( CASE(SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash LIMIT 1) WHEN 1 THEN 256 WHEN 3 THEN 256 WHEN 4 THEN 64 WHEN 2 THEN 4 WHEN 5 THEN 16 ELSE 9223372036854775807 END )) > 0) OR EXISTS( SELECT 1 FROM AuthenticatedPersonClassPermissions WHERE AuthenticatedPersonClassPermissions.cpeClassUidNum IN (SELECT EnrollmentEntity.eClassUidNum FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum = PersonEntity.pGuidHash) AND (AuthenticatedPersonClassPermissions.cpePermissions & ( CASE(SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash LIMIT 1) WHEN 1 THEN 256 WHEN 3 THEN 256 WHEN 4 THEN 64 WHEN 2 THEN 4 WHEN 5 THEN 16 ELSE 9223372036854775807 END )) > 0) ) ), AllPersons(uidNum) AS ( SELECT uidNum FROM Persons UNION SELECT uidNum FROM RelatedPersons ) SELECT PersonEntity.pGuid AS guid, PersonEntity.pGivenName AS givenName, PersonEntity.pFamilyName AS familyName, PersonEntity.pUsername AS username, PersonRoleEntity.prRoleEnum AS role FROM PersonEntity JOIN PersonRoleEntity ON PersonRoleEntity.prUid = (SELECT PersonRoleEntity.prUid FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash AND PersonRoleEntity.prIsPrimaryRole LIMIT 1) WHERE PersonEntity.pGuidHash IN ( SELECT DISTINCT uidNum FROM AllPersons) ORDER BY PersonEntity.pGivenName getAllUsers sourcedIdf SELECT * FROM PersonEntity WHERE pGuid = :sourcedId !getMostRecentPermissionChangeTime' WITH AuthenticatedPermissionPersonUids(uidNum) AS ( SELECT :authenticatedPersonUidNum AS uidNum UNION SELECT PersonRelatedPersonEntity.prpOtherPersonUidNum AS uidNum FROM PersonRelatedPersonEntity WHERE 5 IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = :authenticatedPersonUidNum) AND PersonRelatedPersonEntity.prpPersonUidNum = :authenticatedPersonUidNum) SELECT MAX( -- Most recent change to schoolpermissiongrant for the given person COALESCE( (SELECT MAX(SchoolPermissionGrantEntity.spgStored) FROM SchoolPermissionGrantEntity WHERE SchoolPermissionGrantEntity.spgToRole IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids ))), 0 ), -- Most recent change to enrollment that will also affect permissions for person COALESCE( (SELECT MAX(EnrollmentEntity.eStored) FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids )), 0 ) ) getUsernameAlreadyExists SELECT EXISTS( SELECT 1 FROM PersonEntity WHERE PersonEntity.pUsername = :username) Companion$org.openeel.app:respect-datalayer-dbLandroidx/room/Dao;aVoF1a,AUTHENTICATED_PERMISSION_PERSON_UIDS_CTE_SQLa8ǹ&AUTHENTICATED_PERSON_CLASS_PERMISSIONSM+%:AUTHENTICATED_USER_PERSON_READ_PERMISSION_WHERE_CLAUSE_SQLCUl$CASE_STATEMENT_READ_WHEN_CLAUSES_SQLZLIST_PERSONS_CTES_SQL9(PВ'PERMISSION_REQUIRED_TO_READ_PERSON_EXPRCпQ݌/SELECT_AUTHENTICATED_PERMISSION_PERSON_UIDS_SQLMq'SELECT_PERMISSION_AND_LAST_MODIFIED_SQLP7- "java/lang/Object Companion&world.respect.datalayer.db.school.daosPersonPasswordEntityDao`X`1&world.respect.datalayer.db.school.daosPersonPasswordEntityDao@              g 20: J$020H@b J* 02  00 H@b  J& 020H@b (J&020H@b (J000 2 00 H@b ( J200 2020H@b (J2 00 02020H'b ("!#@Lworld/respect/datalayer/db/school/daos/PersonPasswordEntityDao;upsertpersonPasswordEntityALworld/respect/datalayer/db/school/entities/PersonPasswordEntity;u(Lworld/respect/datalayer/db/school/entities/PersonPasswordEntity;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;Landroidx/room/Insert; onConflictupsertAsyncListlistD(Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; findByUiduidNum5(JLkotlin/coroutines/Continuation;)Ljava/lang/Object;Landroidx/room/Query;value SELECT PersonPasswordEntity.* FROM PersonPasswordEntity WHERE ppwGuidNum = :uidNum getLastModifiedByPersonUidNum SELECT PersonPasswordEntity.ppwLastModified FROM PersonPasswordEntity WHERE PersonPasswordEntity.ppwGuidNum = :uidNum findByUidListuids SELECT PersonPasswordEntity.* FROM PersonPasswordEntity WHERE PersonPasswordEntity.ppwGuidNum IN (:uids) findAllauthenticatedPersonUidNum personGuidNum6(JJLkotlin/coroutines/Continuation;)Ljava/lang/Object; WITH AuthenticatedPermissionPersonUids(uidNum) AS ( SELECT :authenticatedPersonUidNum AS uidNum UNION SELECT PersonRelatedPersonEntity.prpOtherPersonUidNum AS uidNum FROM PersonRelatedPersonEntity WHERE 5 IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = :authenticatedPersonUidNum) AND PersonRelatedPersonEntity.prpPersonUidNum = :authenticatedPersonUidNum) , AuthenticatedPersonClassPermissions AS ( SELECT ClassPermissionEntity.* FROM ClassPermissionEntity WHERE (ClassPermissionEntity.cpeToEnrollmentRole, ClassPermissionEntity.cpeClassUidNum) IN (SELECT EnrollmentEntity.eRole, EnrollmentEntity.eClassUidNum FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids ) AND EnrollmentEntity.eStatus = 1) ) SELECT PersonPasswordEntity.* FROM PersonPasswordEntity JOIN PersonEntity ON PersonEntity.pGuidHash = PersonPasswordEntity.ppwGuidNum WHERE PersonPasswordEntity.ppwGuidNum = :personGuidNum AND ( PersonEntity.pGuidHash = :authenticatedPersonUidNum OR PersonEntity.pGuidHash IN (SELECT PersonRelatedPersonEntity.prpOtherPersonUidNum FROM PersonRelatedPersonEntity WHERE PersonRelatedPersonEntity.prpPersonUidNum = :authenticatedPersonUidNum) OR EXISTS( SELECT 1 FROM SchoolPermissionGrantEntity WHERE SchoolPermissionGrantEntity.spgToRole IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids )) AND (SchoolPermissionGrantEntity.spgPermissions & ( CASE(SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash LIMIT 1) WHEN 1 THEN 256 WHEN 3 THEN 256 WHEN 4 THEN 64 WHEN 2 THEN 4 WHEN 5 THEN 16 ELSE 9223372036854775807 END )) > 0) OR EXISTS( SELECT 1 FROM AuthenticatedPersonClassPermissions WHERE AuthenticatedPersonClassPermissions.cpeClassUidNum IN (SELECT EnrollmentEntity.eClassUidNum FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum = PersonEntity.pGuidHash) AND (AuthenticatedPersonClassPermissions.cpePermissions & ( CASE(SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash LIMIT 1) WHEN 1 THEN 256 WHEN 3 THEN 256 WHEN 4 THEN 64 WHEN 2 THEN 4 WHEN 5 THEN 16 ELSE 9223372036854775807 END )) > 0) ) findAllAsFlowLkotlinx/coroutines/flow/Flow; Companion$org.openeel.app:respect-datalayer-dbLandroidx/room/Dao;IXkRLIST_SQL"cE{-java/lang/Object Companion&world.respect.datalayer.db.school.daosPersonQrBadgeEntityDaoR&world.respect.datalayer.db.school.daosPersonQrBadgeEntityDaoJ                g (20:(J*02 00H@b  JF 002 0 2 0 2020H@b (J&020H@b (J&020H@b (J&0 20 H@b (J0 002 !0 0H@b ("JF# 000$2 0 2 0 2020H'b (J&% 00$2&0 H'b ('*)+?Lworld/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao;upsertAsyncListlist@Lworld/respect/datalayer/db/school/entities/PersonQrBadgeEntity;D(Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;Landroidx/room/Insert; onConflictfindAllauthenticatedPersonUidNum personGuidNumincludeDeleted qrCodeUrlI(JJZLjava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;Landroidx/room/Query;values WITH AuthenticatedPermissionPersonUids(uidNum) AS ( SELECT :authenticatedPersonUidNum AS uidNum UNION SELECT PersonRelatedPersonEntity.prpOtherPersonUidNum AS uidNum FROM PersonRelatedPersonEntity WHERE 5 IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = :authenticatedPersonUidNum) AND PersonRelatedPersonEntity.prpPersonUidNum = :authenticatedPersonUidNum) , AuthenticatedPersonClassPermissions AS ( SELECT ClassPermissionEntity.* FROM ClassPermissionEntity WHERE (ClassPermissionEntity.cpeToEnrollmentRole, ClassPermissionEntity.cpeClassUidNum) IN (SELECT EnrollmentEntity.eRole, EnrollmentEntity.eClassUidNum FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids ) AND EnrollmentEntity.eStatus = 1) ) SELECT PersonQrBadgeEntity.* FROM PersonQrBadgeEntity JOIN PersonEntity ON PersonEntity.pGuidHash = PersonQrBadgeEntity.pqrGuidNum WHERE (:personGuidNum = 0 OR PersonQrBadgeEntity.pqrGuidNum = :personGuidNum) AND (:includeDeleted OR PersonQrBadgeEntity.pqrStatus = 1) AND (:qrCodeUrl IS NULL OR PersonQrBadgeEntity.pqrQrCodeUrl = :qrCodeUrl) AND ( PersonEntity.pGuidHash = :authenticatedPersonUidNum OR PersonEntity.pGuidHash IN (SELECT PersonRelatedPersonEntity.prpOtherPersonUidNum FROM PersonRelatedPersonEntity WHERE PersonRelatedPersonEntity.prpPersonUidNum = :authenticatedPersonUidNum) OR EXISTS( SELECT 1 FROM SchoolPermissionGrantEntity WHERE SchoolPermissionGrantEntity.spgToRole IN (SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash IN ( SELECT AuthenticatedPermissionPersonUids.uidNum FROM AuthenticatedPermissionPersonUids )) AND (SchoolPermissionGrantEntity.spgPermissions & ( CASE(SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash LIMIT 1) WHEN 1 THEN 256 WHEN 3 THEN 256 WHEN 4 THEN 64 WHEN 2 THEN 4 WHEN 5 THEN 16 ELSE 9223372036854775807 END )) > 0) OR EXISTS( SELECT 1 FROM AuthenticatedPersonClassPermissions WHERE AuthenticatedPersonClassPermissions.cpeClassUidNum IN (SELECT EnrollmentEntity.eClassUidNum FROM EnrollmentEntity WHERE EnrollmentEntity.ePersonUidNum = PersonEntity.pGuidHash) AND (AuthenticatedPersonClassPermissions.cpePermissions & ( CASE(SELECT PersonRoleEntity.prRoleEnum FROM PersonRoleEntity WHERE PersonRoleEntity.prPersonGuidHash = PersonEntity.pGuidHash LIMIT 1) WHEN 1 THEN 256 WHEN 3 THEN 256 WHEN 4 THEN 64 WHEN 2 THEN 4 WHEN 5 THEN 16 ELSE 9223372036854775807 END )) > 0) ) findByGuidguidF(Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;z SELECT PersonQrBadgeEntity.* FROM PersonQrBadgeEntity WHERE pqrGuid = :guid findByQrCodeUrl SELECT PersonQrBadgeEntity.* FROM PersonQrBadgeEntity WHERE PersonQrBadgeEntity.pqrQrCodeUrl = :qrCodeUrl AND PersonQrBadgeEntity.pqrStatus = 1 getLastModifiedByUidNumuidNum5(JLkotlin/coroutines/Continuation;)Ljava/lang/Object; SELECT PersonQrBadgeEntity.pqrLastModified FROM PersonQrBadgeEntity WHERE PersonQrBadgeEntity.pqrGuidNum = :uidNum findByUidListuids SELECT PersonQrBadgeEntity.* FROM PersonQrBadgeEntity WHERE PersonQrBadgeEntity.pqrGuidNum IN (:uids) findAllAsFlowLkotlinx/coroutines/flow/Flow;findByGuidHashAsFlowguidnumy SELECT * FROM PersonQrBadgeEntity WHERE pqrGuidNum = :guidnum AND pqrStatus = 1 Companion$org.openeel.app:respect-datalayer-dbLandroidx/room/Dao;f BLIST_SQLr~YQ-java/lang/Object Companion*world.respect.datalayer.db.school.entities PersonEntity< sG*world.respect.datalayer.db.school.entities PersonEntityN              %   20B0000  0 0 0  000 00 0 0 0J 10HJ 20HJ 30HJ 40 HJ 50HJ 60HJ 70 HJ 80HJ 90HJ :0HJ ;0HJ <0HJ =0HJ >0HJ ?0HJ@020202020 2 02 02  0 2 020202 0202 02 02 0HJA02B0HJ C0DHJ E0HR0 R08X R0  R0  !"R 0 #R 0 $R 0  %&R0 'R0 (R0 )R0 *R0 +,R0 -.R0 /R0 0GFH9Lworld/respect/datalayer/db/school/entities/PersonEntity;pGuid pGuidHashpActivepStatus7Lworld/respect/datalayer/school/model/PersonStatusEnum; pLastModifiedpStored pMetadata'Lkotlinx/serialization/json/JsonObject; pUsername pGivenName pFamilyName pMiddleNamepGender7Lworld/respect/datalayer/school/model/PersonGenderEnum; pDateOfBirthLkotlinx/datetime/LocalDate;pEmail pPhoneNumber<init>6(Ljava/lang/String;JZLworld/respect/datalayer/school/model/PersonStatusEnum;JJLkotlinx/serialization/json/JsonObject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lworld/respect/datalayer/school/model/PersonGenderEnum;Lkotlinx/datetime/LocalDate;Ljava/lang/String;Ljava/lang/String;)VgetPGuid()Ljava/lang/String; getPGuidHash()JLandroidx/room/PrimaryKey; getPActive()Z getPStatus9()Lworld/respect/datalayer/school/model/PersonStatusEnum;getPLastModified getPStored getPMetadata)()Lkotlinx/serialization/json/JsonObject; getPUsername getPGivenNamegetPFamilyNamegetPMiddleName getPGender9()Lworld/respect/datalayer/school/model/PersonGenderEnum;getPDateOfBirth()Lkotlinx/datetime/LocalDate; getPEmailgetPPhoneNumber component1 component2 component3 component4 component5 component6 component7 component8 component9 component10 component11 component12 component13 component14 component15copyequalsotherhashCodetoString$org.openeel.app:respect-datalayer-dbLandroidx/room/Entity;Qjjava/lang/Object*world.respect.datalayer.db.school.entitiesPersonEntityWithRoles&C*world.respect.datalayer.db.school.entitiesPersonEntityWithRolesF                20B+0 00 00  J 0HJ00HJ00HJ3020200200HJ020HJ 0HJ  0!HR08X    R5008X(( R5008X(( "#BLworld/respect/datalayer/db/school/entities/PersonEntityWithRoles;person9Lworld/respect/datalayer/db/school/entities/PersonEntity;roles=Lworld/respect/datalayer/db/school/entities/PersonRoleEntity;relatedPersonsFLworld/respect/datalayer/db/school/entities/PersonRelatedPersonEntity;<init>\(Lworld/respect/datalayer/db/school/entities/PersonEntity;Ljava/util/List;Ljava/util/List;)V getPerson;()Lworld/respect/datalayer/db/school/entities/PersonEntity;Landroidx/room/Embedded;getRoles()Ljava/util/List;Landroidx/room/Relation; parentColumn pGuidHash entityColumnprPersonGuidHashgetRelatedPersonsprpPersonUidNum component1 component2 component3copyequalsotherhashCodetoString$org.openeel.app:respect-datalayer-db&f 2Wjava/lang/Object*world.respect.datalayer.db.school.entitiesPersonPasswordEntityVB5#*world.respect.datalayer.db.school.entitiesPersonPasswordEntityK<              20BO00000 0  0  0 0 J 0HJ  0HJ !0HJ "0HJ #0HJ $0 HJ %0 HJ &0 HJ '0 HJc(020202020202 0 2 0 2 0 20 HJ)0*2+0HJ ,0 HJ -0HR08X R0 R0 R0 R0 R 0  R 0  R 0  R0  /.0ALworld/respect/datalayer/db/school/entities/PersonPasswordEntity; ppwGuidNumppwGuid authAlgorithm authEncodedauthSaltauthIterations authKeyLenppwLastModifiedLkotlin/time/Instant; ppwStored<init>x(JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILkotlin/time/Instant;Lkotlin/time/Instant;)V getPpwGuidNum()JLandroidx/room/PrimaryKey; getPpwGuid()Ljava/lang/String;getAuthAlgorithmgetAuthEncoded getAuthSaltgetAuthIterations()I getAuthKeyLengetPpwLastModified()Lkotlin/time/Instant; getPpwStored component1 component2 component3 component4 component5 component6 component7 component8 component9copyequalsotherhashCodetoString$org.openeel.app:respect-datalayer-dbLandroidx/room/Entity;;#;+java/lang/Object*world.respect.datalayer.db.school.entitiesPersonQrBadgeEntityνk+q*world.respect.datalayer.db.school.entitiesPersonQrBadgeEntityP                  20B;0000 0  0  J 0HJ 0HJ 0HJ  0HJ !0 HJ "0 HJG#0202020202  0 2 0 HJ$0%2&0HJ '0(HJ )0HR08X R0 R0 R0 R' 0 8X  R 0  +*,@Lworld/respect/datalayer/db/school/entities/PersonQrBadgeEntity; pqrGuidNumpqrGuidpqrLastModifiedLkotlin/time/Instant; pqrStored pqrQrCodeUrlLio/ktor/http/Url; pqrStatus1Lworld/respect/datalayer/school/model/StatusEnum;<init>(JLjava/lang/String;Lkotlin/time/Instant;Lkotlin/time/Instant;Lio/ktor/http/Url;Lworld/respect/datalayer/school/model/StatusEnum;)V getPqrGuidNum()JLandroidx/room/PrimaryKey; getPqrGuid()Ljava/lang/String;getPqrLastModified()Lkotlin/time/Instant; getPqrStoredgetPqrQrCodeUrl()Lio/ktor/http/Url;Landroidx/room/ColumnInfo;index getPqrStatus3()Lworld/respect/datalayer/school/model/StatusEnum; component1 component2 component3 component4 component5 component6copyequalsotherhashCodetoString$org.openeel.app:respect-datalayer-dbLandroidx/room/Entity;2>ATjtjava/lang/Objectworld.respect.datalayerUidNumberMapper%world.respect.datalayerUidNumberMapper;     20J020H)Lworld/respect/datalayer/UidNumberMapper;invokeuid!org.openeel.app:respect-datalayer h\\java/lang/Object$world.respect.datalayer.school.model AuthTokenl򼒡$world.respect.datalayer.school.model AuthTokenF                20:B000 B5 0000 0  J)0202020HbR0 R0 R0  !0Lworld/respect/datalayer/school/model/AuthToken; accessToken timeCreatedttl<init>(Ljava/lang/String;JI)Vseen0serializationConstructorMarker?Lkotlinx/serialization/internal/SerializationConstructorMarker;W(ILjava/lang/String;JILkotlinx/serialization/internal/SerializationConstructorMarker;)VgetAccessToken()Ljava/lang/String;getTimeCreated()JgetTtl()I write$Selfselfoutput1Lkotlinx/serialization/encoding/CompositeEncoder; serialDesc4Lkotlinx/serialization/descriptors/SerialDescriptor;,write$Self$org_openeel_app_respect_datalayerLkotlin/jvm/JvmStatic; $serializer Companion!org.openeel.app:respect-datalayer$Lkotlinx/serialization/Serializable;}vjava/lang/Object Companion$world.respect.datalayer.school.modelClazzڄE9 S$world.respect.datalayer.school.modelClazzt                           A20:ABB000 00 j`     0 0 j`     0  0 000B{000000 0 00 000J (0HJ )0HJ *0HJ +0HJ,0 j`     0 HJ-0 j`     0 HJ .0HJ /0HJ000HJ102020202 020 j`     0 20 j`     0 2 02 0200HJ2032405HJ 60HJ 70HJ)8092:02;0<2=0>Hb@?R0 R0 R0 R0  R'0 j`     0 X !"R'0 j`     0 X #"R0 $R0 %R00 &' CD,Lworld/respect/datalayer/school/model/Clazz;/Lworld/respect/datalayer/shared/ModelWithTimes;guidtitlestatus1Lworld/respect/datalayer/school/model/StatusEnum; description lastModifiedLkotlin/time/Instant;$Lkotlinx/serialization/Serializable;withLkotlin/reflect/KClass;0Lworld/respect/lib/serializers/InstantAsISO8601;storedteacherInviteGuidstudentInviteGuid permissions6Lworld/respect/datalayer/school/model/ClassPermission;<init>(Ljava/lang/String;Ljava/lang/String;Lworld/respect/datalayer/school/model/StatusEnum;Ljava/lang/String;Lkotlin/time/Instant;Lkotlin/time/Instant;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Vseen0serializationConstructorMarker?Lkotlinx/serialization/internal/SerializationConstructorMarker;(ILjava/lang/String;Ljava/lang/String;Lworld/respect/datalayer/school/model/StatusEnum;Ljava/lang/String;Lkotlin/time/Instant;Lkotlin/time/Instant;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/internal/SerializationConstructorMarker;)VgetGuid()Ljava/lang/String;getTitle getStatus3()Lworld/respect/datalayer/school/model/StatusEnum;getDescriptiongetLastModified()Lkotlin/time/Instant; getStoredgetTeacherInviteGuidgetStudentInviteGuidgetPermissions()Ljava/util/List; component1 component2 component3 component4 component5 component6 component7 component8 component9copyequalsotherhashCodetoString write$Selfselfoutput1Lkotlinx/serialization/encoding/CompositeEncoder; serialDesc4Lkotlinx/serialization/descriptors/SerialDescriptor;,write$Self$org_openeel_app_respect_datalayerLkotlin/jvm/JvmStatic; Companion $serializer!org.openeel.app:respect-datalayerP܋qeDEFAULT_INVITE_CODE_LENO؅~DEFAULT_INVITE_CODE_MAXp0HJ ?0HJ@0202020j`    0 2 0j`    0 2  02020202 02 020j`    0 2 02 0HJA0B2C0DHJ E0HJ F0HJ)G0H2I02J0K2L0MHbONR0  !R0 "#R'0j`    0 X $%R' 0j`    0 X &%R 0 '(R0 )!R0 *!R0 +,R0 -.R0 /.R(0j`    0  0%R0 1!R0 2!RS1Lworld/respect/datalayer/school/model/Enrollment;/Lworld/respect/datalayer/shared/ModelWithTimes;uidstatus1Lworld/respect/datalayer/school/model/StatusEnum; lastModifiedLkotlin/time/Instant;$Lkotlinx/serialization/Serializable;withLkotlin/reflect/KClass;0Lworld/respect/lib/serializers/InstantAsISO8601;storedmetadata'Lkotlinx/serialization/json/JsonObject;classUid personUidrole9Lworld/respect/datalayer/school/model/EnrollmentRoleEnum; beginDateLkotlinx/datetime/LocalDate;endDate removedAt inviteCodeapprovedByPersonUid<init>e(Ljava/lang/String;Lworld/respect/datalayer/school/model/StatusEnum;Lkotlin/time/Instant;Lkotlin/time/Instant;Lkotlinx/serialization/json/JsonObject;Ljava/lang/String;Ljava/lang/String;Lworld/respect/datalayer/school/model/EnrollmentRoleEnum;Lkotlinx/datetime/LocalDate;Lkotlinx/datetime/LocalDate;Lkotlin/time/Instant;Ljava/lang/String;Ljava/lang/String;)Vseen0serializationConstructorMarker?Lkotlinx/serialization/internal/SerializationConstructorMarker;(ILjava/lang/String;Lworld/respect/datalayer/school/model/StatusEnum;Lkotlin/time/Instant;Lkotlin/time/Instant;Lkotlinx/serialization/json/JsonObject;Ljava/lang/String;Ljava/lang/String;Lworld/respect/datalayer/school/model/EnrollmentRoleEnum;Lkotlinx/datetime/LocalDate;Lkotlinx/datetime/LocalDate;Lkotlin/time/Instant;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/internal/SerializationConstructorMarker;)VgetUid()Ljava/lang/String; getStatus3()Lworld/respect/datalayer/school/model/StatusEnum;getLastModified()Lkotlin/time/Instant; getStored getMetadata)()Lkotlinx/serialization/json/JsonObject; getClassUid getPersonUidgetRole;()Lworld/respect/datalayer/school/model/EnrollmentRoleEnum; getBeginDate()Lkotlinx/datetime/LocalDate; getEndDate getRemovedAt getInviteCodegetApprovedByPersonUid component1 component2 component3 component4 component5 component6 component7 component8 component9 component10 component11 component12 component13copyequalsotherhashCodetoString write$Selfselfoutput1Lkotlinx/serialization/encoding/CompositeEncoder; serialDesc4Lkotlinx/serialization/descriptors/SerialDescriptor;,write$Self$org_openeel_app_respect_datalayerLkotlin/jvm/JvmStatic; Companion $serializer!org.openeel.app:respect-datalayerq@q`TABLE_IDO؅~java/lang/Object-world/respect/datalayer/shared/ModelWithTimes Companion$world.respect.datalayer.school.modelInvite2I2$world.respect.datalayer.school.modelInvite2>               w 20:R0XR0XR%0 j`     0 XR%0 j`     0 XR%0 j`     0 XR0X .Lworld/respect/datalayer/school/model/Invite2;/Lworld/respect/datalayer/shared/ModelWithTimes;uidgetUid()Ljava/lang/String;codegetCodeapprovalRequiredAfterLkotlin/time/Instant;$Lkotlinx/serialization/Serializable;withLkotlin/reflect/KClass;0Lworld/respect/lib/serializers/InstantAsISO8601;getApprovalRequiredAfter()Lkotlin/time/Instant; lastModifiedgetLastModifiedstored getStoredstatus1Lworld/respect/datalayer/school/model/StatusEnum; getStatus3()Lworld/respect/datalayer/school/model/StatusEnum; Companion2Lworld/respect/datalayer/school/model/ClassInvite;9Lworld/respect/datalayer/school/model/FamilyMemberInvite;4Lworld/respect/datalayer/school/model/NewUserInvite;!org.openeel.app:respect-datalayeri5r<#APPROVAL_NOT_REQUIRED_INTERVAL_MINSbͰDEFAULT_CODE_LEN`q7" DIRECT_STRKlGTABLE_IDOe TYPE_CLASSd'"TYPE_FAMILY_MEMBERd,u TYPE_NEW_USERig VIA_PARENT_STR;7vjava/lang/Object-world/respect/datalayer/shared/ModelWithTimes Companion$world.respect.datalayer.school.modelPerson6Tǐ$world.respect.datalayer.school.modelPersonA                      6         l20:lmB0000 j`     0 0 j`     0  0 0 000 00 0 0 0 0 0000  0! "0 #0$%B&0'0000 0 00000000000 00 00 0!"0#0(0)$*J H0HJ I0HJ J0HJK0 j`     0 HJL0 j`     0 HJ M0HJ N0HJ O0HJ P0HJ Q0HJ R0HJ S0HJ T0HJ U0HJ V0HJ W0HJX00HJY00HJ Z0!HJ [0HJ \0HJ]020202020 j`     0 20 j`     0 2 02 02 020202 0202 02 02 02 02002002  0!2 "02 #0HJ^02_0`HJ a0'HJ b0HJ)c0d2e02f0g2h0iHbkjR0 +,R0 -.R0 /0R'0 j`     0 X 12R'0 j`     0 X 32R0 45R0 6,R0 7,R0 8,R0 9,R0 :,R0 ;<R0 =,R0 >,R0 ?,R0 @,R00 ABR00 CBR 0! DER"0 F,R#0 G, no-Lworld/respect/datalayer/school/model/Person;/Lworld/respect/datalayer/shared/ModelWithTimes;guid userActivestatus7Lworld/respect/datalayer/school/model/PersonStatusEnum; lastModifiedLkotlin/time/Instant;$Lkotlinx/serialization/Serializable;withLkotlin/reflect/KClass;0Lworld/respect/lib/serializers/InstantAsISO8601;storedmetadata'Lkotlinx/serialization/json/JsonObject;userMasterIdentifierusername givenName familyName middleNamegender7Lworld/respect/datalayer/school/model/PersonGenderEnum;preferredFirstNamepreferredMiddleNamepreferredLastNamepronounsroles1Lworld/respect/datalayer/school/model/PersonRole;relatedPersonUids dateOfBirthLkotlinx/datetime/LocalDate;email phoneNumber<init>(Ljava/lang/String;ZLworld/respect/datalayer/school/model/PersonStatusEnum;Lkotlin/time/Instant;Lkotlin/time/Instant;Lkotlinx/serialization/json/JsonObject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lworld/respect/datalayer/school/model/PersonGenderEnum;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/datetime/LocalDate;Ljava/lang/String;Ljava/lang/String;)Vseen0serializationConstructorMarker?Lkotlinx/serialization/internal/SerializationConstructorMarker;(ILjava/lang/String;ZLworld/respect/datalayer/school/model/PersonStatusEnum;Lkotlin/time/Instant;Lkotlin/time/Instant;Lkotlinx/serialization/json/JsonObject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lworld/respect/datalayer/school/model/PersonGenderEnum;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/datetime/LocalDate;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/internal/SerializationConstructorMarker;)VgetGuid()Ljava/lang/String; getUserActive()Z getStatus9()Lworld/respect/datalayer/school/model/PersonStatusEnum;getLastModified()Lkotlin/time/Instant; getStored getMetadata)()Lkotlinx/serialization/json/JsonObject;getUserMasterIdentifier getUsername getGivenName getFamilyName getMiddleName getGender9()Lworld/respect/datalayer/school/model/PersonGenderEnum;getPreferredFirstNamegetPreferredMiddleNamegetPreferredLastName getPronounsgetRoles()Ljava/util/List;getRelatedPersonUidsgetDateOfBirth()Lkotlinx/datetime/LocalDate;getEmailgetPhoneNumber component1 component2 component3 component4 component5 component6 component7 component8 component9 component10 component11 component12 component13 component14 component15 component16 component17 component18 component19 component20 component21copyequalsotherhashCodetoString write$Selfselfoutput1Lkotlinx/serialization/encoding/CompositeEncoder; serialDesc4Lkotlinx/serialization/descriptors/SerialDescriptor;,write$Self$org_openeel_app_respect_datalayerLkotlin/jvm/JvmStatic; Companion $serializer!org.openeel.app:respect-datalayeraɥXGkMETADATA_KEY_INVITE_IDFsSMETADATA_KEY_INVITE_UID~v-TABLE_IDjava/lang/Object-world/respect/datalayer/shared/ModelWithTimes Companion$world.respect.datalayer.school.modelPersonPassword^ri$world.respect.datalayer.school.modelPersonPasswordm`                      ;20::;Bm00j`   0 0j`   0 0 0 000Bg000 0 0 0 0000J "0HJ#0j`   0HJ$0j`   0HJ %0HJ &0HJ '0HJ (0HJ )0HJ*02020j`   02 0j`   02 02 02 02020HJ+0,2-0.HJ /0HJ 00HJ)10223024052607Hb98R0 R'0j`   0X R' 0j`   0X R 0 R 0 R 0 R0  R0 ! <=5Lworld/respect/datalayer/school/model/PersonPassword;/Lworld/respect/datalayer/shared/ModelWithTimes; personGuid lastModifiedLkotlin/time/Instant;$Lkotlinx/serialization/Serializable;withLkotlin/reflect/KClass;0Lworld/respect/lib/serializers/InstantAsISO8601;stored authAlgorithm authEncodedauthSaltauthIterations authKeyLen<init>w(Ljava/lang/String;Lkotlin/time/Instant;Lkotlin/time/Instant;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)Vseen0serializationConstructorMarker?Lkotlinx/serialization/internal/SerializationConstructorMarker;(ILjava/lang/String;Lkotlin/time/Instant;Lkotlin/time/Instant;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILkotlinx/serialization/internal/SerializationConstructorMarker;)V getPersonGuid()Ljava/lang/String;getLastModified()Lkotlin/time/Instant; getStoredgetAuthAlgorithmgetAuthEncoded getAuthSaltgetAuthIterations()I getAuthKeyLen component1 component2 component3 component4 component5 component6 component7 component8copyequalsotherhashCodetoString write$Selfselfoutput1Lkotlinx/serialization/encoding/CompositeEncoder; serialDesc4Lkotlinx/serialization/descriptors/SerialDescriptor;,write$Self$org_openeel_app_respect_datalayerLkotlin/jvm/JvmStatic; $serializer Companion!org.openeel.app:respect-datalayer[Ȅjava/lang/Object-world/respect/datalayer/shared/ModelWithTimes Companion$world.respect.datalayer.school.modelPullSyncStatusNN&$world.respect.datalayer.school.modelPullSyncStatus{Z                     .20:-.BM00j`   0 0j`   0 0  BA0 00 0 0 0 J 0HJ0j`   0HJ0j`   0HJ 0 HJW02020j`   02 0j`   02 0 HJ0 2!0HJ "0 HJ #0HJ)$0%2&02'0(2)0*Hb,+R0 R$0j`   0 R$ 0j`   0 R 0  /05Lworld/respect/datalayer/school/model/PullSyncStatus;accountPersonUidconsistentThroughLkotlin/time/Instant;$Lkotlinx/serialization/Serializable;withLkotlin/reflect/KClass;0Lworld/respect/lib/serializers/InstantAsISO8601;permissionsLastModifiedtableId<init>@(Ljava/lang/String;Lkotlin/time/Instant;Lkotlin/time/Instant;I)Vseen0serializationConstructorMarker?Lkotlinx/serialization/internal/SerializationConstructorMarker;(ILjava/lang/String;Lkotlin/time/Instant;Lkotlin/time/Instant;ILkotlinx/serialization/internal/SerializationConstructorMarker;)VgetAccountPersonUid()Ljava/lang/String;getConsistentThrough()Lkotlin/time/Instant;getPermissionsLastModified getTableId()I component1 component2 component3 component4copyequalsotherhashCodetoString write$Selfselfoutput1Lkotlinx/serialization/encoding/CompositeEncoder; serialDesc4Lkotlinx/serialization/descriptors/SerialDescriptor;,write$Self$org_openeel_app_respect_datalayerLkotlin/jvm/JvmStatic; $serializer Companion!org.openeel.app:respect-datalayer{Yxjjava/lang/Object Companion$world.respect.datalayer.school.model SchoolAppH]$|$world.respect.datalayer.school.model SchoolAppj                       420:45B[0000 j`     0 0 j`     0 BM00000 0 0J 0HJ  0HJ !0HJ"0 j`     0 HJ#0 j`     0 HJa$020202020 j`     0 20 j`     0 HJ%0&2'0(HJ )0HJ *0HJ)+0,2-02.0/2001Hb32R0 R0 R0 R'0 j`     0 X R'0 j`     0 X  670Lworld/respect/datalayer/school/model/SchoolApp;/Lworld/respect/datalayer/shared/ModelWithTimes;uidappManifestUrlLio/ktor/http/Url;status1Lworld/respect/datalayer/school/model/StatusEnum; lastModifiedLkotlin/time/Instant;$Lkotlinx/serialization/Serializable;withLkotlin/reflect/KClass;0Lworld/respect/lib/serializers/InstantAsISO8601;stored<init>(Ljava/lang/String;Lio/ktor/http/Url;Lworld/respect/datalayer/school/model/StatusEnum;Lkotlin/time/Instant;Lkotlin/time/Instant;)Vseen0serializationConstructorMarker?Lkotlinx/serialization/internal/SerializationConstructorMarker;(ILjava/lang/String;Lio/ktor/http/Url;Lworld/respect/datalayer/school/model/StatusEnum;Lkotlin/time/Instant;Lkotlin/time/Instant;Lkotlinx/serialization/internal/SerializationConstructorMarker;)VgetUid()Ljava/lang/String;getAppManifestUrl()Lio/ktor/http/Url; getStatus3()Lworld/respect/datalayer/school/model/StatusEnum;getLastModified()Lkotlin/time/Instant; getStored component1 component2 component3 component4 component5copyequalsotherhashCodetoString write$Selfselfoutput1Lkotlinx/serialization/encoding/CompositeEncoder; serialDesc4Lkotlinx/serialization/descriptors/SerialDescriptor;,write$Self$org_openeel_app_respect_datalayerLkotlin/jvm/JvmStatic; Companion $serializer!org.openeel.app:respect-datalayerZ :ATABLE_ID5,#(java/lang/Object-world/respect/datalayer/shared/ModelWithTimes Companion$world.respect.datalayer.school.modelSchoolPermissionGrantA>Bak$world.respect.datalayer.school.modelSchoolPermissionGrantp                        :20:9:Bc0000  0 j`    00 j`    0BU00000  0 0 0J #0HJ $0HJ %0HJ &0 HJ'0 j`    0HJ(0 j`    0HJk)020202020 2 0 j`    020 j`    0HJ*0+2,0-HJ .0HJ /0HJ)00122023042506Hb87R0 R0 R0 R0  R' 0 j`    0X  !R'0 j`    0X "! ;<<Lworld/respect/datalayer/school/model/SchoolPermissionGrant;/Lworld/respect/datalayer/shared/ModelWithTimes;uid statusEnum1Lworld/respect/datalayer/school/model/StatusEnum;toRole5Lworld/respect/datalayer/school/model/PersonRoleEnum; permissionsstoredLkotlin/time/Instant;$Lkotlinx/serialization/Serializable;withLkotlin/reflect/KClass;0Lworld/respect/lib/serializers/InstantAsISO8601; lastModified<init>(Ljava/lang/String;Lworld/respect/datalayer/school/model/StatusEnum;Lworld/respect/datalayer/school/model/PersonRoleEnum;JLkotlin/time/Instant;Lkotlin/time/Instant;)Vseen0serializationConstructorMarker?Lkotlinx/serialization/internal/SerializationConstructorMarker;(ILjava/lang/String;Lworld/respect/datalayer/school/model/StatusEnum;Lworld/respect/datalayer/school/model/PersonRoleEnum;JLkotlin/time/Instant;Lkotlin/time/Instant;Lkotlinx/serialization/internal/SerializationConstructorMarker;)VgetUid()Ljava/lang/String; getStatusEnum3()Lworld/respect/datalayer/school/model/StatusEnum; getToRole7()Lworld/respect/datalayer/school/model/PersonRoleEnum;getPermissions()J getStored()Lkotlin/time/Instant;getLastModified component1 component2 component3 component4 component5 component6copyequalsotherhashCodetoString write$Selfselfoutput1Lkotlinx/serialization/encoding/CompositeEncoder; serialDesc4Lkotlinx/serialization/descriptors/SerialDescriptor;,write$Self$org_openeel_app_respect_datalayerLkotlin/jvm/JvmStatic; $serializer Companion!org.openeel.app:respect-datalayerG#EMejava/lang/Object-world/respect/datalayer/shared/ModelWithTimes Companionworld.respect.datalayer.sharedModelWithTimesTXt5world.respect.datalayer.sharedModelWithTimesJ    f20R0XR0X /Lworld/respect/datalayer/shared/ModelWithTimes;storedLkotlin/time/Instant; getStored()Lkotlin/time/Instant; lastModifiedgetLastModified!org.openeel.app:respect-datalayerX0Ljava/lang/Object!world.respect.credentials.passkeyRespectCredential$j4!world.respect.credentials.passkeyRespectCredentialV$        7 20:B     0  5Lworld/respect/credentials/passkey/RespectCredential;<init>()V Companion<Lworld/respect/credentials/passkey/RespectPasskeyCredential;=Lworld/respect/credentials/passkey/RespectPasswordCredential;<Lworld/respect/credentials/passkey/RespectQRBadgeCredential;#org.openeel.app:respect-credentials$Lkotlinx/serialization/Serializable;with?Lworld/respect/credentials/passkey/RespectCredentialSerializer;W۽*3java/lang/Object Companion!world.respect.credentials.passkeyRespectPasswordCredentialy&!world.respect.credentials.passkeyRespectPasswordCredentialeN                  "20:!"B00B/000 0  J 0HJ 0HJ02020HJ020HJ 0HJ 0HJ)0202020Hb R0   R0  $#%=Lworld/respect/credentials/passkey/RespectPasswordCredential;5Lworld/respect/credentials/passkey/RespectCredential;usernamepassword<init>'(Ljava/lang/String;Ljava/lang/String;)Vseen0serializationConstructorMarker?Lkotlinx/serialization/internal/SerializationConstructorMarker;g(ILjava/lang/String;Ljava/lang/String;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V getUsername()Ljava/lang/String; getPassword component1 component2copyequalsotherhashCodetoString write$Selfselfoutput1Lkotlinx/serialization/encoding/CompositeEncoder; serialDesc4Lkotlinx/serialization/descriptors/SerialDescriptor;.write$Self$org_openeel_app_respect_credentialsLkotlin/jvm/JvmStatic; $serializer Companion#org.openeel.app:respect-credentials$Lkotlinx/serialization/Serializable;@JOA3world/respect/credentials/passkey/RespectCredential Companion!world.respect.credentials.passkeyRespectQRBadgeCredential(Lio/ktor/http/Url;)Vseen0serializationConstructorMarker?Lkotlinx/serialization/internal/SerializationConstructorMarker;U(ILio/ktor/http/Url;Lkotlinx/serialization/internal/SerializationConstructorMarker;)V getQrCodeUrl()Lio/ktor/http/Url; component1copyequalsotherhashCodetoString write$Selfselfoutput1Lkotlinx/serialization/encoding/CompositeEncoder; serialDesc4Lkotlinx/serialization/descriptors/SerialDescriptor;.write$Self$org_openeel_app_respect_credentialsLkotlin/jvm/JvmStatic; $serializer Companion#org.openeel.app:respect-credentials$Lkotlinx/serialization/Serializable;Lܘېp3world/respect/credentials/passkey/RespectCredential Companion$world.respect.libutil.util.throwableExceptionWithHttpStatusCode$^$world.respect.libutil.util.throwableExceptionWithHttpStatusCode6    f20R0XBLworld/respect/libutil/util/throwable/ExceptionWithHttpStatusCode; statusCode getStatusCode()I org.openeel.app:respect-lib-utiluӋjava/lang/Object$world.respect.libutil.util.throwableForbiddenException$world.respect.libutil.util.throwableForbiddenExceptionr(         20j`20B 0 0 R 0 XD   9Lworld/respect/libutil/util/throwable/ForbiddenException;Ljava/lang/Exception;Lkotlin/Exception;BLworld/respect/libutil/util/throwable/ExceptionWithHttpStatusCode;messagecause<init>*(Ljava/lang/String;Ljava/lang/Throwable;)V statusCode getStatusCode()I org.openeel.app:respect-lib-utilgM3ZEjava/lang/Exception@world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode androidx.room RoomDatabasec½݄Pjava/lang/Object Companionio.github.aakira.napierNapierx$򣢏java/lang/Object io.ktor.http URLUtilsJvmKt嶙5FtakeFromtoURIUrl io.ktor.http URLUtilsKt+?S UrlbuildUrlparseUrl URLBuildertakeFromappendUrlFullPathappendUserAndPasswordfullPath hostWithPorthostWithPortIfSpecifiedisAbsolutePathisRelativePath io.ktor.httpUrl:java/lang/Objectjava/io/Serializable Companion io.ktor.utilBase64KtHg encodeBase64decodeBase64StringdecodeBase64Bytes kotlinx.io RawSourceq֟ljava/lang/Objectjava/lang/AutoCloseable kotlinx.ioSource=Ijava/lang/Objectkotlinx/io/RawSourcekotlinStandardKt__StandardKt; TODOrunwithapplyalsolettakeIf takeUnlessrepeatkotlin.collectionsArraysKt___ArraysJvmKtHp elementAtfilterIsInstancefilterIsInstanceToasList binarySearchcontentDeepEqualscontentDeepHashCodecontentDeepToString contentEqualscontentHashCodecontentToStringcopyIntocopyOf copyOfRangecopyOfRangeImplfillplus plusElementsortsortWith toTypedArray toSortedSetmaxmaxBymaxWithminminByminWithsumOf kotlin.textStringsKt__StringsJVMKt~! nativeIndexOfnativeLastIndexOfequalsreplace replaceFirst toUpperCase uppercase toLowerCase lowercaseconcatToString toCharArraydecodeToStringencodeToByteArrayformatsplit substring startsWithendsWithString codePointAtcodePointBeforecodePointCount compareTo contentEqualsinternoffsetByCodePoints regionMatches toByteArray toPattern capitalize decapitalizerepeatCASE_INSENSITIVE_ORDER