2 ±Š = ; 2Š/ + ) €’lÇŽ° Ñ,2 „”ÇŽ° „8pÇŽ°"̘°̘°ï §"æ Nƒ¦… G ><€J7  ‚„‚ ç …  20 â…   ‚„þ í¢… ƒ¦… “¸Á°‹ š~€€x om€„g# €ˆ ‚„‚ ·¨… ù¬… = ; 2Š/ + ) €ŒlôÀ° Ñ,2 „Žª‚ ™„8pôÀ°"¸Á°¸Á°ØïÕ "˜ •”¢À  ƒšÿ€úø î뀺ä$ €  ‚‹üÚªÕ ÚªÕz x o‚l¾d$ " €À 2PŽ¥‚ ¡© % # €À 2P€¥† ¥ƒ…  2 Š… Ø‡Š = ; 2Š/ + ) €€lϧ Š@Ñ,2 „‚óŠ… Ö)8pϧ"¨Ä€”¢À œŒÕ "O MÜ‰Õ F =š:€ˆ4 +)€Œ#  ‚„†¾ˆÕ  20 –ŠÕ  Ü‰Õ Ü‰Õ ›•Õ "“ Û”Õ ˆ š|€„v mk€e ‚„†»€Õ  28 È‚Õ = ; 2Š/ + ) €ˆlð’Õ Ù)2 „Šð’Õ „8pð’Õ "  Û”Õ Û”Õ ÔÖ "æ N’ŽÔ G ><€J7  ‚„‚ öˆÔ  20 ÒŠÔ   ‚„þ üŠÔ ’ŽÔ “¿íÔ ‹ š~€€x om€„g# €ˆ ‚„‚ æ Ô ¨¦Ô = ; 2Š/ + ) €„l£îÔ Ù)2 „†¯ªÔ ™„8p£îÔ "  ¿íÔ ¿íÔ ß“é "™ –Ä Õ Ž „š€€úù ï쀺å$ €  ‚‹üß‚Á ß‚Á { y p‚m¾e% # €À 2P¹›ýà °©Å % # €À 2Pº´ÑÒ ´«Ñ  2¥‚Ô ÝÏá = ; 2Š/ + ) €€lô“Ö Š@Ù)2 „‚¢ˆÔ Ö)8pô“Ö "  ¯˜é Ä Õ ¦Ž‰("’ AŽ‹(: 1/€È&  ‚‹Ä¤Š(  ‚ˆ´ Š¡( ¤Ž‹( Aà¦(: 1/€Ì&  ‚‹Äà¢(  ‚ˆ¶ õ¬( ¤à¦( A‚†„(: 1/€Ð&  ‚‹Ä ‚„(  ‚ˆ¸ ’Œ„( ¤‚†„( A¬¡„(: 1/€Ô&  ‚‹Ä¤ „(  ‚ˆº ­£„( ¤¬¡„( Aö©„(: 1/€Ø&  ‚‹Äô¨„(  ‚ˆ¼ ö«„( ¤ö©„( A膅(: 1/€Ü&  ‚‹Äà‚…(  ‚ˆ¾ ©Ž…( ¤膅(Åïó""Š RÏ»Ñ"KJI ˆ´Ï»Ñ" È4 +)€˜#  ‚„¬û€Ô" 2P-ü‚Ô" “†Ô" R£ŸÔ"KJI ˆ¶£ŸÔ" ˆƒ4 +)€˜#  ‚„¬ú Ô" 2P=û£Ô" ˜§Ô" Rë¾Ô"KJI ˆ¸ë¾Ô" ‰ƒ4 +)€˜#  ‚„¬«‚Õ" 2P?¤‰Õ" ë†Õ" RÅžÕ"KJI ˆºÅžÕ" Žƒ4 +)€¬#  ‚„¬ª¢Õ" 2PB‚©Õ" ʦÕ" R–¾Õ"KJI ˆ¼–¾Õ" òƒ4 +)€œ#  ‚„¬( 2PSу€( ¦†€( R†Ê€(KJI ˆ¾†Ê€( ܃4 +)€˜#  ‚„¬ÿ €( 2PW‚¬€( µ§€( ö–‰(‡ ~š{€°u lj€Æd ‚À þ¯€(= ; 2Š/ + ) €Âlº™‰( Ù(* ‹Äº™‰( ®Œ8p º™‰("ö–‰(ö–‰(ý÷ó""€ ~½üó"w nšk€ªe \Z€®T ‚„¬ÿ¢Ñ"= ; 2Š/ + ) €°lýùó" û,2 „²ýùó" „8pýùó""½üó"½üó"Íûø""æ N‰…Ñ"G ><€J7  ‚„¨ çªÐ" 20 ÀÑ"  ‚„š ïÑ"‰…Ñ" “ýšù"‹ š~€¦x om€„g# €ˆ ‚„¨ ¦ˆÑ"èŒÑ"= ; 2Š/ + ) €ªlá¥ù" Ñ-2 „¬ï Ñ" ™„8pá¥ù""ýšù"ýšù"öûˆ&"™ –†Ñ‰&Ž „š€€¤ù ï쀺å$ €  ‚‹˜Þª€" Þª€"{ y p‚m¾e% # €À 2Pȶ±£"µ«”"% # €À 2PÉ퇷"ñ‹Ð" 2ð¢Ð"ô‹#= ; 2Š/ + ) €¦lɨú" Š@Ñ-2 „¨ç¨Ð" Ö)8pɨú""†Ñ‰&†Ñ‰&é°Š&"à ÀÕ¨…(¸ ®šª€£ ™–€œ$ €  ‚‹˜Ë €" Ë €"9 7 .,€ &!  Ò 2P÷¦€"þ¦€""”²€") ' Š   €¤lêþˆ& Š@Ñ-8pêþˆ&"Ù°Š&Õ¨…(Ÿ£˜*"’ AŸ£*: 1/€È&  ‚‹€µ¢*  ‚ˆò ›©* ¤Ÿ£* Aå®*: 1/€Ì&  ‚‹€åª*  ‚ˆô ¤†‘* ¤å®* AƒŽ‘*: 1/€Ð&  ‚‹€¡Š‘*  ‚ˆö “¤‘* ¤ƒŽ‘* A©©‘*: 1/€Ô&  ‚‹€¡¨‘*  ‚ˆø ¬«‘* ¤©©‘* Aç”*: 1/€Ø&  ‚‹€倔*  ‚ˆú 烔* ¤ç”* A­Ž”*: 1/€Ü&  ‚‹€¥Š”*  ‚ˆü ø¤”* ¤­Ž”*ü£*"Š RÞ™*KJI ˆòÞ™* È4 +)€˜#  ‚„쪠* 2P-©¢* ¤* R¦½*KJI ˆô¦½* ˆƒ4 +)€˜#  ‚„ìûª* 2P=þ„* ™…„* R꜄*KJI ˆö꜄* ‰ƒ4 +)€˜#  ‚„쪠„* 2P?¡£„* ꤄* RÀ¼„*KJI ˆøÀ¼„* Žƒ4 +)€¬#  ‚„ìûª„* 2PBÓ…* ›„…* Rƒœ…*KJI ˆúƒœ…* òƒ4 +)€œ#  ‚„컊…* 2PSÀ¡…* óŽ…* RÇâ…*KJI ˆüÇâ…* ܃4 +)€˜#  ‚„ìꪅ* 2PWÄ*  …* »°˜*‡ ~š{€îu lj€Æd ‚À »*= ; 2Š/ + ) €þlǰ˜* Ù(* ‹€ǰ˜* ®Œ8 p!ǰ˜*"»°˜*»°˜*Ò£*"€ ~ÐÇ£*w nšk€êe \Z€®T ‚„캂*= ; 2Š/ + ) €îlÌ£* û,2 „ðÌ£* „8!pÌ£*"ÐÇ£*ÐÇ£*¸Ê¨*"æ NÌ€*G ><€J7  ‚„è ²Š€* 20 † €*  ‚„ä º¡€*Ì€* “´ª¨*‹ š~€æx om€„g# €ˆ ‚„è 㢀*ý¦€*= ; 2Š/ + ) €êlˆÕ£* Ñ-2 „쮀* ™„8"pˆÕ£*"´ª¨*´ª¨*“«˜,"™ –Ôª”*Ž „š€€àù ï쀺å$ €  ‚‹â›ª( ›ª({ y p‚m¾e% # €À 2PÌÏŽ³(¤£Ä(% # €À 2PͰªæ(ð«Õ( 2á‚€*™ƒ›)= ; 2Š/ + ) €æl˜Í¨* Š@Ñ-2 „趈€* Ö)8#p˜Í¨*"㪘,Ôª”*com.ustadmobile.core.db.dao)P–0 l +³³0éN#!&"" '))K3FF*ÖZ)¥E*A¥A2¥29¥9Ñ{DÁ¼> ª!+'-+$!&$!"7' )&!"¦–‘"2†3ÂóãxÅS´$$!! &&27óãÅ´7(com.ustadmobile.door.room.RoomDatabase){}(){}{}_dbFIELD PROPERTY_BACKING_FIELD name:_db type:com.ustadmobile.door.room.RoomDatabase visibility:private [final](){}{}_insertAdapterContentEntryImportJob_abortCLASS CLASS name: modality:FINAL visibility:local superTypes:[com.ustadmobile.door.EntityInsertionAdapter]CONSTRUCTOR visibility:public <> () returnType:com.ustadmobile.core.db.dao.ContentEntryImportJobDao_JdbcImpl._insertAdapterContentEntryImportJob_abort. [primary](com.ustadmobile.door.room.RoomDatabase){}FUN name:makeSql visibility:public modality:OPEN <> ($this:com.ustadmobile.core.db.dao.ContentEntryImportJobDao_JdbcImpl._insertAdapterContentEntryImportJob_abort., returnsId:kotlin.Boolean) returnType:kotlin.StringmakeSql(kotlin.Boolean){}FUN name:bindPreparedStmtToEntity visibility:public modality:OPEN <> ($this:com.ustadmobile.core.db.dao.ContentEntryImportJobDao_JdbcImpl._insertAdapterContentEntryImportJob_abort., stmt:com.ustadmobile.door.jdbc.PreparedStatement, entity:com.ustadmobile.lib.db.entities.ContentEntryImportJob) returnType:kotlin.UnitEQEQ(kotlin.Any?;kotlin.Any?){}(){}(){}setObject(kotlin.Int;kotlin.Any?){}setLong(kotlin.Int;kotlin.Long){}setString(kotlin.Int;kotlin.String?){}(){}(){}(){}(){}(){}(){}(){}(){}(){}(){}(){}(){}(){}(){}setInt(kotlin.Int;kotlin.Int){}(){}(){}(){}(){}(){}(){}(){}(){}(){}(){}(){}(){}setBoolean(kotlin.Int;kotlin.Boolean){}(){}(){}(){}(){}(){}(){}(){}(){}(){}(){}(){}(){}bindPreparedStmtToEntity(com.ustadmobile.door.jdbc.PreparedStatement;1:0){}(){}insertJobItem(com.ustadmobile.lib.db.entities.ContentEntryImportJob){}insertAndReturnIdAsync(1:0){}insertJobItem(com.ustadmobile.lib.db.entities.ContentEntryImportJob){}updateItemStatus(kotlin.Long;kotlin.Int){}prepareAndUseStatementAsync@com.ustadmobile.door.room.RoomDatabase(com.ustadmobile.door.PreparedStatementConfig;kotlin.coroutines.SuspendFunction1){0§}(kotlin.String;kotlin.Boolean;kotlin.Int;kotlin.Int;kotlin.String?;kotlin.Boolean){}trimMargin@kotlin.String(kotlin.String){}FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (_stmt:com.ustadmobile.door.jdbc.PreparedStatement) returnType:kotlin.Int [suspend]executeUpdateAsyncKmp@com.ustadmobile.door.jdbc.PreparedStatement(){}updateItemStatus(kotlin.Long;kotlin.Int){}updateItemStatusAndError(kotlin.Long;kotlin.Int;kotlin.String?){}FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (_stmt:com.ustadmobile.door.jdbc.PreparedStatement) returnType:kotlin.Int [suspend]updateItemStatusAndError(kotlin.Long;kotlin.Int;kotlin.String?){}updateErrorDismissed(kotlin.Long;kotlin.Boolean){}FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (_stmt:com.ustadmobile.door.jdbc.PreparedStatement) returnType:kotlin.Int [suspend]updateErrorDismissed(kotlin.Long;kotlin.Boolean){}updateItemProgress(kotlin.Long;kotlin.Long;kotlin.Long){}FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (_stmt:com.ustadmobile.door.jdbc.PreparedStatement) returnType:kotlin.Int [suspend]updateItemProgress(kotlin.Long;kotlin.Long;kotlin.Long){}findByUidAsync(kotlin.Long){}FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (_stmt:com.ustadmobile.door.jdbc.PreparedStatement) returnType:com.ustadmobile.lib.db.entities.ContentEntryImportJob? [suspend]useResults@com.ustadmobile.door.jdbc.ResultSet(kotlin.Function1){0§}executeQueryAsyncKmp@com.ustadmobile.door.jdbc.PreparedStatement(){}FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (_result:com.ustadmobile.door.jdbc.ResultSet) returnType:com.ustadmobile.lib.db.entities.ContentEntryImportJob?mapNextRow@com.ustadmobile.door.jdbc.ResultSet(0:0;kotlin.Function1){0§}FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:com.ustadmobile.door.jdbc.ResultSet) returnType:com.ustadmobile.lib.db.entities.ContentEntryImportJob?getLong(kotlin.String){}getString(kotlin.String){}getInt(kotlin.String){}getBoolean(kotlin.String){}apply@0:0(kotlin.Function1<0:0,kotlin.Unit>){0§}(kotlin.Long;kotlin.String?;kotlin.String?;kotlin.Long;kotlin.Long;kotlin.Long;kotlin.Long;kotlin.Long;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Long;kotlin.Long;kotlin.Long;kotlin.Boolean;kotlin.Int;kotlin.String?;kotlin.Boolean;kotlin.Long;kotlin.String?){}(){}FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:com.ustadmobile.lib.db.entities.ContentEntryImportJob) returnType:kotlin.Unit(kotlin.Long){}(kotlin.String?){}(kotlin.String?){}(kotlin.Long){}(kotlin.Long){}(kotlin.Long){}(kotlin.Long){}(kotlin.Long){}(kotlin.Int){}(kotlin.Int){}(kotlin.Int){}(kotlin.Long){}(kotlin.Long){}(kotlin.Long){}(kotlin.Boolean){}(kotlin.Int){}(kotlin.String?){}(kotlin.Boolean){}(kotlin.Long){}(kotlin.String?){}findByUidAsync(kotlin.Long){}findOwnerByUidAsync(kotlin.Long){}FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (_stmt:com.ustadmobile.door.jdbc.PreparedStatement) returnType:kotlin.Long [suspend]FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (_result:com.ustadmobile.door.jdbc.ResultSet) returnType:kotlin.LongFUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:com.ustadmobile.door.jdbc.ResultSet) returnType:kotlin.LonggetLong(kotlin.Int){}findOwnerByUidAsync(kotlin.Long){}findInProgressJobsByContentEntryUid(kotlin.Long){}doorFlow@com.ustadmobile.door.room.RoomDatabase(kotlin.Array;kotlin.coroutines.SuspendFunction0<0:0>){0§}arrayOf(kotlin.Array...){0§}FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> () returnType:kotlin.collections.List [suspend]FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (_stmt:com.ustadmobile.door.jdbc.PreparedStatement) returnType:kotlin.collections.List [suspend]FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (_result:com.ustadmobile.door.jdbc.ResultSet) returnType:kotlin.collections.ListmapRows@com.ustadmobile.door.jdbc.ResultSet(kotlin.Function1){0§}FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:com.ustadmobile.door.jdbc.ResultSet) returnType:com.ustadmobile.lib.db.composites.ContentEntryImportJobProgress(kotlin.Long;kotlin.Long;kotlin.Long;kotlin.Int;kotlin.String?;kotlin.Long){}FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:com.ustadmobile.lib.db.composites.ContentEntryImportJobProgress) returnType:kotlin.Unit(kotlin.Long){}(kotlin.Long){}(kotlin.Long){}(kotlin.Long){}(kotlin.Long){}(kotlin.Long){}(kotlin.Int){}(kotlin.Int){}(kotlin.String?){}(kotlin.String?){}(kotlin.Long){}(kotlin.Long){}findInProgressJobsByContentEntryUid(kotlin.Long){}findInProgressJobsByContentEntryUidAsync(kotlin.Long){}FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (_stmt:com.ustadmobile.door.jdbc.PreparedStatement) returnType:kotlin.collections.List [suspend]FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (_result:com.ustadmobile.door.jdbc.ResultSet) returnType:kotlin.collections.ListFUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:com.ustadmobile.door.jdbc.ResultSet) returnType:com.ustadmobile.lib.db.composites.ContentEntryImportJobProgressFUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> ($receiver:com.ustadmobile.lib.db.composites.ContentEntryImportJobProgress) returnType:kotlin.UnitfindInProgressJobsByContentEntryUidAsync(kotlin.Long){}ü„e Ø ²/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-new-tests-End-To-End-Tests/lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseGroupMemberDaoCommon.kt $%TŠ‹°±¹œÇ¦ûƒÒêÓŠÓû”œ´íÝ© û þ ¢ › õ ¦ í ¼‡ÖËŠ¶êóç­Îò’ÚŸÈãºá±šÅýºðá¬öø‹ìž²Äáþ ý!š"¸"ˆ#ç#Ý$ð$¦%®%¯%:**†*†*†*†     õœ„»š Ó±(     õœ„»š Ó±(   ŒÆ¤Ç†É¥Ö(2  *  ê¬ä˜Œäœã(    ÞâèÊꣶ›a(*  è—Ž‡ÊÇ“Ær(     Ø :G@$Ã*comustadmobilecoredbdaoCourseGroupMemberDaoCommonDEFINEDkotlinUnitAnyCASE_CLAZZ_UID_WHEN_NOT_ZERO_USEIT_ELSE_LOOKUP_CGS_UID_SQLPROPERTY_BACKING_FIELDString CASE(:clazzUid) WHEN 0 THEN (SELECT CourseGroupSet.cgsClazzUid FROM CourseGroupSet WHERE CourseGroupSet.cgsUid = :cgsUid) ELSE :clazzUid END DEFAULT_PROPERTY_ACCESSORNothingFIND_BY_COURSEGROUPSET_AND_CLAZZ_SQL --First get a list of all enrolments - this may contains duplicates for students who leave and re-enrol WITH AllEnrollmentsAndActiveStatus(enrolledPersonUid, isActive) AS (SELECT ClazzEnrolment.clazzEnrolmentPersonUid AS enrolledPersonUid, (:time BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft) AS isActive FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CASE(:clazzUid) WHEN 0 THEN (SELECT CourseGroupSet.cgsClazzUid FROM CourseGroupSet WHERE CourseGroupSet.cgsUid = :cgsUid) ELSE :clazzUid END AND ClazzEnrolment.clazzEnrolmentRole = 1000), --Consolidate and removes any duplicates EnrolledStudentPersonUids(enrolledPersonUid, isActive) AS (SELECT DISTINCT AllEnrollmentsAndActiveStatus.enrolledPersonUid, (SELECT CAST(AllEnrollmentsInner.isActive AS INTEGER) FROM AllEnrollmentsAndActiveStatus AllEnrollmentsInner WHERE AllEnrollmentsInner.enrolledPersonUid = AllEnrollmentsAndActiveStatus.enrolledPersonUid ORDER BY AllEnrollmentsInner.isActive DESC LIMIT 1) AS isActive FROM AllEnrollmentsAndActiveStatus) -- Now create a list with each students name, the coursegroupmember object if any and active status SELECT (Person.firstNames || ' ' || Person.lastName) AS name, Person.personUid, CourseGroupMember.*, PersonPicture.*, EnrolledStudentPersonUids.isActive AS enrolmentIsActive, PersonPicture.personPictureThumbnailUri AS pictureUri FROM EnrolledStudentPersonUids JOIN Person ON Person.personUid = EnrolledStudentPersonUids.enrolledPersonUid LEFT JOIN PersonPicture ON PersonPicture.personPictureUid = Person.personUid -- LEFT JOIN will use the most recent member in case of duplicate assignments eg if LEFT JOIN CourseGroupMember ON CourseGroupMember.cgmUid = (SELECT CourseGroupMember.cgmUid FROM CourseGroupMember WHERE CourseGroupMember.cgmPersonUid = EnrolledStudentPersonUids.enrolledPersonUid AND CourseGroupMember.cgmSetUid = :cgsUid ORDER BY CourseGroupMember.cgmLct DESC LIMIT 1) WHERE (:activeFilter = 0 OR :activeFilter = EnrolledStudentPersonUids.isActive) /* * Begin permission check - must have course view members permission, or active * user must be in the same group */ AND ( (( /* If the accountPersonUid is the owner of the course, all permissions are granted */ (COALESCE( (SELECT _Clazz_Permission.clazzOwnerPersonUid FROM Clazz _Clazz_Permission WHERE _Clazz_Permission.clazzUid = :clazzUid), 0) = :accountPersonUid) /* If there is a CoursePermission entity that is for the course as per the clazzUid parameter that is granted to the person directly or to the enrolmentRole that the person has in the course, then permission is granted. */ OR EXISTS(SELECT CoursePermission.cpUid FROM CoursePermission LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson ON CoursePermission.cpToEnrolmentRole != 0 AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = (SELECT COALESCE( (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = :accountPersonUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC LIMIT 1), 0)) WHERE CoursePermission.cpClazzUid = :clazzUid AND (CoursePermission.cpToPersonUid = :accountPersonUid OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) AND (CoursePermission.cpPermissionsFlag & 8192 ) > 0) OR EXISTS(SELECT SystemPermission.spUid FROM SystemPermission WHERE SystemPermission.spToPersonUid = :accountPersonUid AND (SystemPermission.spPermissionsFlag & 8192 ) > 0) ) ) OR EXISTS( SELECT 1 FROM CourseGroupMember _CourseGroupMemberForActivePerson WHERE _CourseGroupMemberForActivePerson.cgmPersonUid = :accountPersonUid AND _CourseGroupMemberForActivePerson.cgmGroupNumber = CourseGroupMember.cgmGroupNumber) ) ORDER BY Person.firstNames, Person.lastName ASC INSTANCE_RECEIVERöæã ç¡ Æ ‹ç¡ „*  ç¡ ‚€8*M:K Œµ„ †  ƒ  µ„ M"& $ €ù ˆ" ‹µ„ „8*R:P ŒâÞ· † ƒ âÞ· ˜"( & €þÛ· œ" ‹âÞ· „82ç7 = Bç¡"0 ç¡ Bç¡ ç¡ Šç¡ 2Pöáù"7 5ù/ 'š$€ r ƒ  ‚‹ùùù 2Páè·þÛ·"; 9þÛ·2 )š&€! r ƒ ‚‹þÛ·þÛ·þÛ·com.ustadmobile.core.db.dao‘ <‰D&.(){}(){}{}CASE_CLAZZ_UID_WHEN_NOT_ZERO_USEIT_ELSE_LOOKUP_CGS_UID_SQLFIELD PROPERTY_BACKING_FIELD name:CASE_CLAZZ_UID_WHEN_NOT_ZERO_USEIT_ELSE_LOOKUP_CGS_UID_SQL type:kotlin.String visibility:public [final](){}{}FIND_BY_COURSEGROUPSET_AND_CLAZZ_SQL(){}ØT' š Ã/home/jenkins/.jenkins/workspace/dev-simplified-onboarding-new-tests-End-To-End-Tests/lib-database/build/generated/ksp/js/jsMain/kotlin/com/ustadmobile/core/db/dao/StudentResultDao_DoorWrapper.ktR$%S‡ÕŠ ³Èçè“´Úó·å„³¹ê‰ŽÑ‰ºÞâã‘¥ÁÝ´ Þ ß ¤ Í Î ¡ £ ¸   **†*† *† *†*†,*†*"*†2*†0"*†8"* †<" *†T*†*"-*†f*†lÂ;          ô—ݳέôd(         õœ„»š Ó±(  Ô˜¼ÁöïËüý(2 *  °¢™……¤ÙÔ(      ÄïšâŒ¶•O(* ö»ë›å‚©œç(   œŠ¬ÿ½žø¶t(          !  "€©üçúŸ‡‡à(  #žà´áÚ«ß6(  $  %–¬¨Íö©›òo(  &   *뺫ÏÌÍë¤Q( !+·ž¦È­†óÓ(   -.»Êª§™ì¹¾‚(   œŠ¬ÿ½žø¶t(  1üÝý¶ôúÜâ©(    1üÝý¶ôúÜâ©(  3߈©“± Ê¥( 45   3߈©“± Ê¥(  9¤ä‡ÑЩ¾Ú9(    ;   9¤ä‡ÑЩ¾Ú9(  <ö礿š ù¼t(  =     <ö礿š ù¼t( ¯@  "         $  comustadmobilecoredbdaoStudentResultDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoStudentResultDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertListAsynclistcollectionsListlibentitiesStudentResult_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitsrLastModifiedEQutilsystemTimeInMillisLAMBDAGET_PROPERTYupsertAsyncstudentResultfindByClazzAndStudentcompositesStudentResultAndCourseBlockSourcedIdclazzUidstudentPersonUidaccountPersonUidfindUidBySourcedIdsourcedIdStringexistsByUidBooleansrUidINSTANCE_RECEIVER{kè Ƚ„  ‹t?Ƚ„ ‘*:8 6 ß¼„ †€2 „³‡ B2 „œš X8*M:K Œ³‡ ‚ ƒ³‡ B"& $ €ó† ‡" ‹ó† ‘8*M:K Œœš ‚  ƒœš X"& $ € Ü " ‹"Ü ‘8*?2= 7 €$¼€ –@Ê" ‹&»® ‘2 „(Ƈ é8€H*?2= 7 €JÈ –@‹ " ‹L‚Æ ‘2 „N¡ ¦ 8€P*c2a [ €R¾ú –@¥ " ‹V‘ý ‘2 „X¹ƒ@ ¾ 2 „ZéŒ@ ¿ 2 „\¹¤@ ê 8€^*?2= 7 €`ŒïA –@ë " ‹b‹ùA ‘2 „dÄD æ 8 €h*?2= 7 €j«½D –@ø " ‹n€æD ‘2 „p‹«D þ 8 €r2 5==Bõ‡bbȽ„". ܦ Bܦ Ƚ„ ŠȽ„ ‚„³‡ó†"7 5ó†/ 'š$€ r ƒ ‚‹ó†ó†ó† ‚„œšÜ"7 5Ü/ 'š$€  r ƒ ‚‹"ÜÜÜÄ‘"< :Æ„4 ,*€D#  ‚„@Ì€  €Fô† ,Æ„»Î"î ,Ç›&J$ ˆ.Ç› Õ €4"÷¤ rë¿l db€6] €:  ‚„(ᨠܩ7 5 -Š* & $ €>'¬” Ê2 „@¬” ã8/ ¬”"ë¿ J§®D <:€H5 ! €   ‚‹&ô¨ 0ô¨  ‚„(¥€§®ݤ"ˆ :±§4 ,*€D#  ‚„N³£  €F°® ,±§ J¥D <:€P5 ! €   ‚‹LôŠ 0ôŠ  ‚„N÷¡¥ýÁA"€ ~Ñ¢Ax pšm€Rh `^€^Y ! €   ‚‹Võ€A 0õ€A  ‚„XĉA  ‚„ZÄŽA  ‚„\ФA ’ÃAÑ¢A̘D"\ ZРDT LšI€`D <:€h5 ! €   ‚‹bäˆD 0äˆD  ‚„d †¡D÷DРDë„E"\ Z€ˆET LšI€jD <:€r5 ! €   ‚‹ná€E 0á€E  ‚„pæ‚EÜ„E€ˆEcom.ustadmobile.core.db.daoú] l Y!] ›##Y<<<<##(com.ustadmobile.door.room.RoomDatabase;com.ustadmobile.core.db.dao.StudentResultDao){}(){}{}_dbFIELD PROPERTY_BACKING_FIELD name:_db type:com.ustadmobile.door.room.RoomDatabase visibility:private [final](){}{}_dao(){}insertListAsync(kotlin.collections.List){}mutableListOf(){0§}forEach@kotlin.collections.Iterator<0:0>(kotlin.Function1<0:0,kotlin.Unit>){0§}iterator(){}FUN LOCAL_FUNCTION_FOR_LAMBDA name: visibility:local modality:FINAL <> (it:com.ustadmobile.lib.db.entities.StudentResult) returnType:kotlin.Unit(kotlin.Long){}(kotlin.Long){}systemTimeInMillis(){}insertListAsync(kotlin.collections.List){}upsertAsync(com.ustadmobile.lib.db.entities.StudentResult){}upsertAsync(com.ustadmobile.lib.db.entities.StudentResult){}findByClazzAndStudent(kotlin.Long;kotlin.Long;kotlin.Long){}findByClazzAndStudent(kotlin.Long;kotlin.Long;kotlin.Long){}findUidBySourcedId(kotlin.String){}findUidBySourcedId(kotlin.String){}existsByUid(kotlin.Long){}existsByUid(kotlin.Long){}